From fbbe1be791dc8fb5a4d7fab58c847e23f5e68a3e Mon Sep 17 00:00:00 2001 From: vikingowl Date: Fri, 27 Mar 2026 10:03:40 +0100 Subject: [PATCH] feat: transform Rust grammar to Rune grammar Strip type system (generics, lifetimes, trait bounds, type annotations), ownership/unsafe/extern rules, macro definitions, labels, shebang, and simplify declarations (fn, struct, enum, let, closure) for Rune's dynamically-typed model. Rename scanner symbols from rust to rune. --- grammar.js | 941 +- src/grammar.json | 4518 +++++ src/node-types.json | 2864 +++ src/parser.c | 37421 +++++++++++++++++++++++++++++++++++++ src/scanner.c | 10 +- src/tree_sitter/alloc.h | 54 + src/tree_sitter/array.h | 330 + src/tree_sitter/parser.h | 286 + 8 files changed, 45531 insertions(+), 893 deletions(-) create mode 100644 src/grammar.json create mode 100644 src/node-types.json create mode 100644 src/parser.c create mode 100644 src/tree_sitter/alloc.h create mode 100644 src/tree_sitter/array.h create mode 100644 src/tree_sitter/parser.h diff --git a/grammar.js b/grammar.js index d91bc03..fbde615 100644 --- a/grammar.js +++ b/grammar.js @@ -1,21 +1,15 @@ /** - * @file Rust grammar for tree-sitter - * @author Maxim Sokolov - * @author Max Brunsfeld - * @author Amaan Qureshi + * @file Rune grammar for tree-sitter * @license MIT */ /// // @ts-check -// https://doc.rust-lang.org/reference/expressions.html#expression-precedence const PREC = { call: 15, field: 14, - try: 13, unary: 12, - cast: 11, multiplicative: 10, additive: 9, shift: 8, @@ -30,35 +24,8 @@ const PREC = { closure: -1, }; -const numericTypes = [ - 'u8', - 'i8', - 'u16', - 'i16', - 'u32', - 'i32', - 'u64', - 'i64', - 'u128', - 'i128', - 'isize', - 'usize', - 'f32', - 'f64', -]; - -// https://doc.rust-lang.org/reference/tokens.html#punctuation -const TOKEN_TREE_NON_SPECIAL_PUNCTUATION = [ - '+', '-', '*', '/', '%', '^', '!', '&', '|', '&&', '||', '<<', - '>>', '+=', '-=', '*=', '/=', '%=', '^=', '&=', '|=', '<<=', - '>>=', '=', '==', '!=', '>', '<', '>=', '<=', '@', '_', '.', - '..', '...', '..=', ',', ';', ':', '::', '->', '=>', '#', '?', -]; - -const primitiveTypes = numericTypes.concat(['bool', 'str', 'char']); - module.exports = grammar({ - name: 'rust', + name: 'rune', extras: $ => [ /\s/, @@ -81,9 +48,7 @@ module.exports = grammar({ supertypes: $ => [ $._expression, - $._type, $._literal, - $._literal_pattern, $._declaration_statement, $._pattern, ], @@ -91,35 +56,21 @@ module.exports = grammar({ inline: $ => [ $._path, $._type_identifier, - $._tokens, $._field_identifier, - $._non_special_token, $._declaration_statement, - $._reserved_identifier, $._expression_ending_with_block, ], conflicts: $ => [ - // Local ambiguity due to anonymous types: - // See https://internals.rust-lang.org/t/pre-rfc-deprecating-anonymous-parameters/3710 - [$._type, $._pattern], - [$.unit_type, $.tuple_pattern], - [$.scoped_identifier, $.scoped_type_identifier], - [$.parameters, $._pattern], - [$.parameters, $.tuple_struct_pattern], [$.array_expression], - [$.visibility_modifier], - [$.visibility_modifier, $.scoped_identifier, $.scoped_type_identifier], - [$.foreign_mod_item, $.function_modifiers], + [$.struct_expression, $._expression_except_range], + [$.closure_parameters, $._pattern], ], word: $ => $.identifier, rules: { - source_file: $ => seq( - optional($.shebang), - repeat($._statement), - ), + source_file: $ => repeat($._statement), _statement: $ => choice( $.expression_statement, @@ -134,114 +85,16 @@ module.exports = grammar({ ), _declaration_statement: $ => choice( - $.const_item, $.macro_invocation, - $.macro_definition, $.empty_statement, $.attribute_item, $.inner_attribute_item, $.mod_item, - $.foreign_mod_item, $.struct_item, - $.union_item, $.enum_item, - $.type_item, $.function_item, - $.function_signature_item, - $.impl_item, - $.trait_item, - $.associated_type, $.let_declaration, $.use_declaration, - $.extern_crate_declaration, - $.static_item, - ), - - // Section - Macro definitions - - macro_definition: $ => { - const rules = seq( - repeat(seq($.macro_rule, ';')), - optional($.macro_rule), - ); - - return seq( - 'macro_rules!', - field('name', choice( - $.identifier, - $._reserved_identifier, - )), - choice( - seq('(', rules, ')', ';'), - seq('[', rules, ']', ';'), - seq('{', rules, '}'), - ), - ); - }, - - macro_rule: $ => seq( - field('left', $.token_tree_pattern), - '=>', - field('right', $.token_tree), - ), - - _token_pattern: $ => choice( - $.token_tree_pattern, - $.token_repetition_pattern, - $.token_binding_pattern, - $.metavariable, - $._non_special_token, - ), - - token_tree_pattern: $ => choice( - seq('(', repeat($._token_pattern), ')'), - seq('[', repeat($._token_pattern), ']'), - seq('{', repeat($._token_pattern), '}'), - ), - - token_binding_pattern: $ => prec(1, seq( - field('name', $.metavariable), - ':', - field('type', $.fragment_specifier), - )), - - token_repetition_pattern: $ => seq( - '$', '(', repeat($._token_pattern), ')', optional(/[^+*?]+/), choice('+', '*', '?'), - ), - - fragment_specifier: _ => choice( - 'block', 'expr', 'expr_2021', 'ident', 'item', 'lifetime', 'literal', 'meta', 'pat', - 'pat_param', 'path', 'stmt', 'tt', 'ty', 'vis', - ), - - _tokens: $ => choice( - $.token_tree, - $.token_repetition, - $.metavariable, - $._non_special_token, - ), - - token_tree: $ => choice( - seq('(', repeat($._tokens), ')'), - seq('[', repeat($._tokens), ']'), - seq('{', repeat($._tokens), '}'), - ), - - token_repetition: $ => seq( - '$', '(', repeat($._tokens), ')', optional(/[^+*?]+/), choice('+', '*', '?'), - ), - - // Matches non-delimiter tokens common to both macro invocations and - // definitions. This is everything except $ and metavariables (which begin - // with $). - _non_special_token: $ => choice( - $._literal, $.identifier, $.mutable_specifier, $.self, $.super, $.crate, - alias(choice(...primitiveTypes), $.primitive_type), - prec.right(repeat1(choice(...TOKEN_TREE_NON_SPECIAL_PUNCTUATION))), - '\'', - 'as', 'async', 'await', 'break', 'const', 'continue', 'default', 'enum', 'fn', 'for', 'gen', - 'if', 'impl', 'let', 'loop', 'match', 'mod', 'pub', 'return', 'static', 'struct', 'trait', - 'type', 'union', 'unsafe', 'use', 'where', 'while', ), // Section - Declarations @@ -265,7 +118,7 @@ module.exports = grammar({ $._path, optional(choice( seq('=', field('value', $._expression)), - field('arguments', alias($.delim_token_tree, $.token_tree)), + field('arguments', $.arguments), )), ), @@ -279,15 +132,6 @@ module.exports = grammar({ ), ), - foreign_mod_item: $ => seq( - optional('unsafe'), - $.extern_modifier, - choice( - ';', - field('body', $.declaration_list), - ), - ), - declaration_list: $ => seq( '{', repeat($._declaration_statement), @@ -298,36 +142,17 @@ module.exports = grammar({ optional($.visibility_modifier), 'struct', field('name', $._type_identifier), - field('type_parameters', optional($.type_parameters)), choice( - seq( - optional($.where_clause), - field('body', $.field_declaration_list), - ), - seq( - field('body', $.ordered_field_declaration_list), - optional($.where_clause), - ';', - ), + field('body', $.field_declaration_list), + seq(field('body', $.ordered_field_declaration_list), ';'), ';', ), ), - union_item: $ => seq( - optional($.visibility_modifier), - 'union', - field('name', $._type_identifier), - field('type_parameters', optional($.type_parameters)), - optional($.where_clause), - field('body', $.field_declaration_list), - ), - enum_item: $ => seq( optional($.visibility_modifier), 'enum', field('name', $._type_identifier), - field('type_parameters', optional($.type_parameters)), - optional($.where_clause), field('body', $.enum_variant_list), ), @@ -341,279 +166,39 @@ module.exports = grammar({ enum_variant: $ => seq( optional($.visibility_modifier), field('name', $.identifier), - field('body', optional(choice( - $.field_declaration_list, - $.ordered_field_declaration_list, - ))), - optional(seq( - '=', - field('value', $._expression), + optional(choice( + field('body', $.ordered_field_declaration_list), + field('body', $.field_declaration_list), )), ), field_declaration_list: $ => seq( '{', - sepBy(',', seq(repeat($.attribute_item), $.field_declaration)), + sepBy(',', seq(optional($.visibility_modifier), $._field_identifier)), optional(','), '}', ), - field_declaration: $ => seq( - optional($.visibility_modifier), - field('name', $._field_identifier), - ':', - field('type', $._type), - ), - ordered_field_declaration_list: $ => seq( '(', - sepBy(',', seq( - repeat($.attribute_item), - optional($.visibility_modifier), - field('type', $._type), - )), + sepBy(',', seq(optional($.visibility_modifier), $.identifier)), optional(','), ')', ), - extern_crate_declaration: $ => seq( - optional($.visibility_modifier), - 'extern', - $.crate, - field('name', $.identifier), - optional(seq( - 'as', - field('alias', $.identifier), - )), - ';', - ), - - const_item: $ => seq( - optional($.visibility_modifier), - 'const', - field('name', $.identifier), - ':', - field('type', $._type), - optional( - seq( - '=', - field('value', $._expression), - ), - ), - ';', - ), - - static_item: $ => seq( - optional($.visibility_modifier), - 'static', - - // Not actual rust syntax, but made popular by the lazy_static crate. - optional('ref'), - - optional($.mutable_specifier), - field('name', $.identifier), - ':', - field('type', $._type), - optional(seq( - '=', - field('value', $._expression), - )), - ';', - ), - - type_item: $ => seq( - optional($.visibility_modifier), - 'type', - field('name', $._type_identifier), - field('type_parameters', optional($.type_parameters)), - optional($.where_clause), - '=', - field('type', $._type), - optional($.where_clause), - ';', - ), - function_item: $ => seq( optional($.visibility_modifier), - optional($.function_modifiers), + optional('async'), 'fn', - field('name', choice($.identifier, $.metavariable)), - field('type_parameters', optional($.type_parameters)), + field('name', $.identifier), field('parameters', $.parameters), - optional(seq('->', field('return_type', $._type))), - optional($.where_clause), field('body', $.block), ), - function_signature_item: $ => seq( - optional($.visibility_modifier), - optional($.function_modifiers), - 'fn', - field('name', choice($.identifier, $.metavariable)), - field('type_parameters', optional($.type_parameters)), - field('parameters', $.parameters), - optional(seq('->', field('return_type', $._type))), - optional($.where_clause), - ';', - ), - - function_modifiers: $ => repeat1(choice( - 'async', - 'default', - 'const', - 'unsafe', - $.extern_modifier, - )), - - where_clause: $ => prec.right(seq( - 'where', - optional(seq( - sepBy1(',', $.where_predicate), - optional(','), - )), - )), - - where_predicate: $ => seq( - field('left', choice( - $.lifetime, - $._type_identifier, - $.scoped_type_identifier, - $.generic_type, - $.reference_type, - $.pointer_type, - $.tuple_type, - $.array_type, - $.higher_ranked_trait_bound, - alias(choice(...primitiveTypes), $.primitive_type), - )), - field('bounds', $.trait_bounds), - ), - - impl_item: $ => seq( - optional('unsafe'), - 'impl', - field('type_parameters', optional($.type_parameters)), - optional(seq( - optional('!'), - field('trait', choice( - $._type_identifier, - $.scoped_type_identifier, - $.generic_type, - )), - 'for', - )), - field('type', $._type), - optional($.where_clause), - choice(field('body', $.declaration_list), ';'), - ), - - trait_item: $ => seq( - optional($.visibility_modifier), - optional('unsafe'), - 'trait', - field('name', $._type_identifier), - field('type_parameters', optional($.type_parameters)), - field('bounds', optional($.trait_bounds)), - optional($.where_clause), - field('body', $.declaration_list), - ), - - associated_type: $ => seq( - 'type', - field('name', $._type_identifier), - field('type_parameters', optional($.type_parameters)), - field('bounds', optional($.trait_bounds)), - optional($.where_clause), - ';', - ), - - trait_bounds: $ => seq( - ':', - sepBy1('+', choice( - $._type, - $.lifetime, - $.higher_ranked_trait_bound, - )), - ), - - higher_ranked_trait_bound: $ => seq( - 'for', - field('type_parameters', $.type_parameters), - field('type', $._type), - ), - - removed_trait_bound: $ => seq( - '?', - $._type, - ), - - type_parameters: $ => prec(1, seq( - '<', - sepBy1(',', seq( - repeat($.attribute_item), - choice( - $.metavariable, - $.type_parameter, - $.lifetime_parameter, - $.const_parameter, - ), - )), - optional(','), - '>', - )), - - const_parameter: $ => seq( - 'const', - field('name', $.identifier), - ':', - field('type', $._type), - optional( - seq( - '=', - field('value', - choice( - $.block, - $.identifier, - $._literal, - $.negative_literal, - ), - ), - ), - ), - ), - - type_parameter: $ => prec(1, seq( - field('name', $._type_identifier), - optional(field('bounds', $.trait_bounds)), - optional( - seq( - '=', - field('default_type', $._type), - ), - ), - )), - - lifetime_parameter: $ => prec(1, seq( - field('name', $.lifetime), - optional(field('bounds', $.trait_bounds)), - )), - let_declaration: $ => seq( 'let', - optional($.mutable_specifier), field('pattern', $._pattern), - optional(seq( - ':', - field('type', $._type), - )), - optional(seq( - '=', - field('value', $._expression), - )), - optional(seq( - 'else', - field('alternative', $.block), - )), + optional(seq('=', field('value', $._expression))), ';', ), @@ -660,50 +245,11 @@ module.exports = grammar({ parameters: $ => seq( '(', - sepBy(',', seq( - optional($.attribute_item), - choice( - $.parameter, - $.self_parameter, - $.variadic_parameter, - '_', - $._type, - ))), + sepBy(',', seq(optional($.attribute_item), $.identifier)), optional(','), ')', ), - self_parameter: $ => seq( - optional('&'), - optional($.lifetime), - optional($.mutable_specifier), - $.self, - ), - - variadic_parameter: $ => seq( - optional($.mutable_specifier), - optional(seq( - field('pattern', $._pattern), - ':', - )), - '...', - ), - - parameter: $ => seq( - optional($.mutable_specifier), - field('pattern', choice( - $._pattern, - $.self, - )), - ':', - field('type', $._type), - ), - - extern_modifier: $ => seq( - 'extern', - optional($.string_literal), - ), - visibility_modifier: $ => choice( $.crate, seq( @@ -721,238 +267,38 @@ module.exports = grammar({ ), ), - // Section - Types - - _type: $ => choice( - $.abstract_type, - $.reference_type, - $.metavariable, - $.pointer_type, - $.generic_type, - $.scoped_type_identifier, - $.tuple_type, - $.unit_type, - $.array_type, - $.function_type, - $._type_identifier, - $.macro_invocation, - $.never_type, - $.dynamic_type, - $.bounded_type, - $.removed_trait_bound, - alias(choice(...primitiveTypes), $.primitive_type), - ), - - bracketed_type: $ => seq( - '<', - choice( - $._type, - $.qualified_type, - ), - '>', - ), - - qualified_type: $ => seq( - field('type', $._type), - 'as', - field('alias', $._type), - ), - - lifetime: $ => prec(1, seq('\'', $.identifier)), - - array_type: $ => seq( - '[', - field('element', $._type), - optional(seq( - ';', - field('length', $._expression), - )), - ']', - ), - - for_lifetimes: $ => seq( - 'for', - '<', - sepBy1(',', $.lifetime), - optional(','), - '>', - ), - - function_type: $ => seq( - optional($.for_lifetimes), - prec(PREC.call, seq( - choice( - field('trait', choice( - $._type_identifier, - $.scoped_type_identifier, - )), - seq( - optional($.function_modifiers), - 'fn', - ), - ), - field('parameters', $.parameters), - )), - optional(seq('->', field('return_type', $._type))), - ), - - tuple_type: $ => seq( - '(', - sepBy1(',', $._type), - optional(','), - ')', - ), - - unit_type: _ => seq('(', ')'), - - generic_function: $ => prec(1, seq( - field('function', choice( - $.identifier, - $.scoped_identifier, - $.field_expression, - )), - '::', - field('type_arguments', $.type_arguments), - )), - - generic_type: $ => prec(1, seq( - field('type', choice( - $._type_identifier, - $._reserved_identifier, - $.scoped_type_identifier, - )), - field('type_arguments', $.type_arguments), - )), - - generic_type_with_turbofish: $ => seq( - field('type', choice( - $._type_identifier, - $.scoped_identifier, - )), - '::', - field('type_arguments', $.type_arguments), - ), - - bounded_type: $ => prec.left(-1, seq( - choice($.lifetime, $._type, $.use_bounds), - '+', - choice($.lifetime, $._type, $.use_bounds), - )), - - use_bounds: $ => seq( - 'use', - token(prec(1, '<')), - sepBy( - ',', - choice( - $.lifetime, - $._type_identifier, - ), - ), - optional(','), - '>', - ), - - type_arguments: $ => seq( - token(prec(1, '<')), - sepBy1(',', seq( - choice( - $._type, - $.type_binding, - $.lifetime, - $._literal, - $.block, - ), - optional($.trait_bounds), - )), - optional(','), - '>', - ), - - type_binding: $ => seq( - field('name', $._type_identifier), - field('type_arguments', optional($.type_arguments)), - '=', - field('type', $._type), - ), - - reference_type: $ => seq( - '&', - optional($.lifetime), - optional($.mutable_specifier), - field('type', $._type), - ), - - pointer_type: $ => seq( - '*', - choice('const', $.mutable_specifier), - field('type', $._type), - ), - - never_type: _ => '!', - - abstract_type: $ => seq( - 'impl', - optional(seq('for', $.type_parameters)), - field('trait', prec(1, choice( - $._type_identifier, - $.scoped_type_identifier, - $.removed_trait_bound, - $.generic_type, - $.function_type, - $.tuple_type, - $.bounded_type, - ))), - ), - - dynamic_type: $ => seq( - 'dyn', - field('trait', choice( - $.higher_ranked_trait_bound, - $._type_identifier, - $.scoped_type_identifier, - $.generic_type, - $.function_type, - $.tuple_type, - )), - ), - - mutable_specifier: _ => 'mut', - // Section - Expressions _expression_except_range: $ => choice( $.unary_expression, - $.reference_expression, - $.try_expression, $.binary_expression, $.assignment_expression, $.compound_assignment_expr, - $.type_cast_expression, - $.call_expression, $.return_expression, $.yield_expression, - $._literal, - prec.left($.identifier), - alias(choice(...primitiveTypes), $.identifier), - prec.left($._reserved_identifier), - $.self, - $.scoped_identifier, - $.generic_function, - $.await_expression, - $.field_expression, + $.call_expression, $.array_expression, + $.parenthesized_expression, $.tuple_expression, - prec(1, $.macro_invocation), - $.unit_expression, + $.struct_expression, + $.if_expression, + $.match_expression, + $.while_expression, + $.loop_expression, + $.for_expression, + $.closure_expression, $.break_expression, $.continue_expression, $.index_expression, - $.metavariable, - $.closure_expression, - $.parenthesized_expression, - $.struct_expression, - $._expression_ending_with_block, + $.await_expression, + $.field_expression, + $.async_block, + $.block, + $._literal, + prec.left($.identifier), + $.self, + $.scoped_identifier, + prec(1, $.macro_invocation), ), _expression: $ => choice( @@ -961,76 +307,27 @@ module.exports = grammar({ ), _expression_ending_with_block: $ => choice( - $.unsafe_block, $.async_block, - $.gen_block, - $.try_block, $.block, $.if_expression, $.match_expression, $.while_expression, $.loop_expression, $.for_expression, - $.const_block, ), macro_invocation: $ => seq( - field('macro', choice( - $.scoped_identifier, - $.identifier, - $._reserved_identifier, - )), + field('macro', choice($.identifier, $.scoped_identifier)), '!', - alias($.delim_token_tree, $.token_tree), - ), - - delim_token_tree: $ => choice( - seq('(', repeat($._delim_tokens), ')'), - seq('[', repeat($._delim_tokens), ']'), - seq('{', repeat($._delim_tokens), '}'), - ), - - _delim_tokens: $ => choice( - $._non_delim_token, - alias($.delim_token_tree, $.token_tree), - ), - - // Should match any token other than a delimiter. - _non_delim_token: $ => choice( - $._non_special_token, - '$', + field('arguments', $.arguments), ), scoped_identifier: $ => seq( - field('path', optional(choice( - $._path, - $.bracketed_type, - alias($.generic_type_with_turbofish, $.generic_type), - ))), + field('path', optional($._path)), '::', field('name', choice($.identifier, $.super)), ), - scoped_type_identifier_in_expression_position: $ => prec(-2, seq( - field('path', optional(choice( - $._path, - alias($.generic_type_with_turbofish, $.generic_type), - ))), - '::', - field('name', $._type_identifier), - )), - - scoped_type_identifier: $ => seq( - field('path', optional(choice( - $._path, - alias($.generic_type_with_turbofish, $.generic_type), - $.bracketed_type, - $.generic_type, - ))), - '::', - field('name', $._type_identifier), - ), - range_expression: $ => prec.left(PREC.range, choice( seq($._expression, choice('..', '...', '..='), $._expression), seq($._expression, '..'), @@ -1038,24 +335,7 @@ module.exports = grammar({ '..', )), - unary_expression: $ => prec(PREC.unary, seq( - choice('-', '*', '!'), - $._expression, - )), - - try_expression: $ => prec(PREC.try, seq( - $._expression, - '?', - )), - - reference_expression: $ => prec(PREC.unary, seq( - '&', - choice( - seq('raw', choice('const', $.mutable_specifier)), - optional($.mutable_specifier), - ), - field('value', $._expression), - )), + unary_expression: $ => prec(PREC.unary, seq(choice('-', '!'), $._expression)), binary_expression: $ => { const table = [ @@ -1091,12 +371,6 @@ module.exports = grammar({ field('right', $._expression), )), - type_cast_expression: $ => prec.left(PREC.cast, seq( - field('value', $._expression), - 'as', - field('type', $._type), - )), - return_expression: $ => choice( prec.left(seq('return', $._expression)), prec(-1, 'return'), @@ -1156,8 +430,7 @@ module.exports = grammar({ struct_expression: $ => seq( field('name', choice( $._type_identifier, - alias($.scoped_type_identifier_in_expression_position, $.scoped_type_identifier), - $.generic_type_with_turbofish, + $.scoped_identifier, )), field('body', $.field_initializer_list), ), @@ -1265,20 +538,17 @@ module.exports = grammar({ ), while_expression: $ => seq( - optional(seq($.label, ':')), 'while', field('condition', $._condition), field('body', $.block), ), loop_expression: $ => seq( - optional(seq($.label, ':')), 'loop', field('body', $.block), ), for_expression: $ => seq( - optional(seq($.label, ':')), 'for', field('pattern', $._pattern), 'in', @@ -1286,39 +556,24 @@ module.exports = grammar({ field('body', $.block), ), - const_block: $ => seq( - 'const', - field('body', $.block), - ), - closure_expression: $ => prec(PREC.closure, seq( - optional('static'), optional('async'), - optional('move'), field('parameters', $.closure_parameters), choice( - seq( - optional(seq('->', field('return_type', $._type))), - field('body', $.block), - ), - field('body', choice($._expression, '_')), + field('body', $._expression), + field('body', $.block), ), )), closure_parameters: $ => seq( '|', - sepBy(',', choice( - $._pattern, - $.parameter, - )), + sepBy(',', $.identifier), '|', ), - label: $ => seq('\'', $.identifier), + break_expression: $ => prec.left(seq('break', optional($._expression))), - break_expression: $ => prec.left(seq('break', optional($.label), optional($._expression))), - - continue_expression: $ => prec.left(seq('continue', optional($.label))), + continue_expression: _ => prec.left('continue'), index_expression: $ => prec(PREC.call, seq($._expression, '[', $._expression, ']')), @@ -1337,30 +592,12 @@ module.exports = grammar({ )), )), - unsafe_block: $ => seq( - 'unsafe', - $.block, - ), - async_block: $ => seq( 'async', - optional('move'), - $.block, - ), - - gen_block: $ => seq( - 'gen', - optional('move'), - $.block, - ), - - try_block: $ => seq( - 'try', $.block, ), block: $ => seq( - optional(seq($.label, ':')), '{', repeat($._statement), optional($._expression), @@ -1371,36 +608,19 @@ module.exports = grammar({ _pattern: $ => choice( $._literal_pattern, - alias(choice(...primitiveTypes), $.identifier), $.identifier, $.scoped_identifier, - $.generic_pattern, $.tuple_pattern, $.tuple_struct_pattern, $.struct_pattern, - $._reserved_identifier, - $.ref_pattern, $.slice_pattern, $.captured_pattern, - $.reference_pattern, $.remaining_field_pattern, - $.mut_pattern, $.range_pattern, $.or_pattern, - $.const_block, - $.macro_invocation, '_', ), - generic_pattern: $ => seq( - choice( - $.identifier, - $.scoped_identifier, - ), - '::', - field('type_arguments', $.type_arguments), - ), - tuple_pattern: $ => seq( '(', sepBy(',', choice($._pattern, $.closure_expression)), @@ -1419,7 +639,6 @@ module.exports = grammar({ field('type', choice( $.identifier, $.scoped_identifier, - alias($.generic_type_with_turbofish, $.generic_type), )), '(', sepBy(',', $._pattern), @@ -1430,7 +649,7 @@ module.exports = grammar({ struct_pattern: $ => seq( field('type', choice( $._type_identifier, - $.scoped_type_identifier, + $.scoped_identifier, )), '{', sepBy(',', choice($.field_pattern, $.remaining_field_pattern)), @@ -1438,26 +657,17 @@ module.exports = grammar({ '}', ), - field_pattern: $ => seq( - optional('ref'), - optional($.mutable_specifier), - choice( - field('name', alias($.identifier, $.shorthand_field_identifier)), - seq( - field('name', $._field_identifier), - ':', - field('pattern', $._pattern), - ), + field_pattern: $ => choice( + field('name', alias($.identifier, $.shorthand_field_identifier)), + seq( + field('name', $._field_identifier), + ':', + field('pattern', $._pattern), ), ), remaining_field_pattern: _ => '..', - mut_pattern: $ => prec(-1, seq( - $.mutable_specifier, - $._pattern, - )), - range_pattern: $ => choice( seq( field('left', choice( @@ -1484,23 +694,12 @@ module.exports = grammar({ ), ), - ref_pattern: $ => seq( - 'ref', - $._pattern, - ), - captured_pattern: $ => seq( $.identifier, '@', $._pattern, ), - reference_pattern: $ => seq( - '&', - optional($.mutable_specifier), - $._pattern, - ), - or_pattern: $ => prec.left(-2, choice( seq($._pattern, '|', $._pattern), seq('|', $._pattern), @@ -1510,7 +709,6 @@ module.exports = grammar({ _literal: $ => choice( $.string_literal, - $.raw_string_literal, $.char_literal, $.boolean_literal, $.integer_literal, @@ -1519,7 +717,6 @@ module.exports = grammar({ _literal_pattern: $ => choice( $.string_literal, - $.raw_string_literal, $.char_literal, $.boolean_literal, $.integer_literal, @@ -1536,13 +733,12 @@ module.exports = grammar({ /0b[01_]+/, /0o[0-7_]+/, ), - optional(choice(...numericTypes)), )), string_literal: $ => seq( choice( '"', - alias(/[bc]"/, '"'), + alias(/b"/, '"'), ), repeat(choice( $.escape_sequence, @@ -1551,12 +747,6 @@ module.exports = grammar({ '"', ), - raw_string_literal: $ => seq( - $._raw_string_literal_start, - alias($.raw_string_literal_content, $.string_content), - $._raw_string_literal_end, - ), - char_literal: _ => token(seq( optional('b'), '\'', @@ -1590,25 +780,16 @@ module.exports = grammar({ ), line_comment: $ => seq( - // All line comments start with two // '//', - // Then are followed by: - // - 2 or more slashes making it a regular comment - // - 1 slash or 1 or more bang operators making it a doc comment - // - or just content for the comment choice( - // A tricky edge case where what looks like a doc comment is not seq(token.immediate(prec(2, /\/\//)), /.*/), - // A regular doc comment seq($._line_doc_comment_marker, field('doc', alias($._line_doc_content, $.doc_comment))), token.immediate(prec(1, /.*/)), ), ), _line_doc_comment_marker: $ => choice( - // An outer line doc comment applies to the element that it is outside of field('outer', alias($._outer_line_doc_comment_marker, $.outer_doc_comment_marker)), - // An inner line doc comment applies to the element it is inside of field('inner', alias($._inner_line_doc_comment_marker, $.inner_doc_comment_marker)), ), @@ -1619,12 +800,10 @@ module.exports = grammar({ '/*', optional( choice( - // Documentation block comments: /** docs */ or /*! docs */ seq( $._block_doc_comment_marker, optional(field('doc', alias($._block_comment_content, $.doc_comment))), ), - // Non-doc block comments $._block_comment_content, ), ), @@ -1638,34 +817,20 @@ module.exports = grammar({ _path: $ => choice( $.self, - alias(choice(...primitiveTypes), $.identifier), - $.metavariable, $.super, $.crate, $.identifier, $.scoped_identifier, - $._reserved_identifier, ), identifier: _ => /(r#)?[_\p{XID_Start}][_\p{XID_Continue}]*/, - shebang: _ => /#![\r\f\t\v ]*([^\[\n].*)?\n/, - - _reserved_identifier: $ => alias(choice( - 'default', - 'union', - 'gen', - 'raw', - ), $.identifier), - _type_identifier: $ => alias($.identifier, $.type_identifier), _field_identifier: $ => alias($.identifier, $.field_identifier), self: _ => 'self', super: _ => 'super', crate: _ => 'crate', - - metavariable: _ => /\$[a-zA-Z_]\w*/, }, }); diff --git a/src/grammar.json b/src/grammar.json new file mode 100644 index 0000000..549bd51 --- /dev/null +++ b/src/grammar.json @@ -0,0 +1,4518 @@ +{ + "$schema": "https://tree-sitter.github.io/tree-sitter/assets/schemas/grammar.schema.json", + "name": "rune", + "word": "identifier", + "rules": { + "source_file": { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_statement" + } + }, + "_statement": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression_statement" + }, + { + "type": "SYMBOL", + "name": "_declaration_statement" + } + ] + }, + "empty_statement": { + "type": "STRING", + "value": ";" + }, + "expression_statement": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + { + "type": "PREC", + "value": 1, + "content": { + "type": "SYMBOL", + "name": "_expression_ending_with_block" + } + } + ] + }, + "_declaration_statement": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "macro_invocation" + }, + { + "type": "SYMBOL", + "name": "empty_statement" + }, + { + "type": "SYMBOL", + "name": "attribute_item" + }, + { + "type": "SYMBOL", + "name": "inner_attribute_item" + }, + { + "type": "SYMBOL", + "name": "mod_item" + }, + { + "type": "SYMBOL", + "name": "struct_item" + }, + { + "type": "SYMBOL", + "name": "enum_item" + }, + { + "type": "SYMBOL", + "name": "function_item" + }, + { + "type": "SYMBOL", + "name": "let_declaration" + }, + { + "type": "SYMBOL", + "name": "use_declaration" + } + ] + }, + "attribute_item": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "#" + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "attribute" + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "inner_attribute_item": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "#" + }, + { + "type": "STRING", + "value": "!" + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "attribute" + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "attribute": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_path" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "SYMBOL", + "name": "arguments" + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "mod_item": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "visibility_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "mod" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "declaration_list" + } + } + ] + } + ] + }, + "declaration_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_declaration_statement" + } + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "struct_item": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "visibility_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "struct" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "field_declaration_list" + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "ordered_field_declaration_list" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + } + ] + }, + "enum_item": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "visibility_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "enum" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_type_identifier" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "enum_variant_list" + } + } + ] + }, + "enum_variant_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_item" + } + }, + { + "type": "SYMBOL", + "name": "enum_variant" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_item" + } + }, + { + "type": "SYMBOL", + "name": "enum_variant" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "enum_variant": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "visibility_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "ordered_field_declaration_list" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "field_declaration_list" + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "field_declaration_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "visibility_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_field_identifier" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "visibility_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "_field_identifier" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "ordered_field_declaration_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "visibility_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "visibility_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "function_item": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "visibility_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "async" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "fn" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameters" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "block" + } + } + ] + }, + "let_declaration": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "let" + }, + { + "type": "FIELD", + "name": "pattern", + "content": { + "type": "SYMBOL", + "name": "_pattern" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "use_declaration": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "visibility_modifier" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "use" + }, + { + "type": "FIELD", + "name": "argument", + "content": { + "type": "SYMBOL", + "name": "_use_clause" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "_use_clause": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_path" + }, + { + "type": "SYMBOL", + "name": "use_as_clause" + }, + { + "type": "SYMBOL", + "name": "use_list" + }, + { + "type": "SYMBOL", + "name": "scoped_use_list" + }, + { + "type": "SYMBOL", + "name": "use_wildcard" + } + ] + }, + "scoped_use_list": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "path", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_path" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "::" + }, + { + "type": "FIELD", + "name": "list", + "content": { + "type": "SYMBOL", + "name": "use_list" + } + } + ] + }, + "use_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_use_clause" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_use_clause" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "use_as_clause": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "path", + "content": { + "type": "SYMBOL", + "name": "_path" + } + }, + { + "type": "STRING", + "value": "as" + }, + { + "type": "FIELD", + "name": "alias", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + } + ] + }, + "use_wildcard": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_path" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "::" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "*" + } + ] + }, + "parameters": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_item" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_item" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "visibility_modifier": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "crate" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "pub" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "self" + }, + { + "type": "SYMBOL", + "name": "super" + }, + { + "type": "SYMBOL", + "name": "crate" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "in" + }, + { + "type": "SYMBOL", + "name": "_path" + } + ] + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + } + ] + }, + "_expression_except_range": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "unary_expression" + }, + { + "type": "SYMBOL", + "name": "binary_expression" + }, + { + "type": "SYMBOL", + "name": "assignment_expression" + }, + { + "type": "SYMBOL", + "name": "compound_assignment_expr" + }, + { + "type": "SYMBOL", + "name": "return_expression" + }, + { + "type": "SYMBOL", + "name": "yield_expression" + }, + { + "type": "SYMBOL", + "name": "call_expression" + }, + { + "type": "SYMBOL", + "name": "array_expression" + }, + { + "type": "SYMBOL", + "name": "parenthesized_expression" + }, + { + "type": "SYMBOL", + "name": "tuple_expression" + }, + { + "type": "SYMBOL", + "name": "struct_expression" + }, + { + "type": "SYMBOL", + "name": "if_expression" + }, + { + "type": "SYMBOL", + "name": "match_expression" + }, + { + "type": "SYMBOL", + "name": "while_expression" + }, + { + "type": "SYMBOL", + "name": "loop_expression" + }, + { + "type": "SYMBOL", + "name": "for_expression" + }, + { + "type": "SYMBOL", + "name": "closure_expression" + }, + { + "type": "SYMBOL", + "name": "break_expression" + }, + { + "type": "SYMBOL", + "name": "continue_expression" + }, + { + "type": "SYMBOL", + "name": "index_expression" + }, + { + "type": "SYMBOL", + "name": "await_expression" + }, + { + "type": "SYMBOL", + "name": "field_expression" + }, + { + "type": "SYMBOL", + "name": "async_block" + }, + { + "type": "SYMBOL", + "name": "block" + }, + { + "type": "SYMBOL", + "name": "_literal" + }, + { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "SYMBOL", + "name": "self" + }, + { + "type": "SYMBOL", + "name": "scoped_identifier" + }, + { + "type": "PREC", + "value": 1, + "content": { + "type": "SYMBOL", + "name": "macro_invocation" + } + } + ] + }, + "_expression": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expression_except_range" + }, + { + "type": "SYMBOL", + "name": "range_expression" + } + ] + }, + "_expression_ending_with_block": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "async_block" + }, + { + "type": "SYMBOL", + "name": "block" + }, + { + "type": "SYMBOL", + "name": "if_expression" + }, + { + "type": "SYMBOL", + "name": "match_expression" + }, + { + "type": "SYMBOL", + "name": "while_expression" + }, + { + "type": "SYMBOL", + "name": "loop_expression" + }, + { + "type": "SYMBOL", + "name": "for_expression" + } + ] + }, + "macro_invocation": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "macro", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "scoped_identifier" + } + ] + } + }, + { + "type": "STRING", + "value": "!" + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "SYMBOL", + "name": "arguments" + } + } + ] + }, + "scoped_identifier": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "path", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_path" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "::" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "super" + } + ] + } + } + ] + }, + "range_expression": { + "type": "PREC_LEFT", + "value": 1, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": ".." + }, + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "..=" + } + ] + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "STRING", + "value": ".." + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ".." + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + }, + { + "type": "STRING", + "value": ".." + } + ] + } + }, + "unary_expression": { + "type": "PREC", + "value": 12, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "STRING", + "value": "!" + } + ] + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + } + }, + "binary_expression": { + "type": "CHOICE", + "members": [ + { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&&" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "||" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 7, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "&" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 5, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "|" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 6, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "STRING", + "value": "^" + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 4, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "==" + }, + { + "type": "STRING", + "value": "!=" + }, + { + "type": "STRING", + "value": "<" + }, + { + "type": "STRING", + "value": "<=" + }, + { + "type": "STRING", + "value": ">" + }, + { + "type": "STRING", + "value": ">=" + } + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 8, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "<<" + }, + { + "type": "STRING", + "value": ">>" + } + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 9, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "+" + }, + { + "type": "STRING", + "value": "-" + } + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, + { + "type": "PREC_LEFT", + "value": 10, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "*" + }, + { + "type": "STRING", + "value": "/" + }, + { + "type": "STRING", + "value": "%" + } + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + } + ] + }, + "assignment_expression": { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, + "compound_assignment_expr": { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "operator", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "+=" + }, + { + "type": "STRING", + "value": "-=" + }, + { + "type": "STRING", + "value": "*=" + }, + { + "type": "STRING", + "value": "/=" + }, + { + "type": "STRING", + "value": "%=" + }, + { + "type": "STRING", + "value": "&=" + }, + { + "type": "STRING", + "value": "|=" + }, + { + "type": "STRING", + "value": "^=" + }, + { + "type": "STRING", + "value": "<<=" + }, + { + "type": "STRING", + "value": ">>=" + } + ] + } + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + } + }, + "return_expression": { + "type": "CHOICE", + "members": [ + { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "return" + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + } + }, + { + "type": "PREC", + "value": -1, + "content": { + "type": "STRING", + "value": "return" + } + } + ] + }, + "yield_expression": { + "type": "CHOICE", + "members": [ + { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "yield" + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + } + }, + { + "type": "PREC", + "value": -1, + "content": { + "type": "STRING", + "value": "yield" + } + } + ] + }, + "call_expression": { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "function", + "content": { + "type": "SYMBOL", + "name": "_expression_except_range" + } + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "SYMBOL", + "name": "arguments" + } + } + ] + } + }, + "arguments": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_item" + } + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_item" + } + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "array_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_item" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "length", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_item" + } + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_item" + } + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "parenthesized_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "tuple_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_item" + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "STRING", + "value": "," + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "STRING", + "value": "," + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "unit_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "struct_expression": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_type_identifier" + }, + { + "type": "SYMBOL", + "name": "scoped_identifier" + } + ] + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "field_initializer_list" + } + } + ] + }, + "field_initializer_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "shorthand_field_initializer" + }, + { + "type": "SYMBOL", + "name": "field_initializer" + }, + { + "type": "SYMBOL", + "name": "base_field_initializer" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "shorthand_field_initializer" + }, + { + "type": "SYMBOL", + "name": "field_initializer" + }, + { + "type": "SYMBOL", + "name": "base_field_initializer" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "shorthand_field_initializer": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_item" + } + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + "field_initializer": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "attribute_item" + } + }, + { + "type": "FIELD", + "name": "field", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_field_identifier" + }, + { + "type": "SYMBOL", + "name": "integer_literal" + } + ] + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + }, + "base_field_initializer": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ".." + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + }, + "if_expression": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_condition" + } + }, + { + "type": "FIELD", + "name": "consequence", + "content": { + "type": "SYMBOL", + "name": "block" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "alternative", + "content": { + "type": "SYMBOL", + "name": "else_clause" + } + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "let_condition": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "let" + }, + { + "type": "FIELD", + "name": "pattern", + "content": { + "type": "SYMBOL", + "name": "_pattern" + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + } + ] + }, + "_let_chain": { + "type": "PREC_LEFT", + "value": 3, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_let_chain" + }, + { + "type": "STRING", + "value": "&&" + }, + { + "type": "SYMBOL", + "name": "let_condition" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_let_chain" + }, + { + "type": "STRING", + "value": "&&" + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "let_condition" + }, + { + "type": "STRING", + "value": "&&" + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "let_condition" + }, + { + "type": "STRING", + "value": "&&" + }, + { + "type": "SYMBOL", + "name": "let_condition" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "STRING", + "value": "&&" + }, + { + "type": "SYMBOL", + "name": "let_condition" + } + ] + } + ] + } + }, + "_condition": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "SYMBOL", + "name": "let_condition" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_let_chain" + }, + "named": true, + "value": "let_chain" + } + ] + }, + "else_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "else" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "block" + }, + { + "type": "SYMBOL", + "name": "if_expression" + } + ] + } + ] + }, + "match_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "match" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "match_block" + } + } + ] + }, + "match_block": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "match_arm" + } + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "last_match_arm" + }, + "named": true, + "value": "match_arm" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "match_arm": { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_item" + }, + { + "type": "SYMBOL", + "name": "inner_attribute_item" + } + ] + } + }, + { + "type": "FIELD", + "name": "pattern", + "content": { + "type": "SYMBOL", + "name": "match_pattern" + } + }, + { + "type": "STRING", + "value": "=>" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "STRING", + "value": "," + } + ] + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "PREC", + "value": 1, + "content": { + "type": "SYMBOL", + "name": "_expression_ending_with_block" + } + } + } + ] + } + ] + } + }, + "last_match_arm": { + "type": "SEQ", + "members": [ + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_item" + }, + { + "type": "SYMBOL", + "name": "inner_attribute_item" + } + ] + } + }, + { + "type": "FIELD", + "name": "pattern", + "content": { + "type": "SYMBOL", + "name": "match_pattern" + } + }, + { + "type": "STRING", + "value": "=>" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "match_pattern": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_pattern" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_condition" + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "while_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "while" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_condition" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "block" + } + } + ] + }, + "loop_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "loop" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "block" + } + } + ] + }, + "for_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "for" + }, + { + "type": "FIELD", + "name": "pattern", + "content": { + "type": "SYMBOL", + "name": "_pattern" + } + }, + { + "type": "STRING", + "value": "in" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "block" + } + } + ] + }, + "closure_expression": { + "type": "PREC", + "value": -1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "async" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "closure_parameters" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "block" + } + } + ] + } + ] + } + }, + "closure_parameters": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "|" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "|" + } + ] + }, + "break_expression": { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "break" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "BLANK" + } + ] + } + ] + } + }, + "continue_expression": { + "type": "PREC_LEFT", + "value": 0, + "content": { + "type": "STRING", + "value": "continue" + } + }, + "index_expression": { + "type": "PREC", + "value": 15, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "STRING", + "value": "]" + } + ] + } + }, + "await_expression": { + "type": "PREC", + "value": 14, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "STRING", + "value": "await" + } + ] + } + }, + "field_expression": { + "type": "PREC", + "value": 14, + "content": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "STRING", + "value": "." + }, + { + "type": "FIELD", + "name": "field", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_field_identifier" + }, + { + "type": "SYMBOL", + "name": "integer_literal" + } + ] + } + } + ] + } + }, + "async_block": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "async" + }, + { + "type": "SYMBOL", + "name": "block" + } + ] + }, + "block": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_statement" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "_pattern": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_literal_pattern" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "scoped_identifier" + }, + { + "type": "SYMBOL", + "name": "tuple_pattern" + }, + { + "type": "SYMBOL", + "name": "tuple_struct_pattern" + }, + { + "type": "SYMBOL", + "name": "struct_pattern" + }, + { + "type": "SYMBOL", + "name": "slice_pattern" + }, + { + "type": "SYMBOL", + "name": "captured_pattern" + }, + { + "type": "SYMBOL", + "name": "remaining_field_pattern" + }, + { + "type": "SYMBOL", + "name": "range_pattern" + }, + { + "type": "SYMBOL", + "name": "or_pattern" + }, + { + "type": "STRING", + "value": "_" + } + ] + }, + "tuple_pattern": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_pattern" + }, + { + "type": "SYMBOL", + "name": "closure_expression" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_pattern" + }, + { + "type": "SYMBOL", + "name": "closure_expression" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "slice_pattern": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_pattern" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_pattern" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "tuple_struct_pattern": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "type", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "scoped_identifier" + } + ] + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_pattern" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_pattern" + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "struct_pattern": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "type", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_type_identifier" + }, + { + "type": "SYMBOL", + "name": "scoped_identifier" + } + ] + } + }, + { + "type": "STRING", + "value": "{" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "field_pattern" + }, + { + "type": "SYMBOL", + "name": "remaining_field_pattern" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "field_pattern" + }, + { + "type": "SYMBOL", + "name": "remaining_field_pattern" + } + ] + } + ] + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "field_pattern": { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "identifier" + }, + "named": true, + "value": "shorthand_field_identifier" + } + }, + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "_field_identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "pattern", + "content": { + "type": "SYMBOL", + "name": "_pattern" + } + } + ] + } + ] + }, + "remaining_field_pattern": { + "type": "STRING", + "value": ".." + }, + "range_pattern": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "left", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_literal_pattern" + }, + { + "type": "SYMBOL", + "name": "_path" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "..." + }, + { + "type": "STRING", + "value": "..=" + }, + { + "type": "STRING", + "value": ".." + } + ] + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_literal_pattern" + }, + { + "type": "SYMBOL", + "name": "_path" + } + ] + } + } + ] + }, + { + "type": "STRING", + "value": ".." + } + ] + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "..=" + }, + { + "type": "STRING", + "value": ".." + } + ] + }, + { + "type": "FIELD", + "name": "right", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_literal_pattern" + }, + { + "type": "SYMBOL", + "name": "_path" + } + ] + } + } + ] + } + ] + }, + "captured_pattern": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "@" + }, + { + "type": "SYMBOL", + "name": "_pattern" + } + ] + }, + "or_pattern": { + "type": "PREC_LEFT", + "value": -2, + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_pattern" + }, + { + "type": "STRING", + "value": "|" + }, + { + "type": "SYMBOL", + "name": "_pattern" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "|" + }, + { + "type": "SYMBOL", + "name": "_pattern" + } + ] + } + ] + } + }, + "_literal": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "char_literal" + }, + { + "type": "SYMBOL", + "name": "boolean_literal" + }, + { + "type": "SYMBOL", + "name": "integer_literal" + }, + { + "type": "SYMBOL", + "name": "float_literal" + } + ] + }, + "_literal_pattern": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "string_literal" + }, + { + "type": "SYMBOL", + "name": "char_literal" + }, + { + "type": "SYMBOL", + "name": "boolean_literal" + }, + { + "type": "SYMBOL", + "name": "integer_literal" + }, + { + "type": "SYMBOL", + "name": "float_literal" + }, + { + "type": "SYMBOL", + "name": "negative_literal" + } + ] + }, + "negative_literal": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "-" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "integer_literal" + }, + { + "type": "SYMBOL", + "name": "float_literal" + } + ] + } + ] + }, + "integer_literal": { + "type": "TOKEN", + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[0-9][0-9_]*" + }, + { + "type": "PATTERN", + "value": "0x[0-9a-fA-F_]+" + }, + { + "type": "PATTERN", + "value": "0b[01_]+" + }, + { + "type": "PATTERN", + "value": "0o[0-7_]+" + } + ] + } + ] + } + }, + "string_literal": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "\"" + }, + { + "type": "ALIAS", + "content": { + "type": "PATTERN", + "value": "b\"" + }, + "named": false, + "value": "\"" + } + ] + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "escape_sequence" + }, + { + "type": "SYMBOL", + "name": "string_content" + } + ] + } + }, + { + "type": "STRING", + "value": "\"" + } + ] + }, + "char_literal": { + "type": "TOKEN", + "content": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "b" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "'" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "\\" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[^xu]" + }, + { + "type": "PATTERN", + "value": "u[0-9a-fA-F]{4}" + }, + { + "type": "PATTERN", + "value": "u\\{[0-9a-fA-F]+\\}" + }, + { + "type": "PATTERN", + "value": "x[0-9a-fA-F]{2}" + } + ] + } + ] + }, + { + "type": "PATTERN", + "value": "[^\\\\']" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "'" + } + ] + } + }, + "escape_sequence": { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "\\" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[^xu]" + }, + { + "type": "PATTERN", + "value": "u[0-9a-fA-F]{4}" + }, + { + "type": "PATTERN", + "value": "u\\{[0-9a-fA-F]+\\}" + }, + { + "type": "PATTERN", + "value": "x[0-9a-fA-F]{2}" + } + ] + } + ] + } + }, + "boolean_literal": { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "true" + }, + { + "type": "STRING", + "value": "false" + } + ] + }, + "comment": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "line_comment" + }, + { + "type": "SYMBOL", + "name": "block_comment" + } + ] + }, + "line_comment": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "//" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PREC", + "value": 2, + "content": { + "type": "PATTERN", + "value": "\\/\\/" + } + } + }, + { + "type": "PATTERN", + "value": ".*" + } + ] + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_line_doc_comment_marker" + }, + { + "type": "FIELD", + "name": "doc", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_line_doc_content" + }, + "named": true, + "value": "doc_comment" + } + } + ] + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PREC", + "value": 1, + "content": { + "type": "PATTERN", + "value": ".*" + } + } + } + ] + } + ] + }, + "_line_doc_comment_marker": { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "outer", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_outer_line_doc_comment_marker" + }, + "named": true, + "value": "outer_doc_comment_marker" + } + }, + { + "type": "FIELD", + "name": "inner", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_inner_line_doc_comment_marker" + }, + "named": true, + "value": "inner_doc_comment_marker" + } + } + ] + }, + "_inner_line_doc_comment_marker": { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PREC", + "value": 2, + "content": { + "type": "STRING", + "value": "!" + } + } + }, + "_outer_line_doc_comment_marker": { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PREC", + "value": 2, + "content": { + "type": "STRING", + "value": "/" + } + } + }, + "block_comment": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "/*" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_block_doc_comment_marker" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "doc", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_block_comment_content" + }, + "named": true, + "value": "doc_comment" + } + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "SYMBOL", + "name": "_block_comment_content" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "*/" + } + ] + }, + "_block_doc_comment_marker": { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "outer", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_outer_block_doc_comment_marker" + }, + "named": true, + "value": "outer_doc_comment_marker" + } + }, + { + "type": "FIELD", + "name": "inner", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_inner_block_doc_comment_marker" + }, + "named": true, + "value": "inner_doc_comment_marker" + } + } + ] + }, + "_path": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "self" + }, + { + "type": "SYMBOL", + "name": "super" + }, + { + "type": "SYMBOL", + "name": "crate" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "scoped_identifier" + } + ] + }, + "identifier": { + "type": "PATTERN", + "value": "(r#)?[_\\p{XID_Start}][_\\p{XID_Continue}]*" + }, + "_type_identifier": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "identifier" + }, + "named": true, + "value": "type_identifier" + }, + "_field_identifier": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "identifier" + }, + "named": true, + "value": "field_identifier" + }, + "self": { + "type": "STRING", + "value": "self" + }, + "super": { + "type": "STRING", + "value": "super" + }, + "crate": { + "type": "STRING", + "value": "crate" + } + }, + "extras": [ + { + "type": "PATTERN", + "value": "\\s" + }, + { + "type": "SYMBOL", + "name": "line_comment" + }, + { + "type": "SYMBOL", + "name": "block_comment" + } + ], + "conflicts": [ + [ + "array_expression" + ], + [ + "struct_expression", + "_expression_except_range" + ], + [ + "closure_parameters", + "_pattern" + ] + ], + "precedences": [], + "externals": [ + { + "type": "SYMBOL", + "name": "string_content" + }, + { + "type": "SYMBOL", + "name": "_raw_string_literal_start" + }, + { + "type": "SYMBOL", + "name": "raw_string_literal_content" + }, + { + "type": "SYMBOL", + "name": "_raw_string_literal_end" + }, + { + "type": "SYMBOL", + "name": "float_literal" + }, + { + "type": "SYMBOL", + "name": "_outer_block_doc_comment_marker" + }, + { + "type": "SYMBOL", + "name": "_inner_block_doc_comment_marker" + }, + { + "type": "SYMBOL", + "name": "_block_comment_content" + }, + { + "type": "SYMBOL", + "name": "_line_doc_content" + }, + { + "type": "SYMBOL", + "name": "_error_sentinel" + } + ], + "inline": [ + "_path", + "_type_identifier", + "_field_identifier", + "_declaration_statement", + "_expression_ending_with_block" + ], + "supertypes": [ + "_expression", + "_literal", + "_declaration_statement", + "_pattern" + ], + "reserved": {} +} \ No newline at end of file diff --git a/src/node-types.json b/src/node-types.json new file mode 100644 index 0000000..20f592f --- /dev/null +++ b/src/node-types.json @@ -0,0 +1,2864 @@ +[ + { + "type": "_declaration_statement", + "named": true, + "subtypes": [ + { + "type": "attribute_item", + "named": true + }, + { + "type": "empty_statement", + "named": true + }, + { + "type": "enum_item", + "named": true + }, + { + "type": "function_item", + "named": true + }, + { + "type": "inner_attribute_item", + "named": true + }, + { + "type": "let_declaration", + "named": true + }, + { + "type": "macro_invocation", + "named": true + }, + { + "type": "mod_item", + "named": true + }, + { + "type": "struct_item", + "named": true + }, + { + "type": "use_declaration", + "named": true + } + ] + }, + { + "type": "_expression", + "named": true, + "subtypes": [ + { + "type": "_literal", + "named": true + }, + { + "type": "array_expression", + "named": true + }, + { + "type": "assignment_expression", + "named": true + }, + { + "type": "async_block", + "named": true + }, + { + "type": "await_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "break_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "closure_expression", + "named": true + }, + { + "type": "compound_assignment_expr", + "named": true + }, + { + "type": "continue_expression", + "named": true + }, + { + "type": "field_expression", + "named": true + }, + { + "type": "for_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "index_expression", + "named": true + }, + { + "type": "loop_expression", + "named": true + }, + { + "type": "macro_invocation", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "range_expression", + "named": true + }, + { + "type": "return_expression", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "self", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "tuple_expression", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "while_expression", + "named": true + }, + { + "type": "yield_expression", + "named": true + } + ] + }, + { + "type": "_literal", + "named": true, + "subtypes": [ + { + "type": "boolean_literal", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "integer_literal", + "named": true + }, + { + "type": "string_literal", + "named": true + } + ] + }, + { + "type": "_pattern", + "named": true, + "subtypes": [ + { + "type": "_", + "named": false + }, + { + "type": "boolean_literal", + "named": true + }, + { + "type": "captured_pattern", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "integer_literal", + "named": true + }, + { + "type": "negative_literal", + "named": true + }, + { + "type": "or_pattern", + "named": true + }, + { + "type": "range_pattern", + "named": true + }, + { + "type": "remaining_field_pattern", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "slice_pattern", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "struct_pattern", + "named": true + }, + { + "type": "tuple_pattern", + "named": true + }, + { + "type": "tuple_struct_pattern", + "named": true + } + ] + }, + { + "type": "arguments", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + }, + { + "type": "attribute_item", + "named": true + } + ] + } + }, + { + "type": "array_expression", + "named": true, + "fields": { + "length": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + }, + { + "type": "attribute_item", + "named": true + } + ] + } + }, + { + "type": "assignment_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + } + }, + { + "type": "async_block", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + } + ] + } + }, + { + "type": "attribute", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": false, + "types": [ + { + "type": "arguments", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "crate", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "self", + "named": true + }, + { + "type": "super", + "named": true + } + ] + } + }, + { + "type": "attribute_item", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "attribute", + "named": true + } + ] + } + }, + { + "type": "await_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + { + "type": "base_field_initializer", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + { + "type": "binary_expression", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "!=", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "||", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + } + }, + { + "type": "block", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_declaration_statement", + "named": true + }, + { + "type": "_expression", + "named": true + }, + { + "type": "expression_statement", + "named": true + } + ] + } + }, + { + "type": "block_comment", + "named": true, + "extra": true, + "fields": { + "doc": { + "multiple": false, + "required": false, + "types": [ + { + "type": "doc_comment", + "named": true + } + ] + }, + "inner": { + "multiple": false, + "required": false, + "types": [ + { + "type": "inner_doc_comment_marker", + "named": true + } + ] + }, + "outer": { + "multiple": false, + "required": false, + "types": [ + { + "type": "outer_doc_comment_marker", + "named": true + } + ] + } + } + }, + { + "type": "boolean_literal", + "named": true, + "fields": {} + }, + { + "type": "break_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + { + "type": "call_expression", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "arguments", + "named": true + } + ] + }, + "function": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_literal", + "named": true + }, + { + "type": "array_expression", + "named": true + }, + { + "type": "assignment_expression", + "named": true + }, + { + "type": "async_block", + "named": true + }, + { + "type": "await_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "block", + "named": true + }, + { + "type": "break_expression", + "named": true + }, + { + "type": "call_expression", + "named": true + }, + { + "type": "closure_expression", + "named": true + }, + { + "type": "compound_assignment_expr", + "named": true + }, + { + "type": "continue_expression", + "named": true + }, + { + "type": "field_expression", + "named": true + }, + { + "type": "for_expression", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if_expression", + "named": true + }, + { + "type": "index_expression", + "named": true + }, + { + "type": "loop_expression", + "named": true + }, + { + "type": "macro_invocation", + "named": true + }, + { + "type": "match_expression", + "named": true + }, + { + "type": "parenthesized_expression", + "named": true + }, + { + "type": "return_expression", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "self", + "named": true + }, + { + "type": "struct_expression", + "named": true + }, + { + "type": "tuple_expression", + "named": true + }, + { + "type": "unary_expression", + "named": true + }, + { + "type": "while_expression", + "named": true + }, + { + "type": "yield_expression", + "named": true + } + ] + } + } + }, + { + "type": "captured_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_pattern", + "named": true + } + ] + } + }, + { + "type": "closure_expression", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "closure_parameters", + "named": true + } + ] + } + } + }, + { + "type": "closure_parameters", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "compound_assignment_expr", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + }, + "operator": { + "multiple": false, + "required": true, + "types": [ + { + "type": "%=", + "named": false + }, + { + "type": "&=", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": "<<=", + "named": false + }, + { + "type": ">>=", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "|=", + "named": false + } + ] + }, + "right": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + } + }, + { + "type": "continue_expression", + "named": true, + "fields": {} + }, + { + "type": "declaration_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_declaration_statement", + "named": true + } + ] + } + }, + { + "type": "else_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + }, + { + "type": "if_expression", + "named": true + } + ] + } + }, + { + "type": "empty_statement", + "named": true, + "fields": {} + }, + { + "type": "enum_item", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "enum_variant_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "visibility_modifier", + "named": true + } + ] + } + }, + { + "type": "enum_variant", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_declaration_list", + "named": true + }, + { + "type": "ordered_field_declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "visibility_modifier", + "named": true + } + ] + } + }, + { + "type": "enum_variant_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_item", + "named": true + }, + { + "type": "enum_variant", + "named": true + } + ] + } + }, + { + "type": "expression_statement", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + { + "type": "field_declaration_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "field_identifier", + "named": true + }, + { + "type": "visibility_modifier", + "named": true + } + ] + } + }, + { + "type": "field_expression", + "named": true, + "fields": { + "field": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + }, + { + "type": "integer_literal", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + } + }, + { + "type": "field_initializer", + "named": true, + "fields": { + "field": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + }, + { + "type": "integer_literal", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_item", + "named": true + } + ] + } + }, + { + "type": "field_initializer_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "base_field_initializer", + "named": true + }, + { + "type": "field_initializer", + "named": true + }, + { + "type": "shorthand_field_initializer", + "named": true + } + ] + } + }, + { + "type": "field_pattern", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_identifier", + "named": true + }, + { + "type": "shorthand_field_identifier", + "named": true + } + ] + }, + "pattern": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_pattern", + "named": true + } + ] + } + } + }, + { + "type": "for_expression", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + } + ] + }, + "pattern": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_pattern", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + } + }, + { + "type": "function_item", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameters", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "visibility_modifier", + "named": true + } + ] + } + }, + { + "type": "if_expression", + "named": true, + "fields": { + "alternative": { + "multiple": false, + "required": false, + "types": [ + { + "type": "else_clause", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + }, + { + "type": "let_chain", + "named": true + }, + { + "type": "let_condition", + "named": true + } + ] + }, + "consequence": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + } + ] + } + } + }, + { + "type": "index_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + { + "type": "inner_attribute_item", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "attribute", + "named": true + } + ] + } + }, + { + "type": "inner_doc_comment_marker", + "named": true, + "fields": {} + }, + { + "type": "let_chain", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + }, + { + "type": "let_condition", + "named": true + } + ] + } + }, + { + "type": "let_condition", + "named": true, + "fields": { + "pattern": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_pattern", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + } + }, + { + "type": "let_declaration", + "named": true, + "fields": { + "pattern": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_pattern", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + } + }, + { + "type": "line_comment", + "named": true, + "extra": true, + "fields": { + "doc": { + "multiple": false, + "required": false, + "types": [ + { + "type": "doc_comment", + "named": true + } + ] + }, + "inner": { + "multiple": false, + "required": false, + "types": [ + { + "type": "inner_doc_comment_marker", + "named": true + } + ] + }, + "outer": { + "multiple": false, + "required": false, + "types": [ + { + "type": "outer_doc_comment_marker", + "named": true + } + ] + } + } + }, + { + "type": "loop_expression", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + } + ] + } + } + }, + { + "type": "macro_invocation", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "arguments", + "named": true + } + ] + }, + "macro": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + } + ] + } + } + }, + { + "type": "match_arm", + "named": true, + "fields": { + "pattern": { + "multiple": false, + "required": true, + "types": [ + { + "type": "match_pattern", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_item", + "named": true + }, + { + "type": "inner_attribute_item", + "named": true + } + ] + } + }, + { + "type": "match_block", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "match_arm", + "named": true + } + ] + } + }, + { + "type": "match_expression", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "match_block", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + } + }, + { + "type": "match_pattern", + "named": true, + "fields": { + "condition": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + }, + { + "type": "let_chain", + "named": true + }, + { + "type": "let_condition", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_pattern", + "named": true + } + ] + } + }, + { + "type": "mod_item", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "visibility_modifier", + "named": true + } + ] + } + }, + { + "type": "negative_literal", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "float_literal", + "named": true + }, + { + "type": "integer_literal", + "named": true + } + ] + } + }, + { + "type": "or_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_pattern", + "named": true + } + ] + } + }, + { + "type": "ordered_field_declaration_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "visibility_modifier", + "named": true + } + ] + } + }, + { + "type": "outer_doc_comment_marker", + "named": true, + "fields": {} + }, + { + "type": "parameters", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_item", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "parenthesized_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + { + "type": "range_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + { + "type": "range_pattern", + "named": true, + "fields": { + "left": { + "multiple": false, + "required": false, + "types": [ + { + "type": "boolean_literal", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "crate", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "integer_literal", + "named": true + }, + { + "type": "negative_literal", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "self", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "super", + "named": true + } + ] + }, + "right": { + "multiple": false, + "required": false, + "types": [ + { + "type": "boolean_literal", + "named": true + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "crate", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "integer_literal", + "named": true + }, + { + "type": "negative_literal", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "self", + "named": true + }, + { + "type": "string_literal", + "named": true + }, + { + "type": "super", + "named": true + } + ] + } + } + }, + { + "type": "remaining_field_pattern", + "named": true, + "fields": {} + }, + { + "type": "return_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + { + "type": "scoped_identifier", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "super", + "named": true + } + ] + }, + "path": { + "multiple": false, + "required": false, + "types": [ + { + "type": "crate", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "self", + "named": true + }, + { + "type": "super", + "named": true + } + ] + } + } + }, + { + "type": "scoped_use_list", + "named": true, + "fields": { + "list": { + "multiple": false, + "required": true, + "types": [ + { + "type": "use_list", + "named": true + } + ] + }, + "path": { + "multiple": false, + "required": false, + "types": [ + { + "type": "crate", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "self", + "named": true + }, + { + "type": "super", + "named": true + } + ] + } + } + }, + { + "type": "shorthand_field_initializer", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute_item", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "slice_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_pattern", + "named": true + } + ] + } + }, + { + "type": "source_file", + "named": true, + "root": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_declaration_statement", + "named": true + }, + { + "type": "expression_statement", + "named": true + } + ] + } + }, + { + "type": "string_literal", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "escape_sequence", + "named": true + }, + { + "type": "string_content", + "named": true + } + ] + } + }, + { + "type": "struct_expression", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "field_initializer_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "struct_item", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": false, + "types": [ + { + "type": "field_declaration_list", + "named": true + }, + { + "type": "ordered_field_declaration_list", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "visibility_modifier", + "named": true + } + ] + } + }, + { + "type": "struct_pattern", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "field_pattern", + "named": true + }, + { + "type": "remaining_field_pattern", + "named": true + } + ] + } + }, + { + "type": "tuple_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + }, + { + "type": "attribute_item", + "named": true + } + ] + } + }, + { + "type": "tuple_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_pattern", + "named": true + }, + { + "type": "closure_expression", + "named": true + } + ] + } + }, + { + "type": "tuple_struct_pattern", + "named": true, + "fields": { + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "_pattern", + "named": true + } + ] + } + }, + { + "type": "unary_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + { + "type": "use_as_clause", + "named": true, + "fields": { + "alias": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "path": { + "multiple": false, + "required": true, + "types": [ + { + "type": "crate", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "self", + "named": true + }, + { + "type": "super", + "named": true + } + ] + } + } + }, + { + "type": "use_declaration", + "named": true, + "fields": { + "argument": { + "multiple": false, + "required": true, + "types": [ + { + "type": "crate", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "scoped_use_list", + "named": true + }, + { + "type": "self", + "named": true + }, + { + "type": "super", + "named": true + }, + { + "type": "use_as_clause", + "named": true + }, + { + "type": "use_list", + "named": true + }, + { + "type": "use_wildcard", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "visibility_modifier", + "named": true + } + ] + } + }, + { + "type": "use_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "crate", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "scoped_use_list", + "named": true + }, + { + "type": "self", + "named": true + }, + { + "type": "super", + "named": true + }, + { + "type": "use_as_clause", + "named": true + }, + { + "type": "use_list", + "named": true + }, + { + "type": "use_wildcard", + "named": true + } + ] + } + }, + { + "type": "use_wildcard", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "crate", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "self", + "named": true + }, + { + "type": "super", + "named": true + } + ] + } + }, + { + "type": "visibility_modifier", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "crate", + "named": true + }, + { + "type": "identifier", + "named": true + }, + { + "type": "scoped_identifier", + "named": true + }, + { + "type": "self", + "named": true + }, + { + "type": "super", + "named": true + } + ] + } + }, + { + "type": "while_expression", + "named": true, + "fields": { + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "block", + "named": true + } + ] + }, + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "_expression", + "named": true + }, + { + "type": "let_chain", + "named": true + }, + { + "type": "let_condition", + "named": true + } + ] + } + } + }, + { + "type": "yield_expression", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "_expression", + "named": true + } + ] + } + }, + { + "type": "!", + "named": false + }, + { + "type": "!=", + "named": false + }, + { + "type": "\"", + "named": false + }, + { + "type": "#", + "named": false + }, + { + "type": "%", + "named": false + }, + { + "type": "%=", + "named": false + }, + { + "type": "&", + "named": false + }, + { + "type": "&&", + "named": false + }, + { + "type": "&=", + "named": false + }, + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "*", + "named": false + }, + { + "type": "*/", + "named": false + }, + { + "type": "*=", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": "+=", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "-=", + "named": false + }, + { + "type": ".", + "named": false + }, + { + "type": "..", + "named": false + }, + { + "type": "...", + "named": false + }, + { + "type": "..=", + "named": false + }, + { + "type": "/", + "named": false + }, + { + "type": "/*", + "named": false + }, + { + "type": "//", + "named": false + }, + { + "type": "/=", + "named": false + }, + { + "type": ":", + "named": false + }, + { + "type": "::", + "named": false + }, + { + "type": ";", + "named": false + }, + { + "type": "<", + "named": false + }, + { + "type": "<<", + "named": false + }, + { + "type": "<<=", + "named": false + }, + { + "type": "<=", + "named": false + }, + { + "type": "=", + "named": false + }, + { + "type": "==", + "named": false + }, + { + "type": "=>", + "named": false + }, + { + "type": ">", + "named": false + }, + { + "type": ">=", + "named": false + }, + { + "type": ">>", + "named": false + }, + { + "type": ">>=", + "named": false + }, + { + "type": "@", + "named": false + }, + { + "type": "[", + "named": false + }, + { + "type": "]", + "named": false + }, + { + "type": "^", + "named": false + }, + { + "type": "^=", + "named": false + }, + { + "type": "_", + "named": false + }, + { + "type": "as", + "named": false + }, + { + "type": "async", + "named": false + }, + { + "type": "await", + "named": false + }, + { + "type": "break", + "named": false + }, + { + "type": "char_literal", + "named": true + }, + { + "type": "continue", + "named": false + }, + { + "type": "crate", + "named": true + }, + { + "type": "doc_comment", + "named": true + }, + { + "type": "else", + "named": false + }, + { + "type": "enum", + "named": false + }, + { + "type": "escape_sequence", + "named": true + }, + { + "type": "false", + "named": false + }, + { + "type": "field_identifier", + "named": true + }, + { + "type": "float_literal", + "named": true + }, + { + "type": "fn", + "named": false + }, + { + "type": "for", + "named": false + }, + { + "type": "identifier", + "named": true + }, + { + "type": "if", + "named": false + }, + { + "type": "in", + "named": false + }, + { + "type": "integer_literal", + "named": true + }, + { + "type": "let", + "named": false + }, + { + "type": "loop", + "named": false + }, + { + "type": "match", + "named": false + }, + { + "type": "mod", + "named": false + }, + { + "type": "pub", + "named": false + }, + { + "type": "return", + "named": false + }, + { + "type": "self", + "named": true + }, + { + "type": "shorthand_field_identifier", + "named": true + }, + { + "type": "string_content", + "named": true + }, + { + "type": "struct", + "named": false + }, + { + "type": "super", + "named": true + }, + { + "type": "true", + "named": false + }, + { + "type": "type_identifier", + "named": true + }, + { + "type": "use", + "named": false + }, + { + "type": "while", + "named": false + }, + { + "type": "yield", + "named": false + }, + { + "type": "{", + "named": false + }, + { + "type": "|", + "named": false + }, + { + "type": "|=", + "named": false + }, + { + "type": "||", + "named": false + }, + { + "type": "}", + "named": false + } +] \ No newline at end of file diff --git a/src/parser.c b/src/parser.c new file mode 100644 index 0000000..1d73867 --- /dev/null +++ b/src/parser.c @@ -0,0 +1,37421 @@ +/* Automatically @generated by tree-sitter */ + +#include "tree_sitter/parser.h" + +#if defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic ignored "-Wmissing-field-initializers" +#endif + +#define LANGUAGE_VERSION 15 +#define STATE_COUNT 813 +#define LARGE_STATE_COUNT 138 +#define SYMBOL_COUNT 206 +#define ALIAS_COUNT 4 +#define TOKEN_COUNT 99 +#define EXTERNAL_TOKEN_COUNT 10 +#define FIELD_COUNT 24 +#define MAX_ALIAS_SEQUENCE_LENGTH 7 +#define MAX_RESERVED_WORD_SET_SIZE 0 +#define PRODUCTION_ID_COUNT 61 +#define SUPERTYPE_COUNT 3 + +enum ts_symbol_identifiers { + sym_identifier = 1, + anon_sym_SEMI = 2, + anon_sym_POUND = 3, + anon_sym_LBRACK = 4, + anon_sym_RBRACK = 5, + anon_sym_BANG = 6, + anon_sym_EQ = 7, + anon_sym_mod = 8, + anon_sym_LBRACE = 9, + anon_sym_RBRACE = 10, + anon_sym_struct = 11, + anon_sym_enum = 12, + anon_sym_COMMA = 13, + anon_sym_LPAREN = 14, + anon_sym_RPAREN = 15, + anon_sym_async = 16, + anon_sym_fn = 17, + anon_sym_let = 18, + anon_sym_use = 19, + anon_sym_COLON_COLON = 20, + anon_sym_as = 21, + anon_sym_STAR = 22, + anon_sym_pub = 23, + anon_sym_in = 24, + anon_sym_DOT_DOT = 25, + anon_sym_DOT_DOT_DOT = 26, + anon_sym_DOT_DOT_EQ = 27, + anon_sym_DASH = 28, + anon_sym_AMP_AMP = 29, + anon_sym_PIPE_PIPE = 30, + anon_sym_AMP = 31, + anon_sym_PIPE = 32, + anon_sym_CARET = 33, + anon_sym_EQ_EQ = 34, + anon_sym_BANG_EQ = 35, + anon_sym_LT = 36, + anon_sym_LT_EQ = 37, + anon_sym_GT = 38, + anon_sym_GT_EQ = 39, + anon_sym_LT_LT = 40, + anon_sym_GT_GT = 41, + anon_sym_PLUS = 42, + anon_sym_SLASH = 43, + anon_sym_PERCENT = 44, + anon_sym_PLUS_EQ = 45, + anon_sym_DASH_EQ = 46, + anon_sym_STAR_EQ = 47, + anon_sym_SLASH_EQ = 48, + anon_sym_PERCENT_EQ = 49, + anon_sym_AMP_EQ = 50, + anon_sym_PIPE_EQ = 51, + anon_sym_CARET_EQ = 52, + anon_sym_LT_LT_EQ = 53, + anon_sym_GT_GT_EQ = 54, + anon_sym_return = 55, + anon_sym_yield = 56, + anon_sym_COLON = 57, + anon_sym_if = 58, + anon_sym_else = 59, + anon_sym_match = 60, + anon_sym_EQ_GT = 61, + anon_sym_while = 62, + anon_sym_loop = 63, + anon_sym_for = 64, + anon_sym_break = 65, + anon_sym_continue = 66, + anon_sym_DOT = 67, + anon_sym_await = 68, + anon_sym__ = 69, + anon_sym_AT = 70, + sym_integer_literal = 71, + anon_sym_DQUOTE = 72, + aux_sym_string_literal_token1 = 73, + sym_char_literal = 74, + sym_escape_sequence = 75, + anon_sym_true = 76, + anon_sym_false = 77, + anon_sym_SLASH_SLASH = 78, + aux_sym_line_comment_token1 = 79, + aux_sym_line_comment_token2 = 80, + aux_sym_line_comment_token3 = 81, + anon_sym_BANG2 = 82, + anon_sym_SLASH2 = 83, + anon_sym_SLASH_STAR = 84, + anon_sym_STAR_SLASH = 85, + sym_self = 86, + sym_super = 87, + sym_crate = 88, + sym_string_content = 89, + sym__raw_string_literal_start = 90, + sym_raw_string_literal_content = 91, + sym__raw_string_literal_end = 92, + sym_float_literal = 93, + sym__outer_block_doc_comment_marker = 94, + sym__inner_block_doc_comment_marker = 95, + sym__block_comment_content = 96, + sym__line_doc_content = 97, + sym__error_sentinel = 98, + sym_source_file = 99, + sym__statement = 100, + sym_empty_statement = 101, + sym_expression_statement = 102, + sym_attribute_item = 103, + sym_inner_attribute_item = 104, + sym_attribute = 105, + sym_mod_item = 106, + sym_declaration_list = 107, + sym_struct_item = 108, + sym_enum_item = 109, + sym_enum_variant_list = 110, + sym_enum_variant = 111, + sym_field_declaration_list = 112, + sym_ordered_field_declaration_list = 113, + sym_function_item = 114, + sym_let_declaration = 115, + sym_use_declaration = 116, + sym__use_clause = 117, + sym_scoped_use_list = 118, + sym_use_list = 119, + sym_use_as_clause = 120, + sym_use_wildcard = 121, + sym_parameters = 122, + sym_visibility_modifier = 123, + sym__expression_except_range = 124, + sym__expression = 125, + sym_macro_invocation = 126, + sym_scoped_identifier = 127, + sym_range_expression = 128, + sym_unary_expression = 129, + sym_binary_expression = 130, + sym_assignment_expression = 131, + sym_compound_assignment_expr = 132, + sym_return_expression = 133, + sym_yield_expression = 134, + sym_call_expression = 135, + sym_arguments = 136, + sym_array_expression = 137, + sym_parenthesized_expression = 138, + sym_tuple_expression = 139, + sym_struct_expression = 140, + sym_field_initializer_list = 141, + sym_shorthand_field_initializer = 142, + sym_field_initializer = 143, + sym_base_field_initializer = 144, + sym_if_expression = 145, + sym_let_condition = 146, + sym__let_chain = 147, + sym__condition = 148, + sym_else_clause = 149, + sym_match_expression = 150, + sym_match_block = 151, + sym_match_arm = 152, + sym_last_match_arm = 153, + sym_match_pattern = 154, + sym_while_expression = 155, + sym_loop_expression = 156, + sym_for_expression = 157, + sym_closure_expression = 158, + sym_closure_parameters = 159, + sym_break_expression = 160, + sym_continue_expression = 161, + sym_index_expression = 162, + sym_await_expression = 163, + sym_field_expression = 164, + sym_async_block = 165, + sym_block = 166, + sym__pattern = 167, + sym_tuple_pattern = 168, + sym_slice_pattern = 169, + sym_tuple_struct_pattern = 170, + sym_struct_pattern = 171, + sym_field_pattern = 172, + sym_remaining_field_pattern = 173, + sym_range_pattern = 174, + sym_captured_pattern = 175, + sym_or_pattern = 176, + sym__literal = 177, + sym__literal_pattern = 178, + sym_negative_literal = 179, + sym_string_literal = 180, + sym_boolean_literal = 181, + sym_line_comment = 182, + sym__line_doc_comment_marker = 183, + sym__inner_line_doc_comment_marker = 184, + sym__outer_line_doc_comment_marker = 185, + sym_block_comment = 186, + sym__block_doc_comment_marker = 187, + aux_sym_source_file_repeat1 = 188, + aux_sym_declaration_list_repeat1 = 189, + aux_sym_enum_variant_list_repeat1 = 190, + aux_sym_enum_variant_list_repeat2 = 191, + aux_sym_field_declaration_list_repeat1 = 192, + aux_sym_ordered_field_declaration_list_repeat1 = 193, + aux_sym_use_list_repeat1 = 194, + aux_sym_parameters_repeat1 = 195, + aux_sym_arguments_repeat1 = 196, + aux_sym_tuple_expression_repeat1 = 197, + aux_sym_field_initializer_list_repeat1 = 198, + aux_sym_match_block_repeat1 = 199, + aux_sym_match_arm_repeat1 = 200, + aux_sym_closure_parameters_repeat1 = 201, + aux_sym_tuple_pattern_repeat1 = 202, + aux_sym_slice_pattern_repeat1 = 203, + aux_sym_struct_pattern_repeat1 = 204, + aux_sym_string_literal_repeat1 = 205, + alias_sym_field_identifier = 206, + alias_sym_let_chain = 207, + alias_sym_shorthand_field_identifier = 208, + alias_sym_type_identifier = 209, +}; + +static const char * const ts_symbol_names[] = { + [ts_builtin_sym_end] = "end", + [sym_identifier] = "identifier", + [anon_sym_SEMI] = ";", + [anon_sym_POUND] = "#", + [anon_sym_LBRACK] = "[", + [anon_sym_RBRACK] = "]", + [anon_sym_BANG] = "!", + [anon_sym_EQ] = "=", + [anon_sym_mod] = "mod", + [anon_sym_LBRACE] = "{", + [anon_sym_RBRACE] = "}", + [anon_sym_struct] = "struct", + [anon_sym_enum] = "enum", + [anon_sym_COMMA] = ",", + [anon_sym_LPAREN] = "(", + [anon_sym_RPAREN] = ")", + [anon_sym_async] = "async", + [anon_sym_fn] = "fn", + [anon_sym_let] = "let", + [anon_sym_use] = "use", + [anon_sym_COLON_COLON] = "::", + [anon_sym_as] = "as", + [anon_sym_STAR] = "*", + [anon_sym_pub] = "pub", + [anon_sym_in] = "in", + [anon_sym_DOT_DOT] = "..", + [anon_sym_DOT_DOT_DOT] = "...", + [anon_sym_DOT_DOT_EQ] = "..=", + [anon_sym_DASH] = "-", + [anon_sym_AMP_AMP] = "&&", + [anon_sym_PIPE_PIPE] = "||", + [anon_sym_AMP] = "&", + [anon_sym_PIPE] = "|", + [anon_sym_CARET] = "^", + [anon_sym_EQ_EQ] = "==", + [anon_sym_BANG_EQ] = "!=", + [anon_sym_LT] = "<", + [anon_sym_LT_EQ] = "<=", + [anon_sym_GT] = ">", + [anon_sym_GT_EQ] = ">=", + [anon_sym_LT_LT] = "<<", + [anon_sym_GT_GT] = ">>", + [anon_sym_PLUS] = "+", + [anon_sym_SLASH] = "/", + [anon_sym_PERCENT] = "%", + [anon_sym_PLUS_EQ] = "+=", + [anon_sym_DASH_EQ] = "-=", + [anon_sym_STAR_EQ] = "*=", + [anon_sym_SLASH_EQ] = "/=", + [anon_sym_PERCENT_EQ] = "%=", + [anon_sym_AMP_EQ] = "&=", + [anon_sym_PIPE_EQ] = "|=", + [anon_sym_CARET_EQ] = "^=", + [anon_sym_LT_LT_EQ] = "<<=", + [anon_sym_GT_GT_EQ] = ">>=", + [anon_sym_return] = "return", + [anon_sym_yield] = "yield", + [anon_sym_COLON] = ":", + [anon_sym_if] = "if", + [anon_sym_else] = "else", + [anon_sym_match] = "match", + [anon_sym_EQ_GT] = "=>", + [anon_sym_while] = "while", + [anon_sym_loop] = "loop", + [anon_sym_for] = "for", + [anon_sym_break] = "break", + [anon_sym_continue] = "continue", + [anon_sym_DOT] = ".", + [anon_sym_await] = "await", + [anon_sym__] = "_", + [anon_sym_AT] = "@", + [sym_integer_literal] = "integer_literal", + [anon_sym_DQUOTE] = "\"", + [aux_sym_string_literal_token1] = "\"", + [sym_char_literal] = "char_literal", + [sym_escape_sequence] = "escape_sequence", + [anon_sym_true] = "true", + [anon_sym_false] = "false", + [anon_sym_SLASH_SLASH] = "//", + [aux_sym_line_comment_token1] = "line_comment_token1", + [aux_sym_line_comment_token2] = "line_comment_token2", + [aux_sym_line_comment_token3] = "line_comment_token3", + [anon_sym_BANG2] = "!", + [anon_sym_SLASH2] = "/", + [anon_sym_SLASH_STAR] = "/*", + [anon_sym_STAR_SLASH] = "*/", + [sym_self] = "self", + [sym_super] = "super", + [sym_crate] = "crate", + [sym_string_content] = "string_content", + [sym__raw_string_literal_start] = "_raw_string_literal_start", + [sym_raw_string_literal_content] = "raw_string_literal_content", + [sym__raw_string_literal_end] = "_raw_string_literal_end", + [sym_float_literal] = "float_literal", + [sym__outer_block_doc_comment_marker] = "outer_doc_comment_marker", + [sym__inner_block_doc_comment_marker] = "inner_doc_comment_marker", + [sym__block_comment_content] = "_block_comment_content", + [sym__line_doc_content] = "doc_comment", + [sym__error_sentinel] = "_error_sentinel", + [sym_source_file] = "source_file", + [sym__statement] = "_statement", + [sym_empty_statement] = "empty_statement", + [sym_expression_statement] = "expression_statement", + [sym_attribute_item] = "attribute_item", + [sym_inner_attribute_item] = "inner_attribute_item", + [sym_attribute] = "attribute", + [sym_mod_item] = "mod_item", + [sym_declaration_list] = "declaration_list", + [sym_struct_item] = "struct_item", + [sym_enum_item] = "enum_item", + [sym_enum_variant_list] = "enum_variant_list", + [sym_enum_variant] = "enum_variant", + [sym_field_declaration_list] = "field_declaration_list", + [sym_ordered_field_declaration_list] = "ordered_field_declaration_list", + [sym_function_item] = "function_item", + [sym_let_declaration] = "let_declaration", + [sym_use_declaration] = "use_declaration", + [sym__use_clause] = "_use_clause", + [sym_scoped_use_list] = "scoped_use_list", + [sym_use_list] = "use_list", + [sym_use_as_clause] = "use_as_clause", + [sym_use_wildcard] = "use_wildcard", + [sym_parameters] = "parameters", + [sym_visibility_modifier] = "visibility_modifier", + [sym__expression_except_range] = "_expression_except_range", + [sym__expression] = "_expression", + [sym_macro_invocation] = "macro_invocation", + [sym_scoped_identifier] = "scoped_identifier", + [sym_range_expression] = "range_expression", + [sym_unary_expression] = "unary_expression", + [sym_binary_expression] = "binary_expression", + [sym_assignment_expression] = "assignment_expression", + [sym_compound_assignment_expr] = "compound_assignment_expr", + [sym_return_expression] = "return_expression", + [sym_yield_expression] = "yield_expression", + [sym_call_expression] = "call_expression", + [sym_arguments] = "arguments", + [sym_array_expression] = "array_expression", + [sym_parenthesized_expression] = "parenthesized_expression", + [sym_tuple_expression] = "tuple_expression", + [sym_struct_expression] = "struct_expression", + [sym_field_initializer_list] = "field_initializer_list", + [sym_shorthand_field_initializer] = "shorthand_field_initializer", + [sym_field_initializer] = "field_initializer", + [sym_base_field_initializer] = "base_field_initializer", + [sym_if_expression] = "if_expression", + [sym_let_condition] = "let_condition", + [sym__let_chain] = "_let_chain", + [sym__condition] = "_condition", + [sym_else_clause] = "else_clause", + [sym_match_expression] = "match_expression", + [sym_match_block] = "match_block", + [sym_match_arm] = "match_arm", + [sym_last_match_arm] = "match_arm", + [sym_match_pattern] = "match_pattern", + [sym_while_expression] = "while_expression", + [sym_loop_expression] = "loop_expression", + [sym_for_expression] = "for_expression", + [sym_closure_expression] = "closure_expression", + [sym_closure_parameters] = "closure_parameters", + [sym_break_expression] = "break_expression", + [sym_continue_expression] = "continue_expression", + [sym_index_expression] = "index_expression", + [sym_await_expression] = "await_expression", + [sym_field_expression] = "field_expression", + [sym_async_block] = "async_block", + [sym_block] = "block", + [sym__pattern] = "_pattern", + [sym_tuple_pattern] = "tuple_pattern", + [sym_slice_pattern] = "slice_pattern", + [sym_tuple_struct_pattern] = "tuple_struct_pattern", + [sym_struct_pattern] = "struct_pattern", + [sym_field_pattern] = "field_pattern", + [sym_remaining_field_pattern] = "remaining_field_pattern", + [sym_range_pattern] = "range_pattern", + [sym_captured_pattern] = "captured_pattern", + [sym_or_pattern] = "or_pattern", + [sym__literal] = "_literal", + [sym__literal_pattern] = "_literal_pattern", + [sym_negative_literal] = "negative_literal", + [sym_string_literal] = "string_literal", + [sym_boolean_literal] = "boolean_literal", + [sym_line_comment] = "line_comment", + [sym__line_doc_comment_marker] = "_line_doc_comment_marker", + [sym__inner_line_doc_comment_marker] = "inner_doc_comment_marker", + [sym__outer_line_doc_comment_marker] = "outer_doc_comment_marker", + [sym_block_comment] = "block_comment", + [sym__block_doc_comment_marker] = "_block_doc_comment_marker", + [aux_sym_source_file_repeat1] = "source_file_repeat1", + [aux_sym_declaration_list_repeat1] = "declaration_list_repeat1", + [aux_sym_enum_variant_list_repeat1] = "enum_variant_list_repeat1", + [aux_sym_enum_variant_list_repeat2] = "enum_variant_list_repeat2", + [aux_sym_field_declaration_list_repeat1] = "field_declaration_list_repeat1", + [aux_sym_ordered_field_declaration_list_repeat1] = "ordered_field_declaration_list_repeat1", + [aux_sym_use_list_repeat1] = "use_list_repeat1", + [aux_sym_parameters_repeat1] = "parameters_repeat1", + [aux_sym_arguments_repeat1] = "arguments_repeat1", + [aux_sym_tuple_expression_repeat1] = "tuple_expression_repeat1", + [aux_sym_field_initializer_list_repeat1] = "field_initializer_list_repeat1", + [aux_sym_match_block_repeat1] = "match_block_repeat1", + [aux_sym_match_arm_repeat1] = "match_arm_repeat1", + [aux_sym_closure_parameters_repeat1] = "closure_parameters_repeat1", + [aux_sym_tuple_pattern_repeat1] = "tuple_pattern_repeat1", + [aux_sym_slice_pattern_repeat1] = "slice_pattern_repeat1", + [aux_sym_struct_pattern_repeat1] = "struct_pattern_repeat1", + [aux_sym_string_literal_repeat1] = "string_literal_repeat1", + [alias_sym_field_identifier] = "field_identifier", + [alias_sym_let_chain] = "let_chain", + [alias_sym_shorthand_field_identifier] = "shorthand_field_identifier", + [alias_sym_type_identifier] = "type_identifier", +}; + +static const TSSymbol ts_symbol_map[] = { + [ts_builtin_sym_end] = ts_builtin_sym_end, + [sym_identifier] = sym_identifier, + [anon_sym_SEMI] = anon_sym_SEMI, + [anon_sym_POUND] = anon_sym_POUND, + [anon_sym_LBRACK] = anon_sym_LBRACK, + [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_BANG] = anon_sym_BANG, + [anon_sym_EQ] = anon_sym_EQ, + [anon_sym_mod] = anon_sym_mod, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_RBRACE] = anon_sym_RBRACE, + [anon_sym_struct] = anon_sym_struct, + [anon_sym_enum] = anon_sym_enum, + [anon_sym_COMMA] = anon_sym_COMMA, + [anon_sym_LPAREN] = anon_sym_LPAREN, + [anon_sym_RPAREN] = anon_sym_RPAREN, + [anon_sym_async] = anon_sym_async, + [anon_sym_fn] = anon_sym_fn, + [anon_sym_let] = anon_sym_let, + [anon_sym_use] = anon_sym_use, + [anon_sym_COLON_COLON] = anon_sym_COLON_COLON, + [anon_sym_as] = anon_sym_as, + [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_pub] = anon_sym_pub, + [anon_sym_in] = anon_sym_in, + [anon_sym_DOT_DOT] = anon_sym_DOT_DOT, + [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT, + [anon_sym_DOT_DOT_EQ] = anon_sym_DOT_DOT_EQ, + [anon_sym_DASH] = anon_sym_DASH, + [anon_sym_AMP_AMP] = anon_sym_AMP_AMP, + [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, + [anon_sym_AMP] = anon_sym_AMP, + [anon_sym_PIPE] = anon_sym_PIPE, + [anon_sym_CARET] = anon_sym_CARET, + [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, + [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, + [anon_sym_LT] = anon_sym_LT, + [anon_sym_LT_EQ] = anon_sym_LT_EQ, + [anon_sym_GT] = anon_sym_GT, + [anon_sym_GT_EQ] = anon_sym_GT_EQ, + [anon_sym_LT_LT] = anon_sym_LT_LT, + [anon_sym_GT_GT] = anon_sym_GT_GT, + [anon_sym_PLUS] = anon_sym_PLUS, + [anon_sym_SLASH] = anon_sym_SLASH, + [anon_sym_PERCENT] = anon_sym_PERCENT, + [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ, + [anon_sym_DASH_EQ] = anon_sym_DASH_EQ, + [anon_sym_STAR_EQ] = anon_sym_STAR_EQ, + [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ, + [anon_sym_PERCENT_EQ] = anon_sym_PERCENT_EQ, + [anon_sym_AMP_EQ] = anon_sym_AMP_EQ, + [anon_sym_PIPE_EQ] = anon_sym_PIPE_EQ, + [anon_sym_CARET_EQ] = anon_sym_CARET_EQ, + [anon_sym_LT_LT_EQ] = anon_sym_LT_LT_EQ, + [anon_sym_GT_GT_EQ] = anon_sym_GT_GT_EQ, + [anon_sym_return] = anon_sym_return, + [anon_sym_yield] = anon_sym_yield, + [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_if] = anon_sym_if, + [anon_sym_else] = anon_sym_else, + [anon_sym_match] = anon_sym_match, + [anon_sym_EQ_GT] = anon_sym_EQ_GT, + [anon_sym_while] = anon_sym_while, + [anon_sym_loop] = anon_sym_loop, + [anon_sym_for] = anon_sym_for, + [anon_sym_break] = anon_sym_break, + [anon_sym_continue] = anon_sym_continue, + [anon_sym_DOT] = anon_sym_DOT, + [anon_sym_await] = anon_sym_await, + [anon_sym__] = anon_sym__, + [anon_sym_AT] = anon_sym_AT, + [sym_integer_literal] = sym_integer_literal, + [anon_sym_DQUOTE] = anon_sym_DQUOTE, + [aux_sym_string_literal_token1] = anon_sym_DQUOTE, + [sym_char_literal] = sym_char_literal, + [sym_escape_sequence] = sym_escape_sequence, + [anon_sym_true] = anon_sym_true, + [anon_sym_false] = anon_sym_false, + [anon_sym_SLASH_SLASH] = anon_sym_SLASH_SLASH, + [aux_sym_line_comment_token1] = aux_sym_line_comment_token1, + [aux_sym_line_comment_token2] = aux_sym_line_comment_token2, + [aux_sym_line_comment_token3] = aux_sym_line_comment_token3, + [anon_sym_BANG2] = anon_sym_BANG, + [anon_sym_SLASH2] = anon_sym_SLASH, + [anon_sym_SLASH_STAR] = anon_sym_SLASH_STAR, + [anon_sym_STAR_SLASH] = anon_sym_STAR_SLASH, + [sym_self] = sym_self, + [sym_super] = sym_super, + [sym_crate] = sym_crate, + [sym_string_content] = sym_string_content, + [sym__raw_string_literal_start] = sym__raw_string_literal_start, + [sym_raw_string_literal_content] = sym_raw_string_literal_content, + [sym__raw_string_literal_end] = sym__raw_string_literal_end, + [sym_float_literal] = sym_float_literal, + [sym__outer_block_doc_comment_marker] = sym__outer_block_doc_comment_marker, + [sym__inner_block_doc_comment_marker] = sym__inner_block_doc_comment_marker, + [sym__block_comment_content] = sym__block_comment_content, + [sym__line_doc_content] = sym__line_doc_content, + [sym__error_sentinel] = sym__error_sentinel, + [sym_source_file] = sym_source_file, + [sym__statement] = sym__statement, + [sym_empty_statement] = sym_empty_statement, + [sym_expression_statement] = sym_expression_statement, + [sym_attribute_item] = sym_attribute_item, + [sym_inner_attribute_item] = sym_inner_attribute_item, + [sym_attribute] = sym_attribute, + [sym_mod_item] = sym_mod_item, + [sym_declaration_list] = sym_declaration_list, + [sym_struct_item] = sym_struct_item, + [sym_enum_item] = sym_enum_item, + [sym_enum_variant_list] = sym_enum_variant_list, + [sym_enum_variant] = sym_enum_variant, + [sym_field_declaration_list] = sym_field_declaration_list, + [sym_ordered_field_declaration_list] = sym_ordered_field_declaration_list, + [sym_function_item] = sym_function_item, + [sym_let_declaration] = sym_let_declaration, + [sym_use_declaration] = sym_use_declaration, + [sym__use_clause] = sym__use_clause, + [sym_scoped_use_list] = sym_scoped_use_list, + [sym_use_list] = sym_use_list, + [sym_use_as_clause] = sym_use_as_clause, + [sym_use_wildcard] = sym_use_wildcard, + [sym_parameters] = sym_parameters, + [sym_visibility_modifier] = sym_visibility_modifier, + [sym__expression_except_range] = sym__expression_except_range, + [sym__expression] = sym__expression, + [sym_macro_invocation] = sym_macro_invocation, + [sym_scoped_identifier] = sym_scoped_identifier, + [sym_range_expression] = sym_range_expression, + [sym_unary_expression] = sym_unary_expression, + [sym_binary_expression] = sym_binary_expression, + [sym_assignment_expression] = sym_assignment_expression, + [sym_compound_assignment_expr] = sym_compound_assignment_expr, + [sym_return_expression] = sym_return_expression, + [sym_yield_expression] = sym_yield_expression, + [sym_call_expression] = sym_call_expression, + [sym_arguments] = sym_arguments, + [sym_array_expression] = sym_array_expression, + [sym_parenthesized_expression] = sym_parenthesized_expression, + [sym_tuple_expression] = sym_tuple_expression, + [sym_struct_expression] = sym_struct_expression, + [sym_field_initializer_list] = sym_field_initializer_list, + [sym_shorthand_field_initializer] = sym_shorthand_field_initializer, + [sym_field_initializer] = sym_field_initializer, + [sym_base_field_initializer] = sym_base_field_initializer, + [sym_if_expression] = sym_if_expression, + [sym_let_condition] = sym_let_condition, + [sym__let_chain] = sym__let_chain, + [sym__condition] = sym__condition, + [sym_else_clause] = sym_else_clause, + [sym_match_expression] = sym_match_expression, + [sym_match_block] = sym_match_block, + [sym_match_arm] = sym_match_arm, + [sym_last_match_arm] = sym_match_arm, + [sym_match_pattern] = sym_match_pattern, + [sym_while_expression] = sym_while_expression, + [sym_loop_expression] = sym_loop_expression, + [sym_for_expression] = sym_for_expression, + [sym_closure_expression] = sym_closure_expression, + [sym_closure_parameters] = sym_closure_parameters, + [sym_break_expression] = sym_break_expression, + [sym_continue_expression] = sym_continue_expression, + [sym_index_expression] = sym_index_expression, + [sym_await_expression] = sym_await_expression, + [sym_field_expression] = sym_field_expression, + [sym_async_block] = sym_async_block, + [sym_block] = sym_block, + [sym__pattern] = sym__pattern, + [sym_tuple_pattern] = sym_tuple_pattern, + [sym_slice_pattern] = sym_slice_pattern, + [sym_tuple_struct_pattern] = sym_tuple_struct_pattern, + [sym_struct_pattern] = sym_struct_pattern, + [sym_field_pattern] = sym_field_pattern, + [sym_remaining_field_pattern] = sym_remaining_field_pattern, + [sym_range_pattern] = sym_range_pattern, + [sym_captured_pattern] = sym_captured_pattern, + [sym_or_pattern] = sym_or_pattern, + [sym__literal] = sym__literal, + [sym__literal_pattern] = sym__literal_pattern, + [sym_negative_literal] = sym_negative_literal, + [sym_string_literal] = sym_string_literal, + [sym_boolean_literal] = sym_boolean_literal, + [sym_line_comment] = sym_line_comment, + [sym__line_doc_comment_marker] = sym__line_doc_comment_marker, + [sym__inner_line_doc_comment_marker] = sym__inner_block_doc_comment_marker, + [sym__outer_line_doc_comment_marker] = sym__outer_block_doc_comment_marker, + [sym_block_comment] = sym_block_comment, + [sym__block_doc_comment_marker] = sym__block_doc_comment_marker, + [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, + [aux_sym_declaration_list_repeat1] = aux_sym_declaration_list_repeat1, + [aux_sym_enum_variant_list_repeat1] = aux_sym_enum_variant_list_repeat1, + [aux_sym_enum_variant_list_repeat2] = aux_sym_enum_variant_list_repeat2, + [aux_sym_field_declaration_list_repeat1] = aux_sym_field_declaration_list_repeat1, + [aux_sym_ordered_field_declaration_list_repeat1] = aux_sym_ordered_field_declaration_list_repeat1, + [aux_sym_use_list_repeat1] = aux_sym_use_list_repeat1, + [aux_sym_parameters_repeat1] = aux_sym_parameters_repeat1, + [aux_sym_arguments_repeat1] = aux_sym_arguments_repeat1, + [aux_sym_tuple_expression_repeat1] = aux_sym_tuple_expression_repeat1, + [aux_sym_field_initializer_list_repeat1] = aux_sym_field_initializer_list_repeat1, + [aux_sym_match_block_repeat1] = aux_sym_match_block_repeat1, + [aux_sym_match_arm_repeat1] = aux_sym_match_arm_repeat1, + [aux_sym_closure_parameters_repeat1] = aux_sym_closure_parameters_repeat1, + [aux_sym_tuple_pattern_repeat1] = aux_sym_tuple_pattern_repeat1, + [aux_sym_slice_pattern_repeat1] = aux_sym_slice_pattern_repeat1, + [aux_sym_struct_pattern_repeat1] = aux_sym_struct_pattern_repeat1, + [aux_sym_string_literal_repeat1] = aux_sym_string_literal_repeat1, + [alias_sym_field_identifier] = alias_sym_field_identifier, + [alias_sym_let_chain] = alias_sym_let_chain, + [alias_sym_shorthand_field_identifier] = alias_sym_shorthand_field_identifier, + [alias_sym_type_identifier] = alias_sym_type_identifier, +}; + +static const TSSymbolMetadata ts_symbol_metadata[] = { + [ts_builtin_sym_end] = { + .visible = false, + .named = true, + }, + [sym_identifier] = { + .visible = true, + .named = true, + }, + [anon_sym_SEMI] = { + .visible = true, + .named = false, + }, + [anon_sym_POUND] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_mod] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_struct] = { + .visible = true, + .named = false, + }, + [anon_sym_enum] = { + .visible = true, + .named = false, + }, + [anon_sym_COMMA] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_RPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_async] = { + .visible = true, + .named = false, + }, + [anon_sym_fn] = { + .visible = true, + .named = false, + }, + [anon_sym_let] = { + .visible = true, + .named = false, + }, + [anon_sym_use] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_as] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_pub] = { + .visible = true, + .named = false, + }, + [anon_sym_in] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_BANG_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_DASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PERCENT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_AMP_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_PIPE_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_CARET_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_LT_LT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_GT_GT_EQ] = { + .visible = true, + .named = false, + }, + [anon_sym_return] = { + .visible = true, + .named = false, + }, + [anon_sym_yield] = { + .visible = true, + .named = false, + }, + [anon_sym_COLON] = { + .visible = true, + .named = false, + }, + [anon_sym_if] = { + .visible = true, + .named = false, + }, + [anon_sym_else] = { + .visible = true, + .named = false, + }, + [anon_sym_match] = { + .visible = true, + .named = false, + }, + [anon_sym_EQ_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_while] = { + .visible = true, + .named = false, + }, + [anon_sym_loop] = { + .visible = true, + .named = false, + }, + [anon_sym_for] = { + .visible = true, + .named = false, + }, + [anon_sym_break] = { + .visible = true, + .named = false, + }, + [anon_sym_continue] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_await] = { + .visible = true, + .named = false, + }, + [anon_sym__] = { + .visible = true, + .named = false, + }, + [anon_sym_AT] = { + .visible = true, + .named = false, + }, + [sym_integer_literal] = { + .visible = true, + .named = true, + }, + [anon_sym_DQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym_string_literal_token1] = { + .visible = true, + .named = false, + }, + [sym_char_literal] = { + .visible = true, + .named = true, + }, + [sym_escape_sequence] = { + .visible = true, + .named = true, + }, + [anon_sym_true] = { + .visible = true, + .named = false, + }, + [anon_sym_false] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH_SLASH] = { + .visible = true, + .named = false, + }, + [aux_sym_line_comment_token1] = { + .visible = false, + .named = false, + }, + [aux_sym_line_comment_token2] = { + .visible = false, + .named = false, + }, + [aux_sym_line_comment_token3] = { + .visible = false, + .named = false, + }, + [anon_sym_BANG2] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH2] = { + .visible = true, + .named = false, + }, + [anon_sym_SLASH_STAR] = { + .visible = true, + .named = false, + }, + [anon_sym_STAR_SLASH] = { + .visible = true, + .named = false, + }, + [sym_self] = { + .visible = true, + .named = true, + }, + [sym_super] = { + .visible = true, + .named = true, + }, + [sym_crate] = { + .visible = true, + .named = true, + }, + [sym_string_content] = { + .visible = true, + .named = true, + }, + [sym__raw_string_literal_start] = { + .visible = false, + .named = true, + }, + [sym_raw_string_literal_content] = { + .visible = true, + .named = true, + }, + [sym__raw_string_literal_end] = { + .visible = false, + .named = true, + }, + [sym_float_literal] = { + .visible = true, + .named = true, + }, + [sym__outer_block_doc_comment_marker] = { + .visible = true, + .named = true, + }, + [sym__inner_block_doc_comment_marker] = { + .visible = true, + .named = true, + }, + [sym__block_comment_content] = { + .visible = false, + .named = true, + }, + [sym__line_doc_content] = { + .visible = true, + .named = true, + }, + [sym__error_sentinel] = { + .visible = false, + .named = true, + }, + [sym_source_file] = { + .visible = true, + .named = true, + }, + [sym__statement] = { + .visible = false, + .named = true, + }, + [sym_empty_statement] = { + .visible = true, + .named = true, + }, + [sym_expression_statement] = { + .visible = true, + .named = true, + }, + [sym_attribute_item] = { + .visible = true, + .named = true, + }, + [sym_inner_attribute_item] = { + .visible = true, + .named = true, + }, + [sym_attribute] = { + .visible = true, + .named = true, + }, + [sym_mod_item] = { + .visible = true, + .named = true, + }, + [sym_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_struct_item] = { + .visible = true, + .named = true, + }, + [sym_enum_item] = { + .visible = true, + .named = true, + }, + [sym_enum_variant_list] = { + .visible = true, + .named = true, + }, + [sym_enum_variant] = { + .visible = true, + .named = true, + }, + [sym_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_ordered_field_declaration_list] = { + .visible = true, + .named = true, + }, + [sym_function_item] = { + .visible = true, + .named = true, + }, + [sym_let_declaration] = { + .visible = true, + .named = true, + }, + [sym_use_declaration] = { + .visible = true, + .named = true, + }, + [sym__use_clause] = { + .visible = false, + .named = true, + }, + [sym_scoped_use_list] = { + .visible = true, + .named = true, + }, + [sym_use_list] = { + .visible = true, + .named = true, + }, + [sym_use_as_clause] = { + .visible = true, + .named = true, + }, + [sym_use_wildcard] = { + .visible = true, + .named = true, + }, + [sym_parameters] = { + .visible = true, + .named = true, + }, + [sym_visibility_modifier] = { + .visible = true, + .named = true, + }, + [sym__expression_except_range] = { + .visible = false, + .named = true, + }, + [sym__expression] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_macro_invocation] = { + .visible = true, + .named = true, + }, + [sym_scoped_identifier] = { + .visible = true, + .named = true, + }, + [sym_range_expression] = { + .visible = true, + .named = true, + }, + [sym_unary_expression] = { + .visible = true, + .named = true, + }, + [sym_binary_expression] = { + .visible = true, + .named = true, + }, + [sym_assignment_expression] = { + .visible = true, + .named = true, + }, + [sym_compound_assignment_expr] = { + .visible = true, + .named = true, + }, + [sym_return_expression] = { + .visible = true, + .named = true, + }, + [sym_yield_expression] = { + .visible = true, + .named = true, + }, + [sym_call_expression] = { + .visible = true, + .named = true, + }, + [sym_arguments] = { + .visible = true, + .named = true, + }, + [sym_array_expression] = { + .visible = true, + .named = true, + }, + [sym_parenthesized_expression] = { + .visible = true, + .named = true, + }, + [sym_tuple_expression] = { + .visible = true, + .named = true, + }, + [sym_struct_expression] = { + .visible = true, + .named = true, + }, + [sym_field_initializer_list] = { + .visible = true, + .named = true, + }, + [sym_shorthand_field_initializer] = { + .visible = true, + .named = true, + }, + [sym_field_initializer] = { + .visible = true, + .named = true, + }, + [sym_base_field_initializer] = { + .visible = true, + .named = true, + }, + [sym_if_expression] = { + .visible = true, + .named = true, + }, + [sym_let_condition] = { + .visible = true, + .named = true, + }, + [sym__let_chain] = { + .visible = false, + .named = true, + }, + [sym__condition] = { + .visible = false, + .named = true, + }, + [sym_else_clause] = { + .visible = true, + .named = true, + }, + [sym_match_expression] = { + .visible = true, + .named = true, + }, + [sym_match_block] = { + .visible = true, + .named = true, + }, + [sym_match_arm] = { + .visible = true, + .named = true, + }, + [sym_last_match_arm] = { + .visible = true, + .named = true, + }, + [sym_match_pattern] = { + .visible = true, + .named = true, + }, + [sym_while_expression] = { + .visible = true, + .named = true, + }, + [sym_loop_expression] = { + .visible = true, + .named = true, + }, + [sym_for_expression] = { + .visible = true, + .named = true, + }, + [sym_closure_expression] = { + .visible = true, + .named = true, + }, + [sym_closure_parameters] = { + .visible = true, + .named = true, + }, + [sym_break_expression] = { + .visible = true, + .named = true, + }, + [sym_continue_expression] = { + .visible = true, + .named = true, + }, + [sym_index_expression] = { + .visible = true, + .named = true, + }, + [sym_await_expression] = { + .visible = true, + .named = true, + }, + [sym_field_expression] = { + .visible = true, + .named = true, + }, + [sym_async_block] = { + .visible = true, + .named = true, + }, + [sym_block] = { + .visible = true, + .named = true, + }, + [sym__pattern] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym_tuple_pattern] = { + .visible = true, + .named = true, + }, + [sym_slice_pattern] = { + .visible = true, + .named = true, + }, + [sym_tuple_struct_pattern] = { + .visible = true, + .named = true, + }, + [sym_struct_pattern] = { + .visible = true, + .named = true, + }, + [sym_field_pattern] = { + .visible = true, + .named = true, + }, + [sym_remaining_field_pattern] = { + .visible = true, + .named = true, + }, + [sym_range_pattern] = { + .visible = true, + .named = true, + }, + [sym_captured_pattern] = { + .visible = true, + .named = true, + }, + [sym_or_pattern] = { + .visible = true, + .named = true, + }, + [sym__literal] = { + .visible = false, + .named = true, + .supertype = true, + }, + [sym__literal_pattern] = { + .visible = false, + .named = true, + }, + [sym_negative_literal] = { + .visible = true, + .named = true, + }, + [sym_string_literal] = { + .visible = true, + .named = true, + }, + [sym_boolean_literal] = { + .visible = true, + .named = true, + }, + [sym_line_comment] = { + .visible = true, + .named = true, + }, + [sym__line_doc_comment_marker] = { + .visible = false, + .named = true, + }, + [sym__inner_line_doc_comment_marker] = { + .visible = true, + .named = true, + }, + [sym__outer_line_doc_comment_marker] = { + .visible = true, + .named = true, + }, + [sym_block_comment] = { + .visible = true, + .named = true, + }, + [sym__block_doc_comment_marker] = { + .visible = false, + .named = true, + }, + [aux_sym_source_file_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_declaration_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_enum_variant_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_enum_variant_list_repeat2] = { + .visible = false, + .named = false, + }, + [aux_sym_field_declaration_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_ordered_field_declaration_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_use_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_parameters_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_arguments_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_tuple_expression_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_field_initializer_list_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_match_block_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_match_arm_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_closure_parameters_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_tuple_pattern_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_slice_pattern_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_struct_pattern_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_string_literal_repeat1] = { + .visible = false, + .named = false, + }, + [alias_sym_field_identifier] = { + .visible = true, + .named = true, + }, + [alias_sym_let_chain] = { + .visible = true, + .named = true, + }, + [alias_sym_shorthand_field_identifier] = { + .visible = true, + .named = true, + }, + [alias_sym_type_identifier] = { + .visible = true, + .named = true, + }, +}; + +enum ts_field_identifiers { + field_alias = 1, + field_alternative = 2, + field_argument = 3, + field_arguments = 4, + field_body = 5, + field_condition = 6, + field_consequence = 7, + field_doc = 8, + field_field = 9, + field_function = 10, + field_inner = 11, + field_left = 12, + field_length = 13, + field_list = 14, + field_macro = 15, + field_name = 16, + field_operator = 17, + field_outer = 18, + field_parameters = 19, + field_path = 20, + field_pattern = 21, + field_right = 22, + field_type = 23, + field_value = 24, +}; + +static const char * const ts_field_names[] = { + [0] = NULL, + [field_alias] = "alias", + [field_alternative] = "alternative", + [field_argument] = "argument", + [field_arguments] = "arguments", + [field_body] = "body", + [field_condition] = "condition", + [field_consequence] = "consequence", + [field_doc] = "doc", + [field_field] = "field", + [field_function] = "function", + [field_inner] = "inner", + [field_left] = "left", + [field_length] = "length", + [field_list] = "list", + [field_macro] = "macro", + [field_name] = "name", + [field_operator] = "operator", + [field_outer] = "outer", + [field_parameters] = "parameters", + [field_path] = "path", + [field_pattern] = "pattern", + [field_right] = "right", + [field_type] = "type", + [field_value] = "value", +}; + +static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { + [1] = {.index = 0, .length = 1}, + [2] = {.index = 1, .length = 1}, + [3] = {.index = 2, .length = 1}, + [5] = {.index = 3, .length = 1}, + [6] = {.index = 4, .length = 2}, + [7] = {.index = 6, .length = 2}, + [8] = {.index = 4, .length = 2}, + [9] = {.index = 8, .length = 2}, + [10] = {.index = 10, .length = 3}, + [11] = {.index = 13, .length = 2}, + [12] = {.index = 15, .length = 2}, + [13] = {.index = 2, .length = 1}, + [14] = {.index = 15, .length = 2}, + [15] = {.index = 17, .length = 2}, + [16] = {.index = 19, .length = 1}, + [17] = {.index = 20, .length = 1}, + [18] = {.index = 21, .length = 1}, + [19] = {.index = 22, .length = 1}, + [20] = {.index = 23, .length = 1}, + [21] = {.index = 24, .length = 2}, + [22] = {.index = 26, .length = 2}, + [23] = {.index = 28, .length = 2}, + [24] = {.index = 30, .length = 2}, + [25] = {.index = 32, .length = 2}, + [26] = {.index = 34, .length = 2}, + [27] = {.index = 36, .length = 3}, + [28] = {.index = 39, .length = 2}, + [29] = {.index = 39, .length = 2}, + [30] = {.index = 10, .length = 3}, + [31] = {.index = 41, .length = 1}, + [32] = {.index = 42, .length = 1}, + [33] = {.index = 43, .length = 3}, + [34] = {.index = 46, .length = 1}, + [35] = {.index = 42, .length = 1}, + [36] = {.index = 46, .length = 1}, + [37] = {.index = 47, .length = 2}, + [38] = {.index = 49, .length = 2}, + [39] = {.index = 51, .length = 3}, + [40] = {.index = 54, .length = 1}, + [41] = {.index = 55, .length = 2}, + [42] = {.index = 54, .length = 1}, + [43] = {.index = 55, .length = 2}, + [44] = {.index = 57, .length = 1}, + [45] = {.index = 58, .length = 1}, + [46] = {.index = 59, .length = 1}, + [48] = {.index = 60, .length = 3}, + [49] = {.index = 63, .length = 2}, + [50] = {.index = 65, .length = 3}, + [51] = {.index = 68, .length = 2}, + [52] = {.index = 68, .length = 2}, + [53] = {.index = 70, .length = 1}, + [55] = {.index = 71, .length = 2}, + [56] = {.index = 73, .length = 2}, + [57] = {.index = 75, .length = 1}, + [58] = {.index = 76, .length = 2}, + [59] = {.index = 76, .length = 2}, + [60] = {.index = 78, .length = 3}, +}; + +static const TSFieldMapEntry ts_field_map_entries[] = { + [0] = + {field_inner, 0}, + [1] = + {field_outer, 0}, + [2] = + {field_name, 1}, + [3] = + {field_body, 1}, + [4] = + {field_body, 1}, + {field_name, 0}, + [6] = + {field_arguments, 1}, + {field_function, 0}, + [8] = + {field_body, 1}, + {field_parameters, 0}, + [10] = + {field_doc, 2}, + {field_inner, 1, .inherited = true}, + {field_outer, 1, .inherited = true}, + [13] = + {field_inner, 1, .inherited = true}, + {field_outer, 1, .inherited = true}, + [15] = + {field_body, 2}, + {field_name, 1}, + [17] = + {field_body, 2}, + {field_parameters, 1}, + [19] = + {field_right, 1}, + [20] = + {field_left, 0}, + [21] = + {field_pattern, 1}, + [22] = + {field_list, 1}, + [23] = + {field_argument, 1}, + [24] = + {field_condition, 1}, + {field_consequence, 2}, + [26] = + {field_body, 2}, + {field_value, 1}, + [28] = + {field_body, 2}, + {field_condition, 1}, + [30] = + {field_arguments, 2}, + {field_macro, 0}, + [32] = + {field_name, 2}, + {field_path, 0}, + [34] = + {field_left, 0}, + {field_right, 2}, + [36] = + {field_left, 0}, + {field_operator, 1}, + {field_right, 2}, + [39] = + {field_field, 2}, + {field_value, 0}, + [41] = + {field_arguments, 1}, + [42] = + {field_name, 0}, + [43] = + {field_body, 3}, + {field_name, 1}, + {field_parameters, 2}, + [46] = + {field_type, 0}, + [47] = + {field_list, 2}, + {field_path, 0}, + [49] = + {field_alias, 2}, + {field_path, 0}, + [51] = + {field_alternative, 3}, + {field_condition, 1}, + {field_consequence, 2}, + [54] = + {field_name, 2}, + [55] = + {field_body, 3}, + {field_name, 2}, + [57] = + {field_argument, 2}, + [58] = + {field_value, 2}, + [59] = + {field_length, 3}, + [60] = + {field_body, 4}, + {field_name, 2}, + {field_parameters, 3}, + [63] = + {field_pattern, 1}, + {field_value, 3}, + [65] = + {field_body, 4}, + {field_pattern, 1}, + {field_value, 3}, + [68] = + {field_field, 0}, + {field_value, 2}, + [70] = + {field_length, 4}, + [71] = + {field_name, 0}, + {field_pattern, 2}, + [73] = + {field_pattern, 0}, + {field_value, 2}, + [75] = + {field_condition, 2}, + [76] = + {field_field, 1}, + {field_value, 3}, + [78] = + {field_body, 5}, + {field_name, 3}, + {field_parameters, 4}, +}; + +static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { + [0] = {0}, + [4] = { + [0] = alias_sym_let_chain, + }, + [6] = { + [0] = alias_sym_type_identifier, + }, + [13] = { + [1] = alias_sym_type_identifier, + }, + [14] = { + [1] = alias_sym_type_identifier, + }, + [29] = { + [2] = alias_sym_field_identifier, + }, + [30] = { + [2] = sym__line_doc_content, + }, + [34] = { + [0] = alias_sym_type_identifier, + }, + [35] = { + [0] = alias_sym_shorthand_field_identifier, + }, + [42] = { + [2] = alias_sym_type_identifier, + }, + [43] = { + [2] = alias_sym_type_identifier, + }, + [47] = { + [1] = alias_sym_field_identifier, + }, + [52] = { + [0] = alias_sym_field_identifier, + }, + [54] = { + [2] = alias_sym_field_identifier, + }, + [55] = { + [0] = alias_sym_field_identifier, + }, + [59] = { + [1] = alias_sym_field_identifier, + }, +}; + +static const uint16_t ts_non_terminal_alias_map[] = { + sym__let_chain, 2, + sym__let_chain, + alias_sym_let_chain, + 0, +}; + +static const TSStateId ts_primary_state_ids[STATE_COUNT] = { + [0] = 0, + [1] = 1, + [2] = 2, + [3] = 3, + [4] = 4, + [5] = 5, + [6] = 6, + [7] = 2, + [8] = 6, + [9] = 5, + [10] = 2, + [11] = 6, + [12] = 2, + [13] = 6, + [14] = 3, + [15] = 4, + [16] = 16, + [17] = 17, + [18] = 18, + [19] = 19, + [20] = 16, + [21] = 17, + [22] = 19, + [23] = 19, + [24] = 16, + [25] = 25, + [26] = 26, + [27] = 27, + [28] = 28, + [29] = 29, + [30] = 30, + [31] = 31, + [32] = 32, + [33] = 33, + [34] = 34, + [35] = 35, + [36] = 36, + [37] = 37, + [38] = 38, + [39] = 39, + [40] = 40, + [41] = 41, + [42] = 42, + [43] = 43, + [44] = 44, + [45] = 45, + [46] = 46, + [47] = 39, + [48] = 48, + [49] = 49, + [50] = 50, + [51] = 51, + [52] = 51, + [53] = 53, + [54] = 54, + [55] = 55, + [56] = 56, + [57] = 57, + [58] = 58, + [59] = 59, + [60] = 59, + [61] = 61, + [62] = 62, + [63] = 55, + [64] = 62, + [65] = 53, + [66] = 66, + [67] = 66, + [68] = 68, + [69] = 69, + [70] = 70, + [71] = 71, + [72] = 72, + [73] = 68, + [74] = 74, + [75] = 75, + [76] = 76, + [77] = 77, + [78] = 76, + [79] = 77, + [80] = 80, + [81] = 81, + [82] = 82, + [83] = 83, + [84] = 84, + [85] = 85, + [86] = 86, + [87] = 87, + [88] = 88, + [89] = 89, + [90] = 90, + [91] = 91, + [92] = 85, + [93] = 93, + [94] = 94, + [95] = 95, + [96] = 96, + [97] = 97, + [98] = 98, + [99] = 99, + [100] = 100, + [101] = 101, + [102] = 88, + [103] = 103, + [104] = 103, + [105] = 105, + [106] = 83, + [107] = 107, + [108] = 108, + [109] = 109, + [110] = 110, + [111] = 100, + [112] = 93, + [113] = 113, + [114] = 91, + [115] = 85, + [116] = 94, + [117] = 96, + [118] = 118, + [119] = 96, + [120] = 110, + [121] = 105, + [122] = 122, + [123] = 101, + [124] = 91, + [125] = 125, + [126] = 96, + [127] = 127, + [128] = 109, + [129] = 97, + [130] = 98, + [131] = 131, + [132] = 132, + [133] = 89, + [134] = 99, + [135] = 95, + [136] = 113, + [137] = 137, + [138] = 28, + [139] = 27, + [140] = 26, + [141] = 40, + [142] = 46, + [143] = 45, + [144] = 43, + [145] = 44, + [146] = 41, + [147] = 147, + [148] = 148, + [149] = 149, + [150] = 150, + [151] = 151, + [152] = 152, + [153] = 153, + [154] = 25, + [155] = 155, + [156] = 156, + [157] = 157, + [158] = 158, + [159] = 159, + [160] = 160, + [161] = 161, + [162] = 162, + [163] = 163, + [164] = 164, + [165] = 165, + [166] = 166, + [167] = 167, + [168] = 168, + [169] = 169, + [170] = 170, + [171] = 171, + [172] = 172, + [173] = 173, + [174] = 174, + [175] = 175, + [176] = 176, + [177] = 177, + [178] = 178, + [179] = 179, + [180] = 180, + [181] = 181, + [182] = 182, + [183] = 183, + [184] = 184, + [185] = 185, + [186] = 186, + [187] = 36, + [188] = 37, + [189] = 189, + [190] = 190, + [191] = 191, + [192] = 192, + [193] = 29, + [194] = 30, + [195] = 31, + [196] = 32, + [197] = 33, + [198] = 34, + [199] = 35, + [200] = 38, + [201] = 201, + [202] = 202, + [203] = 203, + [204] = 204, + [205] = 204, + [206] = 206, + [207] = 207, + [208] = 208, + [209] = 209, + [210] = 149, + [211] = 211, + [212] = 212, + [213] = 213, + [214] = 150, + [215] = 215, + [216] = 216, + [217] = 217, + [218] = 218, + [219] = 219, + [220] = 220, + [221] = 221, + [222] = 222, + [223] = 223, + [224] = 213, + [225] = 225, + [226] = 226, + [227] = 227, + [228] = 228, + [229] = 229, + [230] = 230, + [231] = 231, + [232] = 232, + [233] = 233, + [234] = 234, + [235] = 235, + [236] = 236, + [237] = 237, + [238] = 238, + [239] = 239, + [240] = 240, + [241] = 241, + [242] = 242, + [243] = 243, + [244] = 244, + [245] = 245, + [246] = 246, + [247] = 247, + [248] = 248, + [249] = 249, + [250] = 250, + [251] = 251, + [252] = 252, + [253] = 253, + [254] = 254, + [255] = 255, + [256] = 256, + [257] = 257, + [258] = 258, + [259] = 28, + [260] = 260, + [261] = 26, + [262] = 27, + [263] = 263, + [264] = 264, + [265] = 265, + [266] = 266, + [267] = 267, + [268] = 268, + [269] = 269, + [270] = 149, + [271] = 150, + [272] = 272, + [273] = 273, + [274] = 274, + [275] = 275, + [276] = 276, + [277] = 277, + [278] = 278, + [279] = 279, + [280] = 280, + [281] = 281, + [282] = 282, + [283] = 281, + [284] = 279, + [285] = 285, + [286] = 286, + [287] = 287, + [288] = 288, + [289] = 216, + [290] = 223, + [291] = 286, + [292] = 292, + [293] = 293, + [294] = 217, + [295] = 225, + [296] = 219, + [297] = 220, + [298] = 221, + [299] = 226, + [300] = 208, + [301] = 211, + [302] = 212, + [303] = 215, + [304] = 218, + [305] = 305, + [306] = 306, + [307] = 307, + [308] = 308, + [309] = 309, + [310] = 216, + [311] = 223, + [312] = 312, + [313] = 306, + [314] = 222, + [315] = 206, + [316] = 207, + [317] = 317, + [318] = 209, + [319] = 305, + [320] = 320, + [321] = 321, + [322] = 322, + [323] = 306, + [324] = 305, + [325] = 325, + [326] = 321, + [327] = 327, + [328] = 328, + [329] = 329, + [330] = 330, + [331] = 331, + [332] = 332, + [333] = 333, + [334] = 334, + [335] = 330, + [336] = 336, + [337] = 337, + [338] = 338, + [339] = 339, + [340] = 332, + [341] = 341, + [342] = 342, + [343] = 343, + [344] = 334, + [345] = 329, + [346] = 346, + [347] = 347, + [348] = 348, + [349] = 349, + [350] = 350, + [351] = 351, + [352] = 352, + [353] = 353, + [354] = 351, + [355] = 355, + [356] = 356, + [357] = 357, + [358] = 358, + [359] = 359, + [360] = 355, + [361] = 361, + [362] = 356, + [363] = 363, + [364] = 364, + [365] = 365, + [366] = 366, + [367] = 367, + [368] = 368, + [369] = 368, + [370] = 370, + [371] = 365, + [372] = 372, + [373] = 373, + [374] = 374, + [375] = 375, + [376] = 376, + [377] = 377, + [378] = 378, + [379] = 379, + [380] = 380, + [381] = 381, + [382] = 162, + [383] = 252, + [384] = 384, + [385] = 385, + [386] = 386, + [387] = 162, + [388] = 251, + [389] = 260, + [390] = 264, + [391] = 253, + [392] = 254, + [393] = 231, + [394] = 232, + [395] = 236, + [396] = 257, + [397] = 248, + [398] = 266, + [399] = 263, + [400] = 267, + [401] = 230, + [402] = 239, + [403] = 240, + [404] = 242, + [405] = 244, + [406] = 245, + [407] = 246, + [408] = 252, + [409] = 258, + [410] = 151, + [411] = 268, + [412] = 265, + [413] = 238, + [414] = 243, + [415] = 415, + [416] = 255, + [417] = 228, + [418] = 241, + [419] = 233, + [420] = 420, + [421] = 237, + [422] = 153, + [423] = 247, + [424] = 249, + [425] = 250, + [426] = 256, + [427] = 227, + [428] = 428, + [429] = 429, + [430] = 430, + [431] = 431, + [432] = 432, + [433] = 433, + [434] = 434, + [435] = 172, + [436] = 436, + [437] = 437, + [438] = 434, + [439] = 432, + [440] = 181, + [441] = 174, + [442] = 442, + [443] = 443, + [444] = 444, + [445] = 445, + [446] = 446, + [447] = 447, + [448] = 448, + [449] = 449, + [450] = 450, + [451] = 451, + [452] = 452, + [453] = 453, + [454] = 454, + [455] = 455, + [456] = 456, + [457] = 457, + [458] = 453, + [459] = 459, + [460] = 460, + [461] = 461, + [462] = 462, + [463] = 463, + [464] = 464, + [465] = 465, + [466] = 466, + [467] = 467, + [468] = 468, + [469] = 469, + [470] = 470, + [471] = 471, + [472] = 472, + [473] = 473, + [474] = 474, + [475] = 475, + [476] = 476, + [477] = 477, + [478] = 478, + [479] = 477, + [480] = 476, + [481] = 481, + [482] = 478, + [483] = 483, + [484] = 484, + [485] = 485, + [486] = 486, + [487] = 483, + [488] = 349, + [489] = 489, + [490] = 490, + [491] = 491, + [492] = 492, + [493] = 492, + [494] = 494, + [495] = 495, + [496] = 490, + [497] = 492, + [498] = 490, + [499] = 499, + [500] = 500, + [501] = 500, + [502] = 499, + [503] = 503, + [504] = 504, + [505] = 505, + [506] = 506, + [507] = 507, + [508] = 508, + [509] = 509, + [510] = 510, + [511] = 511, + [512] = 512, + [513] = 513, + [514] = 514, + [515] = 515, + [516] = 516, + [517] = 517, + [518] = 518, + [519] = 519, + [520] = 520, + [521] = 521, + [522] = 522, + [523] = 515, + [524] = 516, + [525] = 519, + [526] = 526, + [527] = 527, + [528] = 528, + [529] = 517, + [530] = 530, + [531] = 363, + [532] = 527, + [533] = 526, + [534] = 534, + [535] = 535, + [536] = 536, + [537] = 537, + [538] = 538, + [539] = 539, + [540] = 540, + [541] = 541, + [542] = 542, + [543] = 540, + [544] = 544, + [545] = 545, + [546] = 546, + [547] = 547, + [548] = 548, + [549] = 549, + [550] = 550, + [551] = 551, + [552] = 552, + [553] = 538, + [554] = 554, + [555] = 540, + [556] = 539, + [557] = 557, + [558] = 558, + [559] = 542, + [560] = 560, + [561] = 561, + [562] = 562, + [563] = 563, + [564] = 564, + [565] = 565, + [566] = 566, + [567] = 567, + [568] = 568, + [569] = 569, + [570] = 570, + [571] = 571, + [572] = 572, + [573] = 573, + [574] = 574, + [575] = 575, + [576] = 576, + [577] = 577, + [578] = 578, + [579] = 579, + [580] = 580, + [581] = 581, + [582] = 582, + [583] = 583, + [584] = 584, + [585] = 585, + [586] = 586, + [587] = 587, + [588] = 588, + [589] = 589, + [590] = 590, + [591] = 591, + [592] = 592, + [593] = 593, + [594] = 594, + [595] = 595, + [596] = 596, + [597] = 597, + [598] = 598, + [599] = 599, + [600] = 600, + [601] = 601, + [602] = 602, + [603] = 603, + [604] = 604, + [605] = 605, + [606] = 606, + [607] = 607, + [608] = 608, + [609] = 609, + [610] = 610, + [611] = 611, + [612] = 612, + [613] = 589, + [614] = 614, + [615] = 615, + [616] = 616, + [617] = 617, + [618] = 618, + [619] = 619, + [620] = 562, + [621] = 621, + [622] = 583, + [623] = 588, + [624] = 624, + [625] = 625, + [626] = 564, + [627] = 627, + [628] = 628, + [629] = 567, + [630] = 568, + [631] = 572, + [632] = 573, + [633] = 592, + [634] = 597, + [635] = 635, + [636] = 636, + [637] = 637, + [638] = 609, + [639] = 639, + [640] = 640, + [641] = 641, + [642] = 642, + [643] = 643, + [644] = 644, + [645] = 645, + [646] = 561, + [647] = 647, + [648] = 648, + [649] = 649, + [650] = 650, + [651] = 651, + [652] = 652, + [653] = 653, + [654] = 654, + [655] = 655, + [656] = 656, + [657] = 657, + [658] = 658, + [659] = 659, + [660] = 660, + [661] = 649, + [662] = 662, + [663] = 663, + [664] = 664, + [665] = 665, + [666] = 666, + [667] = 667, + [668] = 667, + [669] = 669, + [670] = 670, + [671] = 671, + [672] = 655, + [673] = 647, + [674] = 666, + [675] = 675, + [676] = 671, + [677] = 677, + [678] = 678, + [679] = 663, + [680] = 680, + [681] = 660, + [682] = 682, + [683] = 683, + [684] = 682, + [685] = 685, + [686] = 686, + [687] = 651, + [688] = 685, + [689] = 689, + [690] = 690, + [691] = 691, + [692] = 650, + [693] = 693, + [694] = 694, + [695] = 677, + [696] = 696, + [697] = 697, + [698] = 698, + [699] = 678, + [700] = 700, + [701] = 701, + [702] = 675, + [703] = 703, + [704] = 653, + [705] = 652, + [706] = 700, + [707] = 683, + [708] = 700, + [709] = 709, + [710] = 710, + [711] = 711, + [712] = 712, + [713] = 713, + [714] = 714, + [715] = 715, + [716] = 716, + [717] = 717, + [718] = 718, + [719] = 719, + [720] = 720, + [721] = 721, + [722] = 722, + [723] = 723, + [724] = 724, + [725] = 725, + [726] = 726, + [727] = 727, + [728] = 728, + [729] = 729, + [730] = 730, + [731] = 722, + [732] = 732, + [733] = 733, + [734] = 734, + [735] = 735, + [736] = 736, + [737] = 737, + [738] = 738, + [739] = 739, + [740] = 740, + [741] = 723, + [742] = 742, + [743] = 743, + [744] = 744, + [745] = 745, + [746] = 733, + [747] = 720, + [748] = 748, + [749] = 749, + [750] = 750, + [751] = 751, + [752] = 752, + [753] = 753, + [754] = 754, + [755] = 755, + [756] = 756, + [757] = 729, + [758] = 710, + [759] = 759, + [760] = 760, + [761] = 761, + [762] = 762, + [763] = 716, + [764] = 716, + [765] = 722, + [766] = 748, + [767] = 767, + [768] = 740, + [769] = 728, + [770] = 770, + [771] = 756, + [772] = 739, + [773] = 773, + [774] = 774, + [775] = 775, + [776] = 776, + [777] = 777, + [778] = 778, + [779] = 779, + [780] = 752, + [781] = 770, + [782] = 713, + [783] = 783, + [784] = 784, + [785] = 785, + [786] = 786, + [787] = 751, + [788] = 767, + [789] = 777, + [790] = 790, + [791] = 791, + [792] = 792, + [793] = 793, + [794] = 794, + [795] = 745, + [796] = 735, + [797] = 779, + [798] = 744, + [799] = 799, + [800] = 750, + [801] = 801, + [802] = 779, + [803] = 803, + [804] = 719, + [805] = 805, + [806] = 806, + [807] = 807, + [808] = 808, + [809] = 809, + [810] = 810, + [811] = 811, + [812] = 812, +}; + +static const TSSymbol ts_supertype_symbols[SUPERTYPE_COUNT] = { + sym__expression, + sym__literal, + sym__pattern, +}; + +static const TSMapSlice ts_supertype_map_slices[] = { + [sym__expression] = {.index = 0, .length = 30}, + [sym__literal] = {.index = 30, .length = 5}, + [sym__pattern] = {.index = 35, .length = 17}, +}; + +static const TSSymbol ts_supertype_map_entries[] = { + [0] = + sym__literal, + sym_array_expression, + sym_assignment_expression, + sym_async_block, + sym_await_expression, + sym_binary_expression, + sym_block, + sym_break_expression, + sym_call_expression, + sym_closure_expression, + sym_compound_assignment_expr, + sym_continue_expression, + sym_field_expression, + sym_for_expression, + sym_identifier, + sym_if_expression, + sym_index_expression, + sym_loop_expression, + sym_macro_invocation, + sym_match_expression, + sym_parenthesized_expression, + sym_range_expression, + sym_return_expression, + sym_scoped_identifier, + sym_self, + sym_struct_expression, + sym_tuple_expression, + sym_unary_expression, + sym_while_expression, + sym_yield_expression, + [30] = + sym_boolean_literal, + sym_char_literal, + sym_float_literal, + sym_integer_literal, + sym_string_literal, + [35] = + anon_sym__, + sym_boolean_literal, + sym_captured_pattern, + sym_char_literal, + sym_float_literal, + sym_identifier, + sym_integer_literal, + sym_negative_literal, + sym_or_pattern, + sym_range_pattern, + sym_remaining_field_pattern, + sym_scoped_identifier, + sym_slice_pattern, + sym_string_literal, + sym_struct_pattern, + sym_tuple_pattern, + sym_tuple_struct_pattern, +}; + +static const TSCharacterRange sym_identifier_character_set_1[] = { + {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, {0xba, 0xba}, {0xc0, 0xd6}, {0xd8, 0xf6}, + {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x370, 0x374}, {0x376, 0x377}, {0x37b, 0x37d}, + {0x37f, 0x37f}, {0x386, 0x386}, {0x388, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5}, {0x3f7, 0x481}, {0x48a, 0x52f}, + {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x620, 0x64a}, {0x66e, 0x66f}, {0x671, 0x6d3}, + {0x6d5, 0x6d5}, {0x6e5, 0x6e6}, {0x6ee, 0x6ef}, {0x6fa, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x710}, {0x712, 0x72f}, {0x74d, 0x7a5}, + {0x7b1, 0x7b1}, {0x7ca, 0x7ea}, {0x7f4, 0x7f5}, {0x7fa, 0x7fa}, {0x800, 0x815}, {0x81a, 0x81a}, {0x824, 0x824}, {0x828, 0x828}, + {0x840, 0x858}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {0x8a0, 0x8c9}, {0x904, 0x939}, {0x93d, 0x93d}, {0x950, 0x950}, + {0x958, 0x961}, {0x971, 0x980}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, + {0x9bd, 0x9bd}, {0x9ce, 0x9ce}, {0x9dc, 0x9dd}, {0x9df, 0x9e1}, {0x9f0, 0x9f1}, {0x9fc, 0x9fc}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, + {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa72, 0xa74}, + {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabd, 0xabd}, {0xad0, 0xad0}, + {0xae0, 0xae1}, {0xaf9, 0xaf9}, {0xb05, 0xb0c}, {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39}, + {0xb3d, 0xb3d}, {0xb5c, 0xb5d}, {0xb5f, 0xb61}, {0xb71, 0xb71}, {0xb83, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90}, {0xb92, 0xb95}, + {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb9}, {0xbd0, 0xbd0}, {0xc05, 0xc0c}, + {0xc0e, 0xc10}, {0xc12, 0xc28}, {0xc2a, 0xc39}, {0xc3d, 0xc3d}, {0xc58, 0xc5a}, {0xc5d, 0xc5d}, {0xc60, 0xc61}, {0xc80, 0xc80}, + {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbd, 0xcbd}, {0xcdd, 0xcde}, {0xce0, 0xce1}, + {0xcf1, 0xcf2}, {0xd04, 0xd0c}, {0xd0e, 0xd10}, {0xd12, 0xd3a}, {0xd3d, 0xd3d}, {0xd4e, 0xd4e}, {0xd54, 0xd56}, {0xd5f, 0xd61}, + {0xd7a, 0xd7f}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xe01, 0xe30}, {0xe32, 0xe32}, + {0xe40, 0xe46}, {0xe81, 0xe82}, {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xeb0}, {0xeb2, 0xeb2}, + {0xebd, 0xebd}, {0xec0, 0xec4}, {0xec6, 0xec6}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf40, 0xf47}, {0xf49, 0xf6c}, {0xf88, 0xf8c}, + {0x1000, 0x102a}, {0x103f, 0x103f}, {0x1050, 0x1055}, {0x105a, 0x105d}, {0x1061, 0x1061}, {0x1065, 0x1066}, {0x106e, 0x1070}, {0x1075, 0x1081}, + {0x108e, 0x108e}, {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, + {0x1258, 0x1258}, {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, + {0x12c2, 0x12c5}, {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x1380, 0x138f}, {0x13a0, 0x13f5}, {0x13f8, 0x13fd}, + {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, {0x1700, 0x1711}, {0x171f, 0x1731}, {0x1740, 0x1751}, + {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1780, 0x17b3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dc}, {0x1820, 0x1878}, {0x1880, 0x18a8}, {0x18aa, 0x18aa}, + {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1950, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x1a00, 0x1a16}, {0x1a20, 0x1a54}, + {0x1aa7, 0x1aa7}, {0x1b05, 0x1b33}, {0x1b45, 0x1b4c}, {0x1b83, 0x1ba0}, {0x1bae, 0x1baf}, {0x1bba, 0x1be5}, {0x1c00, 0x1c23}, {0x1c4d, 0x1c4f}, + {0x1c5a, 0x1c7d}, {0x1c80, 0x1c8a}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1ce9, 0x1cec}, {0x1cee, 0x1cf3}, {0x1cf5, 0x1cf6}, {0x1cfa, 0x1cfa}, + {0x1d00, 0x1dbf}, {0x1e00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, + {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, + {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x2071, 0x2071}, {0x207f, 0x207f}, {0x2090, 0x209c}, {0x2102, 0x2102}, + {0x2107, 0x2107}, {0x210a, 0x2113}, {0x2115, 0x2115}, {0x2118, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x2139}, + {0x213c, 0x213f}, {0x2145, 0x2149}, {0x214e, 0x214e}, {0x2160, 0x2188}, {0x2c00, 0x2ce4}, {0x2ceb, 0x2cee}, {0x2cf2, 0x2cf3}, {0x2d00, 0x2d25}, + {0x2d27, 0x2d27}, {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, {0x2d6f, 0x2d6f}, {0x2d80, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, + {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x3005, 0x3007}, {0x3021, 0x3029}, {0x3031, 0x3035}, + {0x3038, 0x303c}, {0x3041, 0x3096}, {0x309d, 0x309f}, {0x30a1, 0x30fa}, {0x30fc, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31bf}, + {0x31f0, 0x31ff}, {0x3400, 0x4dbf}, {0x4e00, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, {0xa610, 0xa61f}, {0xa62a, 0xa62b}, {0xa640, 0xa66e}, + {0xa67f, 0xa69d}, {0xa6a0, 0xa6ef}, {0xa717, 0xa71f}, {0xa722, 0xa788}, {0xa78b, 0xa7cd}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7dc}, + {0xa7f2, 0xa801}, {0xa803, 0xa805}, {0xa807, 0xa80a}, {0xa80c, 0xa822}, {0xa840, 0xa873}, {0xa882, 0xa8b3}, {0xa8f2, 0xa8f7}, {0xa8fb, 0xa8fb}, + {0xa8fd, 0xa8fe}, {0xa90a, 0xa925}, {0xa930, 0xa946}, {0xa960, 0xa97c}, {0xa984, 0xa9b2}, {0xa9cf, 0xa9cf}, {0xa9e0, 0xa9e4}, {0xa9e6, 0xa9ef}, + {0xa9fa, 0xa9fe}, {0xaa00, 0xaa28}, {0xaa40, 0xaa42}, {0xaa44, 0xaa4b}, {0xaa60, 0xaa76}, {0xaa7a, 0xaa7a}, {0xaa7e, 0xaaaf}, {0xaab1, 0xaab1}, + {0xaab5, 0xaab6}, {0xaab9, 0xaabd}, {0xaac0, 0xaac0}, {0xaac2, 0xaac2}, {0xaadb, 0xaadd}, {0xaae0, 0xaaea}, {0xaaf2, 0xaaf4}, {0xab01, 0xab06}, + {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab5a}, {0xab5c, 0xab69}, {0xab70, 0xabe2}, {0xac00, 0xd7a3}, + {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb1d}, {0xfb1f, 0xfb28}, + {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfc5d}, {0xfc64, 0xfd3d}, + {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdf9}, {0xfe71, 0xfe71}, {0xfe73, 0xfe73}, {0xfe77, 0xfe77}, {0xfe79, 0xfe79}, {0xfe7b, 0xfe7b}, + {0xfe7d, 0xfe7d}, {0xfe7f, 0xfefc}, {0xff21, 0xff3a}, {0xff41, 0xff5a}, {0xff66, 0xff9d}, {0xffa0, 0xffbe}, {0xffc2, 0xffc7}, {0xffca, 0xffcf}, + {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, {0x10050, 0x1005d}, + {0x10080, 0x100fa}, {0x10140, 0x10174}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x10300, 0x1031f}, {0x1032d, 0x1034a}, {0x10350, 0x10375}, {0x10380, 0x1039d}, + {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, + {0x10570, 0x1057a}, {0x1057c, 0x1058a}, {0x1058c, 0x10592}, {0x10594, 0x10595}, {0x10597, 0x105a1}, {0x105a3, 0x105b1}, {0x105b3, 0x105b9}, {0x105bb, 0x105bc}, + {0x105c0, 0x105f3}, {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}, {0x10780, 0x10785}, {0x10787, 0x107b0}, {0x107b2, 0x107ba}, {0x10800, 0x10805}, + {0x10808, 0x10808}, {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083c, 0x1083c}, {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2}, + {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, {0x10980, 0x109b7}, {0x109be, 0x109bf}, {0x10a00, 0x10a00}, {0x10a10, 0x10a13}, {0x10a15, 0x10a17}, + {0x10a19, 0x10a35}, {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae4}, {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, + {0x10b80, 0x10b91}, {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d23}, {0x10d4a, 0x10d65}, {0x10d6f, 0x10d85}, {0x10e80, 0x10ea9}, + {0x10eb0, 0x10eb1}, {0x10ec2, 0x10ec4}, {0x10f00, 0x10f1c}, {0x10f27, 0x10f27}, {0x10f30, 0x10f45}, {0x10f70, 0x10f81}, {0x10fb0, 0x10fc4}, {0x10fe0, 0x10ff6}, + {0x11003, 0x11037}, {0x11071, 0x11072}, {0x11075, 0x11075}, {0x11083, 0x110af}, {0x110d0, 0x110e8}, {0x11103, 0x11126}, {0x11144, 0x11144}, {0x11147, 0x11147}, + {0x11150, 0x11172}, {0x11176, 0x11176}, {0x11183, 0x111b2}, {0x111c1, 0x111c4}, {0x111da, 0x111da}, {0x111dc, 0x111dc}, {0x11200, 0x11211}, {0x11213, 0x1122b}, + {0x1123f, 0x11240}, {0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, {0x1129f, 0x112a8}, {0x112b0, 0x112de}, {0x11305, 0x1130c}, + {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1133d, 0x1133d}, {0x11350, 0x11350}, {0x1135d, 0x11361}, + {0x11380, 0x11389}, {0x1138b, 0x1138b}, {0x1138e, 0x1138e}, {0x11390, 0x113b5}, {0x113b7, 0x113b7}, {0x113d1, 0x113d1}, {0x113d3, 0x113d3}, {0x11400, 0x11434}, + {0x11447, 0x1144a}, {0x1145f, 0x11461}, {0x11480, 0x114af}, {0x114c4, 0x114c5}, {0x114c7, 0x114c7}, {0x11580, 0x115ae}, {0x115d8, 0x115db}, {0x11600, 0x1162f}, + {0x11644, 0x11644}, {0x11680, 0x116aa}, {0x116b8, 0x116b8}, {0x11700, 0x1171a}, {0x11740, 0x11746}, {0x11800, 0x1182b}, {0x118a0, 0x118df}, {0x118ff, 0x11906}, + {0x11909, 0x11909}, {0x1190c, 0x11913}, {0x11915, 0x11916}, {0x11918, 0x1192f}, {0x1193f, 0x1193f}, {0x11941, 0x11941}, {0x119a0, 0x119a7}, {0x119aa, 0x119d0}, + {0x119e1, 0x119e1}, {0x119e3, 0x119e3}, {0x11a00, 0x11a00}, {0x11a0b, 0x11a32}, {0x11a3a, 0x11a3a}, {0x11a50, 0x11a50}, {0x11a5c, 0x11a89}, {0x11a9d, 0x11a9d}, + {0x11ab0, 0x11af8}, {0x11bc0, 0x11be0}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c2e}, {0x11c40, 0x11c40}, {0x11c72, 0x11c8f}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, + {0x11d0b, 0x11d30}, {0x11d46, 0x11d46}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d89}, {0x11d98, 0x11d98}, {0x11ee0, 0x11ef2}, {0x11f02, 0x11f02}, + {0x11f04, 0x11f10}, {0x11f12, 0x11f33}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, {0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342f}, + {0x13441, 0x13446}, {0x13460, 0x143fa}, {0x14400, 0x14646}, {0x16100, 0x1611d}, {0x16800, 0x16a38}, {0x16a40, 0x16a5e}, {0x16a70, 0x16abe}, {0x16ad0, 0x16aed}, + {0x16b00, 0x16b2f}, {0x16b40, 0x16b43}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16d40, 0x16d6c}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, {0x16f50, 0x16f50}, + {0x16f93, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe3}, {0x17000, 0x187f7}, {0x18800, 0x18cd5}, {0x18cff, 0x18d08}, {0x1aff0, 0x1aff3}, {0x1aff5, 0x1affb}, + {0x1affd, 0x1affe}, {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, {0x1b150, 0x1b152}, {0x1b155, 0x1b155}, {0x1b164, 0x1b167}, {0x1b170, 0x1b2fb}, {0x1bc00, 0x1bc6a}, + {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, + {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, + {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, + {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, + {0x1d7c4, 0x1d7cb}, {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, {0x1e030, 0x1e06d}, {0x1e100, 0x1e12c}, {0x1e137, 0x1e13d}, {0x1e14e, 0x1e14e}, {0x1e290, 0x1e2ad}, + {0x1e2c0, 0x1e2eb}, {0x1e4d0, 0x1e4eb}, {0x1e5d0, 0x1e5ed}, {0x1e5f0, 0x1e5f0}, {0x1e7e0, 0x1e7e6}, {0x1e7e8, 0x1e7eb}, {0x1e7ed, 0x1e7ee}, {0x1e7f0, 0x1e7fe}, + {0x1e800, 0x1e8c4}, {0x1e900, 0x1e943}, {0x1e94b, 0x1e94b}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee24, 0x1ee24}, {0x1ee27, 0x1ee27}, + {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee39, 0x1ee39}, {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42}, {0x1ee47, 0x1ee47}, {0x1ee49, 0x1ee49}, {0x1ee4b, 0x1ee4b}, + {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee54, 0x1ee54}, {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59}, {0x1ee5b, 0x1ee5b}, {0x1ee5d, 0x1ee5d}, {0x1ee5f, 0x1ee5f}, + {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee7e, 0x1ee7e}, {0x1ee80, 0x1ee89}, + {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x20000, 0x2a6df}, {0x2a700, 0x2b739}, {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, + {0x2ceb0, 0x2ebe0}, {0x2ebf0, 0x2ee5d}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0x31350, 0x323af}, +}; + +static const TSCharacterRange sym_identifier_character_set_3[] = { + {'0', '9'}, {'A', 'Z'}, {'_', '_'}, {'a', 'z'}, {0xaa, 0xaa}, {0xb5, 0xb5}, {0xb7, 0xb7}, {0xba, 0xba}, + {0xc0, 0xd6}, {0xd8, 0xf6}, {0xf8, 0x2c1}, {0x2c6, 0x2d1}, {0x2e0, 0x2e4}, {0x2ec, 0x2ec}, {0x2ee, 0x2ee}, {0x300, 0x374}, + {0x376, 0x377}, {0x37b, 0x37d}, {0x37f, 0x37f}, {0x386, 0x38a}, {0x38c, 0x38c}, {0x38e, 0x3a1}, {0x3a3, 0x3f5}, {0x3f7, 0x481}, + {0x483, 0x487}, {0x48a, 0x52f}, {0x531, 0x556}, {0x559, 0x559}, {0x560, 0x588}, {0x591, 0x5bd}, {0x5bf, 0x5bf}, {0x5c1, 0x5c2}, + {0x5c4, 0x5c5}, {0x5c7, 0x5c7}, {0x5d0, 0x5ea}, {0x5ef, 0x5f2}, {0x610, 0x61a}, {0x620, 0x669}, {0x66e, 0x6d3}, {0x6d5, 0x6dc}, + {0x6df, 0x6e8}, {0x6ea, 0x6fc}, {0x6ff, 0x6ff}, {0x710, 0x74a}, {0x74d, 0x7b1}, {0x7c0, 0x7f5}, {0x7fa, 0x7fa}, {0x7fd, 0x7fd}, + {0x800, 0x82d}, {0x840, 0x85b}, {0x860, 0x86a}, {0x870, 0x887}, {0x889, 0x88e}, {0x897, 0x8e1}, {0x8e3, 0x963}, {0x966, 0x96f}, + {0x971, 0x983}, {0x985, 0x98c}, {0x98f, 0x990}, {0x993, 0x9a8}, {0x9aa, 0x9b0}, {0x9b2, 0x9b2}, {0x9b6, 0x9b9}, {0x9bc, 0x9c4}, + {0x9c7, 0x9c8}, {0x9cb, 0x9ce}, {0x9d7, 0x9d7}, {0x9dc, 0x9dd}, {0x9df, 0x9e3}, {0x9e6, 0x9f1}, {0x9fc, 0x9fc}, {0x9fe, 0x9fe}, + {0xa01, 0xa03}, {0xa05, 0xa0a}, {0xa0f, 0xa10}, {0xa13, 0xa28}, {0xa2a, 0xa30}, {0xa32, 0xa33}, {0xa35, 0xa36}, {0xa38, 0xa39}, + {0xa3c, 0xa3c}, {0xa3e, 0xa42}, {0xa47, 0xa48}, {0xa4b, 0xa4d}, {0xa51, 0xa51}, {0xa59, 0xa5c}, {0xa5e, 0xa5e}, {0xa66, 0xa75}, + {0xa81, 0xa83}, {0xa85, 0xa8d}, {0xa8f, 0xa91}, {0xa93, 0xaa8}, {0xaaa, 0xab0}, {0xab2, 0xab3}, {0xab5, 0xab9}, {0xabc, 0xac5}, + {0xac7, 0xac9}, {0xacb, 0xacd}, {0xad0, 0xad0}, {0xae0, 0xae3}, {0xae6, 0xaef}, {0xaf9, 0xaff}, {0xb01, 0xb03}, {0xb05, 0xb0c}, + {0xb0f, 0xb10}, {0xb13, 0xb28}, {0xb2a, 0xb30}, {0xb32, 0xb33}, {0xb35, 0xb39}, {0xb3c, 0xb44}, {0xb47, 0xb48}, {0xb4b, 0xb4d}, + {0xb55, 0xb57}, {0xb5c, 0xb5d}, {0xb5f, 0xb63}, {0xb66, 0xb6f}, {0xb71, 0xb71}, {0xb82, 0xb83}, {0xb85, 0xb8a}, {0xb8e, 0xb90}, + {0xb92, 0xb95}, {0xb99, 0xb9a}, {0xb9c, 0xb9c}, {0xb9e, 0xb9f}, {0xba3, 0xba4}, {0xba8, 0xbaa}, {0xbae, 0xbb9}, {0xbbe, 0xbc2}, + {0xbc6, 0xbc8}, {0xbca, 0xbcd}, {0xbd0, 0xbd0}, {0xbd7, 0xbd7}, {0xbe6, 0xbef}, {0xc00, 0xc0c}, {0xc0e, 0xc10}, {0xc12, 0xc28}, + {0xc2a, 0xc39}, {0xc3c, 0xc44}, {0xc46, 0xc48}, {0xc4a, 0xc4d}, {0xc55, 0xc56}, {0xc58, 0xc5a}, {0xc5d, 0xc5d}, {0xc60, 0xc63}, + {0xc66, 0xc6f}, {0xc80, 0xc83}, {0xc85, 0xc8c}, {0xc8e, 0xc90}, {0xc92, 0xca8}, {0xcaa, 0xcb3}, {0xcb5, 0xcb9}, {0xcbc, 0xcc4}, + {0xcc6, 0xcc8}, {0xcca, 0xccd}, {0xcd5, 0xcd6}, {0xcdd, 0xcde}, {0xce0, 0xce3}, {0xce6, 0xcef}, {0xcf1, 0xcf3}, {0xd00, 0xd0c}, + {0xd0e, 0xd10}, {0xd12, 0xd44}, {0xd46, 0xd48}, {0xd4a, 0xd4e}, {0xd54, 0xd57}, {0xd5f, 0xd63}, {0xd66, 0xd6f}, {0xd7a, 0xd7f}, + {0xd81, 0xd83}, {0xd85, 0xd96}, {0xd9a, 0xdb1}, {0xdb3, 0xdbb}, {0xdbd, 0xdbd}, {0xdc0, 0xdc6}, {0xdca, 0xdca}, {0xdcf, 0xdd4}, + {0xdd6, 0xdd6}, {0xdd8, 0xddf}, {0xde6, 0xdef}, {0xdf2, 0xdf3}, {0xe01, 0xe3a}, {0xe40, 0xe4e}, {0xe50, 0xe59}, {0xe81, 0xe82}, + {0xe84, 0xe84}, {0xe86, 0xe8a}, {0xe8c, 0xea3}, {0xea5, 0xea5}, {0xea7, 0xebd}, {0xec0, 0xec4}, {0xec6, 0xec6}, {0xec8, 0xece}, + {0xed0, 0xed9}, {0xedc, 0xedf}, {0xf00, 0xf00}, {0xf18, 0xf19}, {0xf20, 0xf29}, {0xf35, 0xf35}, {0xf37, 0xf37}, {0xf39, 0xf39}, + {0xf3e, 0xf47}, {0xf49, 0xf6c}, {0xf71, 0xf84}, {0xf86, 0xf97}, {0xf99, 0xfbc}, {0xfc6, 0xfc6}, {0x1000, 0x1049}, {0x1050, 0x109d}, + {0x10a0, 0x10c5}, {0x10c7, 0x10c7}, {0x10cd, 0x10cd}, {0x10d0, 0x10fa}, {0x10fc, 0x1248}, {0x124a, 0x124d}, {0x1250, 0x1256}, {0x1258, 0x1258}, + {0x125a, 0x125d}, {0x1260, 0x1288}, {0x128a, 0x128d}, {0x1290, 0x12b0}, {0x12b2, 0x12b5}, {0x12b8, 0x12be}, {0x12c0, 0x12c0}, {0x12c2, 0x12c5}, + {0x12c8, 0x12d6}, {0x12d8, 0x1310}, {0x1312, 0x1315}, {0x1318, 0x135a}, {0x135d, 0x135f}, {0x1369, 0x1371}, {0x1380, 0x138f}, {0x13a0, 0x13f5}, + {0x13f8, 0x13fd}, {0x1401, 0x166c}, {0x166f, 0x167f}, {0x1681, 0x169a}, {0x16a0, 0x16ea}, {0x16ee, 0x16f8}, {0x1700, 0x1715}, {0x171f, 0x1734}, + {0x1740, 0x1753}, {0x1760, 0x176c}, {0x176e, 0x1770}, {0x1772, 0x1773}, {0x1780, 0x17d3}, {0x17d7, 0x17d7}, {0x17dc, 0x17dd}, {0x17e0, 0x17e9}, + {0x180b, 0x180d}, {0x180f, 0x1819}, {0x1820, 0x1878}, {0x1880, 0x18aa}, {0x18b0, 0x18f5}, {0x1900, 0x191e}, {0x1920, 0x192b}, {0x1930, 0x193b}, + {0x1946, 0x196d}, {0x1970, 0x1974}, {0x1980, 0x19ab}, {0x19b0, 0x19c9}, {0x19d0, 0x19da}, {0x1a00, 0x1a1b}, {0x1a20, 0x1a5e}, {0x1a60, 0x1a7c}, + {0x1a7f, 0x1a89}, {0x1a90, 0x1a99}, {0x1aa7, 0x1aa7}, {0x1ab0, 0x1abd}, {0x1abf, 0x1ace}, {0x1b00, 0x1b4c}, {0x1b50, 0x1b59}, {0x1b6b, 0x1b73}, + {0x1b80, 0x1bf3}, {0x1c00, 0x1c37}, {0x1c40, 0x1c49}, {0x1c4d, 0x1c7d}, {0x1c80, 0x1c8a}, {0x1c90, 0x1cba}, {0x1cbd, 0x1cbf}, {0x1cd0, 0x1cd2}, + {0x1cd4, 0x1cfa}, {0x1d00, 0x1f15}, {0x1f18, 0x1f1d}, {0x1f20, 0x1f45}, {0x1f48, 0x1f4d}, {0x1f50, 0x1f57}, {0x1f59, 0x1f59}, {0x1f5b, 0x1f5b}, + {0x1f5d, 0x1f5d}, {0x1f5f, 0x1f7d}, {0x1f80, 0x1fb4}, {0x1fb6, 0x1fbc}, {0x1fbe, 0x1fbe}, {0x1fc2, 0x1fc4}, {0x1fc6, 0x1fcc}, {0x1fd0, 0x1fd3}, + {0x1fd6, 0x1fdb}, {0x1fe0, 0x1fec}, {0x1ff2, 0x1ff4}, {0x1ff6, 0x1ffc}, {0x200c, 0x200d}, {0x203f, 0x2040}, {0x2054, 0x2054}, {0x2071, 0x2071}, + {0x207f, 0x207f}, {0x2090, 0x209c}, {0x20d0, 0x20dc}, {0x20e1, 0x20e1}, {0x20e5, 0x20f0}, {0x2102, 0x2102}, {0x2107, 0x2107}, {0x210a, 0x2113}, + {0x2115, 0x2115}, {0x2118, 0x211d}, {0x2124, 0x2124}, {0x2126, 0x2126}, {0x2128, 0x2128}, {0x212a, 0x2139}, {0x213c, 0x213f}, {0x2145, 0x2149}, + {0x214e, 0x214e}, {0x2160, 0x2188}, {0x2c00, 0x2ce4}, {0x2ceb, 0x2cf3}, {0x2d00, 0x2d25}, {0x2d27, 0x2d27}, {0x2d2d, 0x2d2d}, {0x2d30, 0x2d67}, + {0x2d6f, 0x2d6f}, {0x2d7f, 0x2d96}, {0x2da0, 0x2da6}, {0x2da8, 0x2dae}, {0x2db0, 0x2db6}, {0x2db8, 0x2dbe}, {0x2dc0, 0x2dc6}, {0x2dc8, 0x2dce}, + {0x2dd0, 0x2dd6}, {0x2dd8, 0x2dde}, {0x2de0, 0x2dff}, {0x3005, 0x3007}, {0x3021, 0x302f}, {0x3031, 0x3035}, {0x3038, 0x303c}, {0x3041, 0x3096}, + {0x3099, 0x309a}, {0x309d, 0x309f}, {0x30a1, 0x30ff}, {0x3105, 0x312f}, {0x3131, 0x318e}, {0x31a0, 0x31bf}, {0x31f0, 0x31ff}, {0x3400, 0x4dbf}, + {0x4e00, 0xa48c}, {0xa4d0, 0xa4fd}, {0xa500, 0xa60c}, {0xa610, 0xa62b}, {0xa640, 0xa66f}, {0xa674, 0xa67d}, {0xa67f, 0xa6f1}, {0xa717, 0xa71f}, + {0xa722, 0xa788}, {0xa78b, 0xa7cd}, {0xa7d0, 0xa7d1}, {0xa7d3, 0xa7d3}, {0xa7d5, 0xa7dc}, {0xa7f2, 0xa827}, {0xa82c, 0xa82c}, {0xa840, 0xa873}, + {0xa880, 0xa8c5}, {0xa8d0, 0xa8d9}, {0xa8e0, 0xa8f7}, {0xa8fb, 0xa8fb}, {0xa8fd, 0xa92d}, {0xa930, 0xa953}, {0xa960, 0xa97c}, {0xa980, 0xa9c0}, + {0xa9cf, 0xa9d9}, {0xa9e0, 0xa9fe}, {0xaa00, 0xaa36}, {0xaa40, 0xaa4d}, {0xaa50, 0xaa59}, {0xaa60, 0xaa76}, {0xaa7a, 0xaac2}, {0xaadb, 0xaadd}, + {0xaae0, 0xaaef}, {0xaaf2, 0xaaf6}, {0xab01, 0xab06}, {0xab09, 0xab0e}, {0xab11, 0xab16}, {0xab20, 0xab26}, {0xab28, 0xab2e}, {0xab30, 0xab5a}, + {0xab5c, 0xab69}, {0xab70, 0xabea}, {0xabec, 0xabed}, {0xabf0, 0xabf9}, {0xac00, 0xd7a3}, {0xd7b0, 0xd7c6}, {0xd7cb, 0xd7fb}, {0xf900, 0xfa6d}, + {0xfa70, 0xfad9}, {0xfb00, 0xfb06}, {0xfb13, 0xfb17}, {0xfb1d, 0xfb28}, {0xfb2a, 0xfb36}, {0xfb38, 0xfb3c}, {0xfb3e, 0xfb3e}, {0xfb40, 0xfb41}, + {0xfb43, 0xfb44}, {0xfb46, 0xfbb1}, {0xfbd3, 0xfc5d}, {0xfc64, 0xfd3d}, {0xfd50, 0xfd8f}, {0xfd92, 0xfdc7}, {0xfdf0, 0xfdf9}, {0xfe00, 0xfe0f}, + {0xfe20, 0xfe2f}, {0xfe33, 0xfe34}, {0xfe4d, 0xfe4f}, {0xfe71, 0xfe71}, {0xfe73, 0xfe73}, {0xfe77, 0xfe77}, {0xfe79, 0xfe79}, {0xfe7b, 0xfe7b}, + {0xfe7d, 0xfe7d}, {0xfe7f, 0xfefc}, {0xff10, 0xff19}, {0xff21, 0xff3a}, {0xff3f, 0xff3f}, {0xff41, 0xff5a}, {0xff65, 0xffbe}, {0xffc2, 0xffc7}, + {0xffca, 0xffcf}, {0xffd2, 0xffd7}, {0xffda, 0xffdc}, {0x10000, 0x1000b}, {0x1000d, 0x10026}, {0x10028, 0x1003a}, {0x1003c, 0x1003d}, {0x1003f, 0x1004d}, + {0x10050, 0x1005d}, {0x10080, 0x100fa}, {0x10140, 0x10174}, {0x101fd, 0x101fd}, {0x10280, 0x1029c}, {0x102a0, 0x102d0}, {0x102e0, 0x102e0}, {0x10300, 0x1031f}, + {0x1032d, 0x1034a}, {0x10350, 0x1037a}, {0x10380, 0x1039d}, {0x103a0, 0x103c3}, {0x103c8, 0x103cf}, {0x103d1, 0x103d5}, {0x10400, 0x1049d}, {0x104a0, 0x104a9}, + {0x104b0, 0x104d3}, {0x104d8, 0x104fb}, {0x10500, 0x10527}, {0x10530, 0x10563}, {0x10570, 0x1057a}, {0x1057c, 0x1058a}, {0x1058c, 0x10592}, {0x10594, 0x10595}, + {0x10597, 0x105a1}, {0x105a3, 0x105b1}, {0x105b3, 0x105b9}, {0x105bb, 0x105bc}, {0x105c0, 0x105f3}, {0x10600, 0x10736}, {0x10740, 0x10755}, {0x10760, 0x10767}, + {0x10780, 0x10785}, {0x10787, 0x107b0}, {0x107b2, 0x107ba}, {0x10800, 0x10805}, {0x10808, 0x10808}, {0x1080a, 0x10835}, {0x10837, 0x10838}, {0x1083c, 0x1083c}, + {0x1083f, 0x10855}, {0x10860, 0x10876}, {0x10880, 0x1089e}, {0x108e0, 0x108f2}, {0x108f4, 0x108f5}, {0x10900, 0x10915}, {0x10920, 0x10939}, {0x10980, 0x109b7}, + {0x109be, 0x109bf}, {0x10a00, 0x10a03}, {0x10a05, 0x10a06}, {0x10a0c, 0x10a13}, {0x10a15, 0x10a17}, {0x10a19, 0x10a35}, {0x10a38, 0x10a3a}, {0x10a3f, 0x10a3f}, + {0x10a60, 0x10a7c}, {0x10a80, 0x10a9c}, {0x10ac0, 0x10ac7}, {0x10ac9, 0x10ae6}, {0x10b00, 0x10b35}, {0x10b40, 0x10b55}, {0x10b60, 0x10b72}, {0x10b80, 0x10b91}, + {0x10c00, 0x10c48}, {0x10c80, 0x10cb2}, {0x10cc0, 0x10cf2}, {0x10d00, 0x10d27}, {0x10d30, 0x10d39}, {0x10d40, 0x10d65}, {0x10d69, 0x10d6d}, {0x10d6f, 0x10d85}, + {0x10e80, 0x10ea9}, {0x10eab, 0x10eac}, {0x10eb0, 0x10eb1}, {0x10ec2, 0x10ec4}, {0x10efc, 0x10f1c}, {0x10f27, 0x10f27}, {0x10f30, 0x10f50}, {0x10f70, 0x10f85}, + {0x10fb0, 0x10fc4}, {0x10fe0, 0x10ff6}, {0x11000, 0x11046}, {0x11066, 0x11075}, {0x1107f, 0x110ba}, {0x110c2, 0x110c2}, {0x110d0, 0x110e8}, {0x110f0, 0x110f9}, + {0x11100, 0x11134}, {0x11136, 0x1113f}, {0x11144, 0x11147}, {0x11150, 0x11173}, {0x11176, 0x11176}, {0x11180, 0x111c4}, {0x111c9, 0x111cc}, {0x111ce, 0x111da}, + {0x111dc, 0x111dc}, {0x11200, 0x11211}, {0x11213, 0x11237}, {0x1123e, 0x11241}, {0x11280, 0x11286}, {0x11288, 0x11288}, {0x1128a, 0x1128d}, {0x1128f, 0x1129d}, + {0x1129f, 0x112a8}, {0x112b0, 0x112ea}, {0x112f0, 0x112f9}, {0x11300, 0x11303}, {0x11305, 0x1130c}, {0x1130f, 0x11310}, {0x11313, 0x11328}, {0x1132a, 0x11330}, + {0x11332, 0x11333}, {0x11335, 0x11339}, {0x1133b, 0x11344}, {0x11347, 0x11348}, {0x1134b, 0x1134d}, {0x11350, 0x11350}, {0x11357, 0x11357}, {0x1135d, 0x11363}, + {0x11366, 0x1136c}, {0x11370, 0x11374}, {0x11380, 0x11389}, {0x1138b, 0x1138b}, {0x1138e, 0x1138e}, {0x11390, 0x113b5}, {0x113b7, 0x113c0}, {0x113c2, 0x113c2}, + {0x113c5, 0x113c5}, {0x113c7, 0x113ca}, {0x113cc, 0x113d3}, {0x113e1, 0x113e2}, {0x11400, 0x1144a}, {0x11450, 0x11459}, {0x1145e, 0x11461}, {0x11480, 0x114c5}, + {0x114c7, 0x114c7}, {0x114d0, 0x114d9}, {0x11580, 0x115b5}, {0x115b8, 0x115c0}, {0x115d8, 0x115dd}, {0x11600, 0x11640}, {0x11644, 0x11644}, {0x11650, 0x11659}, + {0x11680, 0x116b8}, {0x116c0, 0x116c9}, {0x116d0, 0x116e3}, {0x11700, 0x1171a}, {0x1171d, 0x1172b}, {0x11730, 0x11739}, {0x11740, 0x11746}, {0x11800, 0x1183a}, + {0x118a0, 0x118e9}, {0x118ff, 0x11906}, {0x11909, 0x11909}, {0x1190c, 0x11913}, {0x11915, 0x11916}, {0x11918, 0x11935}, {0x11937, 0x11938}, {0x1193b, 0x11943}, + {0x11950, 0x11959}, {0x119a0, 0x119a7}, {0x119aa, 0x119d7}, {0x119da, 0x119e1}, {0x119e3, 0x119e4}, {0x11a00, 0x11a3e}, {0x11a47, 0x11a47}, {0x11a50, 0x11a99}, + {0x11a9d, 0x11a9d}, {0x11ab0, 0x11af8}, {0x11bc0, 0x11be0}, {0x11bf0, 0x11bf9}, {0x11c00, 0x11c08}, {0x11c0a, 0x11c36}, {0x11c38, 0x11c40}, {0x11c50, 0x11c59}, + {0x11c72, 0x11c8f}, {0x11c92, 0x11ca7}, {0x11ca9, 0x11cb6}, {0x11d00, 0x11d06}, {0x11d08, 0x11d09}, {0x11d0b, 0x11d36}, {0x11d3a, 0x11d3a}, {0x11d3c, 0x11d3d}, + {0x11d3f, 0x11d47}, {0x11d50, 0x11d59}, {0x11d60, 0x11d65}, {0x11d67, 0x11d68}, {0x11d6a, 0x11d8e}, {0x11d90, 0x11d91}, {0x11d93, 0x11d98}, {0x11da0, 0x11da9}, + {0x11ee0, 0x11ef6}, {0x11f00, 0x11f10}, {0x11f12, 0x11f3a}, {0x11f3e, 0x11f42}, {0x11f50, 0x11f5a}, {0x11fb0, 0x11fb0}, {0x12000, 0x12399}, {0x12400, 0x1246e}, + {0x12480, 0x12543}, {0x12f90, 0x12ff0}, {0x13000, 0x1342f}, {0x13440, 0x13455}, {0x13460, 0x143fa}, {0x14400, 0x14646}, {0x16100, 0x16139}, {0x16800, 0x16a38}, + {0x16a40, 0x16a5e}, {0x16a60, 0x16a69}, {0x16a70, 0x16abe}, {0x16ac0, 0x16ac9}, {0x16ad0, 0x16aed}, {0x16af0, 0x16af4}, {0x16b00, 0x16b36}, {0x16b40, 0x16b43}, + {0x16b50, 0x16b59}, {0x16b63, 0x16b77}, {0x16b7d, 0x16b8f}, {0x16d40, 0x16d6c}, {0x16d70, 0x16d79}, {0x16e40, 0x16e7f}, {0x16f00, 0x16f4a}, {0x16f4f, 0x16f87}, + {0x16f8f, 0x16f9f}, {0x16fe0, 0x16fe1}, {0x16fe3, 0x16fe4}, {0x16ff0, 0x16ff1}, {0x17000, 0x187f7}, {0x18800, 0x18cd5}, {0x18cff, 0x18d08}, {0x1aff0, 0x1aff3}, + {0x1aff5, 0x1affb}, {0x1affd, 0x1affe}, {0x1b000, 0x1b122}, {0x1b132, 0x1b132}, {0x1b150, 0x1b152}, {0x1b155, 0x1b155}, {0x1b164, 0x1b167}, {0x1b170, 0x1b2fb}, + {0x1bc00, 0x1bc6a}, {0x1bc70, 0x1bc7c}, {0x1bc80, 0x1bc88}, {0x1bc90, 0x1bc99}, {0x1bc9d, 0x1bc9e}, {0x1ccf0, 0x1ccf9}, {0x1cf00, 0x1cf2d}, {0x1cf30, 0x1cf46}, + {0x1d165, 0x1d169}, {0x1d16d, 0x1d172}, {0x1d17b, 0x1d182}, {0x1d185, 0x1d18b}, {0x1d1aa, 0x1d1ad}, {0x1d242, 0x1d244}, {0x1d400, 0x1d454}, {0x1d456, 0x1d49c}, + {0x1d49e, 0x1d49f}, {0x1d4a2, 0x1d4a2}, {0x1d4a5, 0x1d4a6}, {0x1d4a9, 0x1d4ac}, {0x1d4ae, 0x1d4b9}, {0x1d4bb, 0x1d4bb}, {0x1d4bd, 0x1d4c3}, {0x1d4c5, 0x1d505}, + {0x1d507, 0x1d50a}, {0x1d50d, 0x1d514}, {0x1d516, 0x1d51c}, {0x1d51e, 0x1d539}, {0x1d53b, 0x1d53e}, {0x1d540, 0x1d544}, {0x1d546, 0x1d546}, {0x1d54a, 0x1d550}, + {0x1d552, 0x1d6a5}, {0x1d6a8, 0x1d6c0}, {0x1d6c2, 0x1d6da}, {0x1d6dc, 0x1d6fa}, {0x1d6fc, 0x1d714}, {0x1d716, 0x1d734}, {0x1d736, 0x1d74e}, {0x1d750, 0x1d76e}, + {0x1d770, 0x1d788}, {0x1d78a, 0x1d7a8}, {0x1d7aa, 0x1d7c2}, {0x1d7c4, 0x1d7cb}, {0x1d7ce, 0x1d7ff}, {0x1da00, 0x1da36}, {0x1da3b, 0x1da6c}, {0x1da75, 0x1da75}, + {0x1da84, 0x1da84}, {0x1da9b, 0x1da9f}, {0x1daa1, 0x1daaf}, {0x1df00, 0x1df1e}, {0x1df25, 0x1df2a}, {0x1e000, 0x1e006}, {0x1e008, 0x1e018}, {0x1e01b, 0x1e021}, + {0x1e023, 0x1e024}, {0x1e026, 0x1e02a}, {0x1e030, 0x1e06d}, {0x1e08f, 0x1e08f}, {0x1e100, 0x1e12c}, {0x1e130, 0x1e13d}, {0x1e140, 0x1e149}, {0x1e14e, 0x1e14e}, + {0x1e290, 0x1e2ae}, {0x1e2c0, 0x1e2f9}, {0x1e4d0, 0x1e4f9}, {0x1e5d0, 0x1e5fa}, {0x1e7e0, 0x1e7e6}, {0x1e7e8, 0x1e7eb}, {0x1e7ed, 0x1e7ee}, {0x1e7f0, 0x1e7fe}, + {0x1e800, 0x1e8c4}, {0x1e8d0, 0x1e8d6}, {0x1e900, 0x1e94b}, {0x1e950, 0x1e959}, {0x1ee00, 0x1ee03}, {0x1ee05, 0x1ee1f}, {0x1ee21, 0x1ee22}, {0x1ee24, 0x1ee24}, + {0x1ee27, 0x1ee27}, {0x1ee29, 0x1ee32}, {0x1ee34, 0x1ee37}, {0x1ee39, 0x1ee39}, {0x1ee3b, 0x1ee3b}, {0x1ee42, 0x1ee42}, {0x1ee47, 0x1ee47}, {0x1ee49, 0x1ee49}, + {0x1ee4b, 0x1ee4b}, {0x1ee4d, 0x1ee4f}, {0x1ee51, 0x1ee52}, {0x1ee54, 0x1ee54}, {0x1ee57, 0x1ee57}, {0x1ee59, 0x1ee59}, {0x1ee5b, 0x1ee5b}, {0x1ee5d, 0x1ee5d}, + {0x1ee5f, 0x1ee5f}, {0x1ee61, 0x1ee62}, {0x1ee64, 0x1ee64}, {0x1ee67, 0x1ee6a}, {0x1ee6c, 0x1ee72}, {0x1ee74, 0x1ee77}, {0x1ee79, 0x1ee7c}, {0x1ee7e, 0x1ee7e}, + {0x1ee80, 0x1ee89}, {0x1ee8b, 0x1ee9b}, {0x1eea1, 0x1eea3}, {0x1eea5, 0x1eea9}, {0x1eeab, 0x1eebb}, {0x1fbf0, 0x1fbf9}, {0x20000, 0x2a6df}, {0x2a700, 0x2b739}, + {0x2b740, 0x2b81d}, {0x2b820, 0x2cea1}, {0x2ceb0, 0x2ebe0}, {0x2ebf0, 0x2ee5d}, {0x2f800, 0x2fa1d}, {0x30000, 0x3134a}, {0x31350, 0x323af}, {0xe0100, 0xe01ef}, +}; + +static bool ts_lex(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + if (eof) ADVANCE(35); + ADVANCE_MAP( + '!', 110, + '"', 96, + '#', 37, + '%', 76, + '&', 62, + '\'', 4, + '(', 47, + ')', 48, + '*', 51, + '+', 74, + ',', 46, + '-', 59, + '.', 89, + '/', 111, + '0', 91, + ':', 87, + ';', 36, + '<', 68, + '=', 42, + '>', 70, + '@', 90, + '[', 38, + '\\', 13, + ']', 39, + '^', 65, + 'b', 115, + 'r', 116, + '{', 44, + '|', 64, + '}', 45, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(31); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(94); + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(117); + END_STATE(); + case 1: + ADVANCE_MAP( + '!', 40, + '"', 96, + '#', 37, + '\'', 4, + '(', 47, + ')', 48, + '*', 11, + ',', 46, + '-', 58, + '.', 10, + '/', 6, + '0', 91, + ':', 12, + '[', 38, + ']', 39, + 'b', 115, + 'r', 116, + '{', 44, + '|', 63, + '}', 45, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(1); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(94); + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(117); + END_STATE(); + case 2: + if (lookahead == '&') ADVANCE(60); + END_STATE(); + case 3: + if (lookahead == '\'') ADVANCE(98); + END_STATE(); + case 4: + if (lookahead == '\'') ADVANCE(98); + if (lookahead == '\\') ADVANCE(14); + if (lookahead != 0) ADVANCE(3); + END_STATE(); + case 5: + ADVANCE_MAP( + '(', 47, + ')', 48, + ',', 46, + '.', 8, + '/', 6, + ':', 12, + ';', 36, + '=', 43, + '@', 90, + ']', 39, + 'r', 116, + '{', 44, + '|', 63, + '}', 45, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(5); + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(117); + END_STATE(); + case 6: + if (lookahead == '*') ADVANCE(112); + if (lookahead == '/') ADVANCE(100); + END_STATE(); + case 7: + if (lookahead == ',') ADVANCE(46); + if (lookahead == '/') ADVANCE(6); + if (lookahead == ':') ADVANCE(87); + if (lookahead == '}') ADVANCE(45); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(7); + END_STATE(); + case 8: + if (lookahead == '.') ADVANCE(54); + END_STATE(); + case 9: + if (lookahead == '.') ADVANCE(53); + END_STATE(); + case 10: + if (lookahead == '.') ADVANCE(55); + END_STATE(); + case 11: + if (lookahead == '/') ADVANCE(114); + END_STATE(); + case 12: + if (lookahead == ':') ADVANCE(49); + END_STATE(); + case 13: + if (lookahead == 'u') ADVANCE(15); + if (lookahead == 'x') ADVANCE(26); + if (lookahead != 0) ADVANCE(99); + END_STATE(); + case 14: + if (lookahead == 'u') ADVANCE(16); + if (lookahead == 'x') ADVANCE(27); + if (lookahead != 0) ADVANCE(3); + END_STATE(); + case 15: + if (lookahead == '{') ADVANCE(24); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(22); + END_STATE(); + case 16: + if (lookahead == '{') ADVANCE(25); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(28); + END_STATE(); + case 17: + if (lookahead == '}') ADVANCE(3); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(17); + END_STATE(); + case 18: + if (lookahead == '}') ADVANCE(99); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(18); + END_STATE(); + case 19: + if (lookahead == '0' || + lookahead == '1' || + lookahead == '_') ADVANCE(92); + END_STATE(); + case 20: + if (('0' <= lookahead && lookahead <= '7') || + lookahead == '_') ADVANCE(93); + END_STATE(); + case 21: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(3); + END_STATE(); + case 22: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(26); + END_STATE(); + case 23: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(99); + END_STATE(); + case 24: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(18); + END_STATE(); + case 25: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(17); + END_STATE(); + case 26: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(23); + END_STATE(); + case 27: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(21); + END_STATE(); + case 28: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(27); + END_STATE(); + case 29: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(95); + END_STATE(); + case 30: + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(117); + END_STATE(); + case 31: + if (eof) ADVANCE(35); + ADVANCE_MAP( + '!', 41, + '"', 96, + '#', 37, + '%', 76, + '&', 62, + '\'', 4, + '(', 47, + ')', 48, + '*', 51, + '+', 74, + ',', 46, + '-', 59, + '.', 89, + '/', 75, + '0', 91, + ':', 87, + ';', 36, + '<', 68, + '=', 42, + '>', 70, + '@', 90, + '[', 38, + ']', 39, + '^', 65, + 'b', 115, + 'r', 116, + '{', 44, + '|', 64, + '}', 45, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(31); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(94); + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(117); + END_STATE(); + case 32: + if (eof) ADVANCE(35); + ADVANCE_MAP( + '!', 41, + '"', 96, + '#', 37, + '%', 76, + '&', 62, + '\'', 4, + '(', 47, + ')', 48, + '*', 52, + '+', 74, + ',', 46, + '-', 59, + '.', 89, + '/', 75, + '0', 91, + ':', 12, + ';', 36, + '<', 68, + '=', 42, + '>', 70, + '[', 38, + ']', 39, + '^', 65, + 'b', 115, + 'r', 116, + '{', 44, + '|', 64, + '}', 45, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(32); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(94); + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(117); + END_STATE(); + case 33: + if (eof) ADVANCE(35); + ADVANCE_MAP( + '!', 40, + '"', 96, + '#', 37, + '&', 2, + '\'', 4, + '(', 47, + ')', 48, + '*', 50, + ',', 46, + '-', 58, + '.', 9, + '/', 6, + '0', 91, + ':', 12, + ';', 36, + '=', 43, + '[', 38, + '\\', 13, + ']', 39, + 'b', 115, + 'r', 116, + '{', 44, + '|', 63, + '}', 45, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(34); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(94); + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(117); + END_STATE(); + case 34: + if (eof) ADVANCE(35); + ADVANCE_MAP( + '!', 40, + '"', 96, + '#', 37, + '&', 2, + '\'', 4, + '(', 47, + ')', 48, + '*', 50, + ',', 46, + '-', 58, + '.', 9, + '/', 6, + '0', 91, + ':', 12, + ';', 36, + '=', 43, + '[', 38, + ']', 39, + 'b', 115, + 'r', 116, + '{', 44, + '|', 63, + '}', 45, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(34); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(94); + if (set_contains(sym_identifier_character_set_1, 685, lookahead)) ADVANCE(117); + END_STATE(); + case 35: + ACCEPT_TOKEN(ts_builtin_sym_end); + END_STATE(); + case 36: + ACCEPT_TOKEN(anon_sym_SEMI); + END_STATE(); + case 37: + ACCEPT_TOKEN(anon_sym_POUND); + END_STATE(); + case 38: + ACCEPT_TOKEN(anon_sym_LBRACK); + END_STATE(); + case 39: + ACCEPT_TOKEN(anon_sym_RBRACK); + END_STATE(); + case 40: + ACCEPT_TOKEN(anon_sym_BANG); + END_STATE(); + case 41: + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(67); + END_STATE(); + case 42: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(66); + if (lookahead == '>') ADVANCE(88); + END_STATE(); + case 43: + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '>') ADVANCE(88); + END_STATE(); + case 44: + ACCEPT_TOKEN(anon_sym_LBRACE); + END_STATE(); + case 45: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 46: + ACCEPT_TOKEN(anon_sym_COMMA); + END_STATE(); + case 47: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 48: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 49: + ACCEPT_TOKEN(anon_sym_COLON_COLON); + END_STATE(); + case 50: + ACCEPT_TOKEN(anon_sym_STAR); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '/') ADVANCE(114); + if (lookahead == '=') ADVANCE(79); + END_STATE(); + case 52: + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '=') ADVANCE(79); + END_STATE(); + case 53: + ACCEPT_TOKEN(anon_sym_DOT_DOT); + END_STATE(); + case 54: + ACCEPT_TOKEN(anon_sym_DOT_DOT); + if (lookahead == '.') ADVANCE(56); + if (lookahead == '=') ADVANCE(57); + END_STATE(); + case 55: + ACCEPT_TOKEN(anon_sym_DOT_DOT); + if (lookahead == '=') ADVANCE(57); + END_STATE(); + case 56: + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + END_STATE(); + case 57: + ACCEPT_TOKEN(anon_sym_DOT_DOT_EQ); + END_STATE(); + case 58: + ACCEPT_TOKEN(anon_sym_DASH); + END_STATE(); + case 59: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '=') ADVANCE(78); + END_STATE(); + case 60: + ACCEPT_TOKEN(anon_sym_AMP_AMP); + END_STATE(); + case 61: + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + END_STATE(); + case 62: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(60); + if (lookahead == '=') ADVANCE(82); + END_STATE(); + case 63: + ACCEPT_TOKEN(anon_sym_PIPE); + END_STATE(); + case 64: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '=') ADVANCE(83); + if (lookahead == '|') ADVANCE(61); + END_STATE(); + case 65: + ACCEPT_TOKEN(anon_sym_CARET); + if (lookahead == '=') ADVANCE(84); + END_STATE(); + case 66: + ACCEPT_TOKEN(anon_sym_EQ_EQ); + END_STATE(); + case 67: + ACCEPT_TOKEN(anon_sym_BANG_EQ); + END_STATE(); + case 68: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(72); + if (lookahead == '=') ADVANCE(69); + END_STATE(); + case 69: + ACCEPT_TOKEN(anon_sym_LT_EQ); + END_STATE(); + case 70: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(71); + if (lookahead == '>') ADVANCE(73); + END_STATE(); + case 71: + ACCEPT_TOKEN(anon_sym_GT_EQ); + END_STATE(); + case 72: + ACCEPT_TOKEN(anon_sym_LT_LT); + if (lookahead == '=') ADVANCE(85); + END_STATE(); + case 73: + ACCEPT_TOKEN(anon_sym_GT_GT); + if (lookahead == '=') ADVANCE(86); + END_STATE(); + case 74: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '=') ADVANCE(77); + END_STATE(); + case 75: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(112); + if (lookahead == '/') ADVANCE(100); + if (lookahead == '=') ADVANCE(80); + END_STATE(); + case 76: + ACCEPT_TOKEN(anon_sym_PERCENT); + if (lookahead == '=') ADVANCE(81); + END_STATE(); + case 77: + ACCEPT_TOKEN(anon_sym_PLUS_EQ); + END_STATE(); + case 78: + ACCEPT_TOKEN(anon_sym_DASH_EQ); + END_STATE(); + case 79: + ACCEPT_TOKEN(anon_sym_STAR_EQ); + END_STATE(); + case 80: + ACCEPT_TOKEN(anon_sym_SLASH_EQ); + END_STATE(); + case 81: + ACCEPT_TOKEN(anon_sym_PERCENT_EQ); + END_STATE(); + case 82: + ACCEPT_TOKEN(anon_sym_AMP_EQ); + END_STATE(); + case 83: + ACCEPT_TOKEN(anon_sym_PIPE_EQ); + END_STATE(); + case 84: + ACCEPT_TOKEN(anon_sym_CARET_EQ); + END_STATE(); + case 85: + ACCEPT_TOKEN(anon_sym_LT_LT_EQ); + END_STATE(); + case 86: + ACCEPT_TOKEN(anon_sym_GT_GT_EQ); + END_STATE(); + case 87: + ACCEPT_TOKEN(anon_sym_COLON); + END_STATE(); + case 88: + ACCEPT_TOKEN(anon_sym_EQ_GT); + END_STATE(); + case 89: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(54); + END_STATE(); + case 90: + ACCEPT_TOKEN(anon_sym_AT); + END_STATE(); + case 91: + ACCEPT_TOKEN(sym_integer_literal); + if (lookahead == 'b') ADVANCE(19); + if (lookahead == 'o') ADVANCE(20); + if (lookahead == 'x') ADVANCE(29); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(94); + END_STATE(); + case 92: + ACCEPT_TOKEN(sym_integer_literal); + if (lookahead == '0' || + lookahead == '1' || + lookahead == '_') ADVANCE(92); + END_STATE(); + case 93: + ACCEPT_TOKEN(sym_integer_literal); + if (('0' <= lookahead && lookahead <= '7') || + lookahead == '_') ADVANCE(93); + END_STATE(); + case 94: + ACCEPT_TOKEN(sym_integer_literal); + if (('0' <= lookahead && lookahead <= '9') || + lookahead == '_') ADVANCE(94); + END_STATE(); + case 95: + ACCEPT_TOKEN(sym_integer_literal); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(95); + END_STATE(); + case 96: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 97: + ACCEPT_TOKEN(aux_sym_string_literal_token1); + END_STATE(); + case 98: + ACCEPT_TOKEN(sym_char_literal); + END_STATE(); + case 99: + ACCEPT_TOKEN(sym_escape_sequence); + END_STATE(); + case 100: + ACCEPT_TOKEN(anon_sym_SLASH_SLASH); + END_STATE(); + case 101: + ACCEPT_TOKEN(anon_sym_SLASH_SLASH); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(105); + END_STATE(); + case 102: + ACCEPT_TOKEN(aux_sym_line_comment_token1); + END_STATE(); + case 103: + ACCEPT_TOKEN(aux_sym_line_comment_token2); + if (lookahead == '*') ADVANCE(113); + if (lookahead == '/') ADVANCE(101); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(105); + END_STATE(); + case 104: + ACCEPT_TOKEN(aux_sym_line_comment_token2); + if (lookahead == '/') ADVANCE(103); + if (lookahead == '\t' || + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(104); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(105); + END_STATE(); + case 105: + ACCEPT_TOKEN(aux_sym_line_comment_token2); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(105); + END_STATE(); + case 106: + ACCEPT_TOKEN(aux_sym_line_comment_token3); + if (lookahead == '!') ADVANCE(110); + if (lookahead == '/') ADVANCE(111); + if (lookahead == '\t' || + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(108); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(109); + END_STATE(); + case 107: + ACCEPT_TOKEN(aux_sym_line_comment_token3); + if (lookahead == '*') ADVANCE(109); + if (lookahead == '/') ADVANCE(109); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(109); + END_STATE(); + case 108: + ACCEPT_TOKEN(aux_sym_line_comment_token3); + if (lookahead == '/') ADVANCE(107); + if (lookahead == '\t' || + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(108); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(109); + END_STATE(); + case 109: + ACCEPT_TOKEN(aux_sym_line_comment_token3); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(109); + END_STATE(); + case 110: + ACCEPT_TOKEN(anon_sym_BANG2); + END_STATE(); + case 111: + ACCEPT_TOKEN(anon_sym_SLASH2); + if (lookahead == '/') ADVANCE(102); + END_STATE(); + case 112: + ACCEPT_TOKEN(anon_sym_SLASH_STAR); + END_STATE(); + case 113: + ACCEPT_TOKEN(anon_sym_SLASH_STAR); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(105); + END_STATE(); + case 114: + ACCEPT_TOKEN(anon_sym_STAR_SLASH); + END_STATE(); + case 115: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(97); + if (lookahead == '\'') ADVANCE(4); + if (set_contains(sym_identifier_character_set_3, 800, lookahead)) ADVANCE(117); + END_STATE(); + case 116: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '#') ADVANCE(30); + if (set_contains(sym_identifier_character_set_3, 800, lookahead)) ADVANCE(117); + END_STATE(); + case 117: + ACCEPT_TOKEN(sym_identifier); + if (set_contains(sym_identifier_character_set_3, 800, lookahead)) ADVANCE(117); + END_STATE(); + default: + return false; + } +} + +static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + ADVANCE_MAP( + '_', 1, + 'a', 2, + 'b', 3, + 'c', 4, + 'e', 5, + 'f', 6, + 'i', 7, + 'l', 8, + 'm', 9, + 'p', 10, + 'r', 11, + 's', 12, + 't', 13, + 'u', 14, + 'w', 15, + 'y', 16, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(0); + END_STATE(); + case 1: + ACCEPT_TOKEN(anon_sym__); + END_STATE(); + case 2: + if (lookahead == 's') ADVANCE(17); + if (lookahead == 'w') ADVANCE(18); + END_STATE(); + case 3: + if (lookahead == 'r') ADVANCE(19); + END_STATE(); + case 4: + if (lookahead == 'o') ADVANCE(20); + if (lookahead == 'r') ADVANCE(21); + END_STATE(); + case 5: + if (lookahead == 'l') ADVANCE(22); + if (lookahead == 'n') ADVANCE(23); + END_STATE(); + case 6: + if (lookahead == 'a') ADVANCE(24); + if (lookahead == 'n') ADVANCE(25); + if (lookahead == 'o') ADVANCE(26); + END_STATE(); + case 7: + if (lookahead == 'f') ADVANCE(27); + if (lookahead == 'n') ADVANCE(28); + END_STATE(); + case 8: + if (lookahead == 'e') ADVANCE(29); + if (lookahead == 'o') ADVANCE(30); + END_STATE(); + case 9: + if (lookahead == 'a') ADVANCE(31); + if (lookahead == 'o') ADVANCE(32); + END_STATE(); + case 10: + if (lookahead == 'u') ADVANCE(33); + END_STATE(); + case 11: + if (lookahead == 'e') ADVANCE(34); + END_STATE(); + case 12: + if (lookahead == 'e') ADVANCE(35); + if (lookahead == 't') ADVANCE(36); + if (lookahead == 'u') ADVANCE(37); + END_STATE(); + case 13: + if (lookahead == 'r') ADVANCE(38); + END_STATE(); + case 14: + if (lookahead == 's') ADVANCE(39); + END_STATE(); + case 15: + if (lookahead == 'h') ADVANCE(40); + END_STATE(); + case 16: + if (lookahead == 'i') ADVANCE(41); + END_STATE(); + case 17: + ACCEPT_TOKEN(anon_sym_as); + if (lookahead == 'y') ADVANCE(42); + END_STATE(); + case 18: + if (lookahead == 'a') ADVANCE(43); + END_STATE(); + case 19: + if (lookahead == 'e') ADVANCE(44); + END_STATE(); + case 20: + if (lookahead == 'n') ADVANCE(45); + END_STATE(); + case 21: + if (lookahead == 'a') ADVANCE(46); + END_STATE(); + case 22: + if (lookahead == 's') ADVANCE(47); + END_STATE(); + case 23: + if (lookahead == 'u') ADVANCE(48); + END_STATE(); + case 24: + if (lookahead == 'l') ADVANCE(49); + END_STATE(); + case 25: + ACCEPT_TOKEN(anon_sym_fn); + END_STATE(); + case 26: + if (lookahead == 'r') ADVANCE(50); + END_STATE(); + case 27: + ACCEPT_TOKEN(anon_sym_if); + END_STATE(); + case 28: + ACCEPT_TOKEN(anon_sym_in); + END_STATE(); + case 29: + if (lookahead == 't') ADVANCE(51); + END_STATE(); + case 30: + if (lookahead == 'o') ADVANCE(52); + END_STATE(); + case 31: + if (lookahead == 't') ADVANCE(53); + END_STATE(); + case 32: + if (lookahead == 'd') ADVANCE(54); + END_STATE(); + case 33: + if (lookahead == 'b') ADVANCE(55); + END_STATE(); + case 34: + if (lookahead == 't') ADVANCE(56); + END_STATE(); + case 35: + if (lookahead == 'l') ADVANCE(57); + END_STATE(); + case 36: + if (lookahead == 'r') ADVANCE(58); + END_STATE(); + case 37: + if (lookahead == 'p') ADVANCE(59); + END_STATE(); + case 38: + if (lookahead == 'u') ADVANCE(60); + END_STATE(); + case 39: + if (lookahead == 'e') ADVANCE(61); + END_STATE(); + case 40: + if (lookahead == 'i') ADVANCE(62); + END_STATE(); + case 41: + if (lookahead == 'e') ADVANCE(63); + END_STATE(); + case 42: + if (lookahead == 'n') ADVANCE(64); + END_STATE(); + case 43: + if (lookahead == 'i') ADVANCE(65); + END_STATE(); + case 44: + if (lookahead == 'a') ADVANCE(66); + END_STATE(); + case 45: + if (lookahead == 't') ADVANCE(67); + END_STATE(); + case 46: + if (lookahead == 't') ADVANCE(68); + END_STATE(); + case 47: + if (lookahead == 'e') ADVANCE(69); + END_STATE(); + case 48: + if (lookahead == 'm') ADVANCE(70); + END_STATE(); + case 49: + if (lookahead == 's') ADVANCE(71); + END_STATE(); + case 50: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_let); + END_STATE(); + case 52: + if (lookahead == 'p') ADVANCE(72); + END_STATE(); + case 53: + if (lookahead == 'c') ADVANCE(73); + END_STATE(); + case 54: + ACCEPT_TOKEN(anon_sym_mod); + END_STATE(); + case 55: + ACCEPT_TOKEN(anon_sym_pub); + END_STATE(); + case 56: + if (lookahead == 'u') ADVANCE(74); + END_STATE(); + case 57: + if (lookahead == 'f') ADVANCE(75); + END_STATE(); + case 58: + if (lookahead == 'u') ADVANCE(76); + END_STATE(); + case 59: + if (lookahead == 'e') ADVANCE(77); + END_STATE(); + case 60: + if (lookahead == 'e') ADVANCE(78); + END_STATE(); + case 61: + ACCEPT_TOKEN(anon_sym_use); + END_STATE(); + case 62: + if (lookahead == 'l') ADVANCE(79); + END_STATE(); + case 63: + if (lookahead == 'l') ADVANCE(80); + END_STATE(); + case 64: + if (lookahead == 'c') ADVANCE(81); + END_STATE(); + case 65: + if (lookahead == 't') ADVANCE(82); + END_STATE(); + case 66: + if (lookahead == 'k') ADVANCE(83); + END_STATE(); + case 67: + if (lookahead == 'i') ADVANCE(84); + END_STATE(); + case 68: + if (lookahead == 'e') ADVANCE(85); + END_STATE(); + case 69: + ACCEPT_TOKEN(anon_sym_else); + END_STATE(); + case 70: + ACCEPT_TOKEN(anon_sym_enum); + END_STATE(); + case 71: + if (lookahead == 'e') ADVANCE(86); + END_STATE(); + case 72: + ACCEPT_TOKEN(anon_sym_loop); + END_STATE(); + case 73: + if (lookahead == 'h') ADVANCE(87); + END_STATE(); + case 74: + if (lookahead == 'r') ADVANCE(88); + END_STATE(); + case 75: + ACCEPT_TOKEN(sym_self); + END_STATE(); + case 76: + if (lookahead == 'c') ADVANCE(89); + END_STATE(); + case 77: + if (lookahead == 'r') ADVANCE(90); + END_STATE(); + case 78: + ACCEPT_TOKEN(anon_sym_true); + END_STATE(); + case 79: + if (lookahead == 'e') ADVANCE(91); + END_STATE(); + case 80: + if (lookahead == 'd') ADVANCE(92); + END_STATE(); + case 81: + ACCEPT_TOKEN(anon_sym_async); + END_STATE(); + case 82: + ACCEPT_TOKEN(anon_sym_await); + END_STATE(); + case 83: + ACCEPT_TOKEN(anon_sym_break); + END_STATE(); + case 84: + if (lookahead == 'n') ADVANCE(93); + END_STATE(); + case 85: + ACCEPT_TOKEN(sym_crate); + END_STATE(); + case 86: + ACCEPT_TOKEN(anon_sym_false); + END_STATE(); + case 87: + ACCEPT_TOKEN(anon_sym_match); + END_STATE(); + case 88: + if (lookahead == 'n') ADVANCE(94); + END_STATE(); + case 89: + if (lookahead == 't') ADVANCE(95); + END_STATE(); + case 90: + ACCEPT_TOKEN(sym_super); + END_STATE(); + case 91: + ACCEPT_TOKEN(anon_sym_while); + END_STATE(); + case 92: + ACCEPT_TOKEN(anon_sym_yield); + END_STATE(); + case 93: + if (lookahead == 'u') ADVANCE(96); + END_STATE(); + case 94: + ACCEPT_TOKEN(anon_sym_return); + END_STATE(); + case 95: + ACCEPT_TOKEN(anon_sym_struct); + END_STATE(); + case 96: + if (lookahead == 'e') ADVANCE(97); + END_STATE(); + case 97: + ACCEPT_TOKEN(anon_sym_continue); + END_STATE(); + default: + return false; + } +} + +static const TSLexerMode ts_lex_modes[STATE_COUNT] = { + [0] = {.lex_state = 0, .external_lex_state = 1}, + [1] = {.lex_state = 33, .external_lex_state = 2}, + [2] = {.lex_state = 32, .external_lex_state = 2}, + [3] = {.lex_state = 32, .external_lex_state = 2}, + [4] = {.lex_state = 32, .external_lex_state = 2}, + [5] = {.lex_state = 32, .external_lex_state = 2}, + [6] = {.lex_state = 32, .external_lex_state = 2}, + [7] = {.lex_state = 32, .external_lex_state = 2}, + [8] = {.lex_state = 32, .external_lex_state = 2}, + [9] = {.lex_state = 32, .external_lex_state = 2}, + [10] = {.lex_state = 32, .external_lex_state = 2}, + [11] = {.lex_state = 32, .external_lex_state = 2}, + [12] = {.lex_state = 32, .external_lex_state = 2}, + [13] = {.lex_state = 32, .external_lex_state = 2}, + [14] = {.lex_state = 32, .external_lex_state = 2}, + [15] = {.lex_state = 32, .external_lex_state = 2}, + [16] = {.lex_state = 33, .external_lex_state = 2}, + [17] = {.lex_state = 33, .external_lex_state = 2}, + [18] = {.lex_state = 33, .external_lex_state = 2}, + [19] = {.lex_state = 33, .external_lex_state = 2}, + [20] = {.lex_state = 33, .external_lex_state = 2}, + [21] = {.lex_state = 33, .external_lex_state = 2}, + [22] = {.lex_state = 33, .external_lex_state = 2}, + [23] = {.lex_state = 33, .external_lex_state = 2}, + [24] = {.lex_state = 33, .external_lex_state = 2}, + [25] = {.lex_state = 32, .external_lex_state = 2}, + [26] = {.lex_state = 32, .external_lex_state = 2}, + [27] = {.lex_state = 32, .external_lex_state = 2}, + [28] = {.lex_state = 32, .external_lex_state = 2}, + [29] = {.lex_state = 32, .external_lex_state = 2}, + [30] = {.lex_state = 32, .external_lex_state = 2}, + [31] = {.lex_state = 32, .external_lex_state = 2}, + [32] = {.lex_state = 32, .external_lex_state = 2}, + [33] = {.lex_state = 32, .external_lex_state = 2}, + [34] = {.lex_state = 32, .external_lex_state = 2}, + [35] = {.lex_state = 32, .external_lex_state = 2}, + [36] = {.lex_state = 32, .external_lex_state = 2}, + [37] = {.lex_state = 32, .external_lex_state = 2}, + [38] = {.lex_state = 32, .external_lex_state = 2}, + [39] = {.lex_state = 32, .external_lex_state = 2}, + [40] = {.lex_state = 32, .external_lex_state = 2}, + [41] = {.lex_state = 32, .external_lex_state = 2}, + [42] = {.lex_state = 32, .external_lex_state = 2}, + [43] = {.lex_state = 32, .external_lex_state = 2}, + [44] = {.lex_state = 32, .external_lex_state = 2}, + [45] = {.lex_state = 32, .external_lex_state = 2}, + [46] = {.lex_state = 32, .external_lex_state = 2}, + [47] = {.lex_state = 32, .external_lex_state = 2}, + [48] = {.lex_state = 33, .external_lex_state = 2}, + [49] = {.lex_state = 33, .external_lex_state = 2}, + [50] = {.lex_state = 33, .external_lex_state = 2}, + [51] = {.lex_state = 33, .external_lex_state = 2}, + [52] = {.lex_state = 33, .external_lex_state = 2}, + [53] = {.lex_state = 33, .external_lex_state = 2}, + [54] = {.lex_state = 33, .external_lex_state = 2}, + [55] = {.lex_state = 33, .external_lex_state = 2}, + [56] = {.lex_state = 33, .external_lex_state = 2}, + [57] = {.lex_state = 33, .external_lex_state = 2}, + [58] = {.lex_state = 33, .external_lex_state = 2}, + [59] = {.lex_state = 33, .external_lex_state = 2}, + [60] = {.lex_state = 33, .external_lex_state = 2}, + [61] = {.lex_state = 33, .external_lex_state = 2}, + [62] = {.lex_state = 33, .external_lex_state = 2}, + [63] = {.lex_state = 33, .external_lex_state = 2}, + [64] = {.lex_state = 33, .external_lex_state = 2}, + [65] = {.lex_state = 33, .external_lex_state = 2}, + [66] = {.lex_state = 33, .external_lex_state = 2}, + [67] = {.lex_state = 33, .external_lex_state = 2}, + [68] = {.lex_state = 33, .external_lex_state = 2}, + [69] = {.lex_state = 33, .external_lex_state = 2}, + [70] = {.lex_state = 33, .external_lex_state = 2}, + [71] = {.lex_state = 33, .external_lex_state = 2}, + [72] = {.lex_state = 33, .external_lex_state = 2}, + [73] = {.lex_state = 33, .external_lex_state = 2}, + [74] = {.lex_state = 33, .external_lex_state = 2}, + [75] = {.lex_state = 33, .external_lex_state = 2}, + [76] = {.lex_state = 33, .external_lex_state = 2}, + [77] = {.lex_state = 33, .external_lex_state = 2}, + [78] = {.lex_state = 33, .external_lex_state = 2}, + [79] = {.lex_state = 33, .external_lex_state = 2}, + [80] = {.lex_state = 33, .external_lex_state = 2}, + [81] = {.lex_state = 33, .external_lex_state = 2}, + [82] = {.lex_state = 33, .external_lex_state = 2}, + [83] = {.lex_state = 33, .external_lex_state = 2}, + [84] = {.lex_state = 33, .external_lex_state = 2}, + [85] = {.lex_state = 33, .external_lex_state = 2}, + [86] = {.lex_state = 33, .external_lex_state = 2}, + [87] = {.lex_state = 33, .external_lex_state = 2}, + [88] = {.lex_state = 33, .external_lex_state = 2}, + [89] = {.lex_state = 33, .external_lex_state = 2}, + [90] = {.lex_state = 33, .external_lex_state = 2}, + [91] = {.lex_state = 33, .external_lex_state = 2}, + [92] = {.lex_state = 33, .external_lex_state = 2}, + [93] = {.lex_state = 33, .external_lex_state = 2}, + [94] = {.lex_state = 33, .external_lex_state = 2}, + [95] = {.lex_state = 33, .external_lex_state = 2}, + [96] = {.lex_state = 33, .external_lex_state = 2}, + [97] = {.lex_state = 33, .external_lex_state = 2}, + [98] = {.lex_state = 33, .external_lex_state = 2}, + [99] = {.lex_state = 33, .external_lex_state = 2}, + [100] = {.lex_state = 33, .external_lex_state = 2}, + [101] = {.lex_state = 33, .external_lex_state = 2}, + [102] = {.lex_state = 33, .external_lex_state = 2}, + [103] = {.lex_state = 33, .external_lex_state = 2}, + [104] = {.lex_state = 33, .external_lex_state = 2}, + [105] = {.lex_state = 33, .external_lex_state = 2}, + [106] = {.lex_state = 33, .external_lex_state = 2}, + [107] = {.lex_state = 33, .external_lex_state = 2}, + [108] = {.lex_state = 33, .external_lex_state = 2}, + [109] = {.lex_state = 33, .external_lex_state = 2}, + [110] = {.lex_state = 33, .external_lex_state = 2}, + [111] = {.lex_state = 33, .external_lex_state = 2}, + [112] = {.lex_state = 33, .external_lex_state = 2}, + [113] = {.lex_state = 33, .external_lex_state = 2}, + [114] = {.lex_state = 33, .external_lex_state = 2}, + [115] = {.lex_state = 33, .external_lex_state = 2}, + [116] = {.lex_state = 33, .external_lex_state = 2}, + [117] = {.lex_state = 33, .external_lex_state = 2}, + [118] = {.lex_state = 33, .external_lex_state = 2}, + [119] = {.lex_state = 33, .external_lex_state = 2}, + [120] = {.lex_state = 33, .external_lex_state = 2}, + [121] = {.lex_state = 33, .external_lex_state = 2}, + [122] = {.lex_state = 33, .external_lex_state = 2}, + [123] = {.lex_state = 33, .external_lex_state = 2}, + [124] = {.lex_state = 33, .external_lex_state = 2}, + [125] = {.lex_state = 33, .external_lex_state = 2}, + [126] = {.lex_state = 33, .external_lex_state = 2}, + [127] = {.lex_state = 33, .external_lex_state = 2}, + [128] = {.lex_state = 33, .external_lex_state = 2}, + [129] = {.lex_state = 33, .external_lex_state = 2}, + [130] = {.lex_state = 33, .external_lex_state = 2}, + [131] = {.lex_state = 33, .external_lex_state = 2}, + [132] = {.lex_state = 33, .external_lex_state = 2}, + [133] = {.lex_state = 33, .external_lex_state = 2}, + [134] = {.lex_state = 33, .external_lex_state = 2}, + [135] = {.lex_state = 33, .external_lex_state = 2}, + [136] = {.lex_state = 33, .external_lex_state = 2}, + [137] = {.lex_state = 33, .external_lex_state = 2}, + [138] = {.lex_state = 32}, + [139] = {.lex_state = 32}, + [140] = {.lex_state = 32}, + [141] = {.lex_state = 32}, + [142] = {.lex_state = 32}, + [143] = {.lex_state = 32}, + [144] = {.lex_state = 32}, + [145] = {.lex_state = 32}, + [146] = {.lex_state = 32}, + [147] = {.lex_state = 32, .external_lex_state = 2}, + [148] = {.lex_state = 32, .external_lex_state = 2}, + [149] = {.lex_state = 32}, + [150] = {.lex_state = 32}, + [151] = {.lex_state = 32}, + [152] = {.lex_state = 1, .external_lex_state = 2}, + [153] = {.lex_state = 32}, + [154] = {.lex_state = 32}, + [155] = {.lex_state = 32}, + [156] = {.lex_state = 32}, + [157] = {.lex_state = 32}, + [158] = {.lex_state = 32}, + [159] = {.lex_state = 32}, + [160] = {.lex_state = 32}, + [161] = {.lex_state = 32}, + [162] = {.lex_state = 33, .external_lex_state = 2}, + [163] = {.lex_state = 32}, + [164] = {.lex_state = 32}, + [165] = {.lex_state = 32}, + [166] = {.lex_state = 32}, + [167] = {.lex_state = 32}, + [168] = {.lex_state = 32}, + [169] = {.lex_state = 32}, + [170] = {.lex_state = 32}, + [171] = {.lex_state = 32}, + [172] = {.lex_state = 32}, + [173] = {.lex_state = 32}, + [174] = {.lex_state = 32}, + [175] = {.lex_state = 32}, + [176] = {.lex_state = 32}, + [177] = {.lex_state = 32}, + [178] = {.lex_state = 32}, + [179] = {.lex_state = 32}, + [180] = {.lex_state = 32}, + [181] = {.lex_state = 32}, + [182] = {.lex_state = 32}, + [183] = {.lex_state = 32}, + [184] = {.lex_state = 32}, + [185] = {.lex_state = 32}, + [186] = {.lex_state = 32}, + [187] = {.lex_state = 32}, + [188] = {.lex_state = 32}, + [189] = {.lex_state = 32}, + [190] = {.lex_state = 32}, + [191] = {.lex_state = 32}, + [192] = {.lex_state = 32}, + [193] = {.lex_state = 32}, + [194] = {.lex_state = 32}, + [195] = {.lex_state = 32}, + [196] = {.lex_state = 32}, + [197] = {.lex_state = 32}, + [198] = {.lex_state = 32}, + [199] = {.lex_state = 32}, + [200] = {.lex_state = 32}, + [201] = {.lex_state = 32}, + [202] = {.lex_state = 32}, + [203] = {.lex_state = 32}, + [204] = {.lex_state = 1, .external_lex_state = 2}, + [205] = {.lex_state = 1, .external_lex_state = 2}, + [206] = {.lex_state = 32}, + [207] = {.lex_state = 32}, + [208] = {.lex_state = 32}, + [209] = {.lex_state = 32}, + [210] = {.lex_state = 32}, + [211] = {.lex_state = 32}, + [212] = {.lex_state = 32}, + [213] = {.lex_state = 1, .external_lex_state = 2}, + [214] = {.lex_state = 32}, + [215] = {.lex_state = 32}, + [216] = {.lex_state = 32}, + [217] = {.lex_state = 32}, + [218] = {.lex_state = 32}, + [219] = {.lex_state = 32}, + [220] = {.lex_state = 32}, + [221] = {.lex_state = 32}, + [222] = {.lex_state = 32}, + [223] = {.lex_state = 32}, + [224] = {.lex_state = 1, .external_lex_state = 2}, + [225] = {.lex_state = 32}, + [226] = {.lex_state = 32}, + [227] = {.lex_state = 33, .external_lex_state = 2}, + [228] = {.lex_state = 33, .external_lex_state = 2}, + [229] = {.lex_state = 33, .external_lex_state = 2}, + [230] = {.lex_state = 33, .external_lex_state = 2}, + [231] = {.lex_state = 33, .external_lex_state = 2}, + [232] = {.lex_state = 33, .external_lex_state = 2}, + [233] = {.lex_state = 33, .external_lex_state = 2}, + [234] = {.lex_state = 33, .external_lex_state = 2}, + [235] = {.lex_state = 33, .external_lex_state = 2}, + [236] = {.lex_state = 33, .external_lex_state = 2}, + [237] = {.lex_state = 33, .external_lex_state = 2}, + [238] = {.lex_state = 33, .external_lex_state = 2}, + [239] = {.lex_state = 33, .external_lex_state = 2}, + [240] = {.lex_state = 33, .external_lex_state = 2}, + [241] = {.lex_state = 33, .external_lex_state = 2}, + [242] = {.lex_state = 33, .external_lex_state = 2}, + [243] = {.lex_state = 33, .external_lex_state = 2}, + [244] = {.lex_state = 33, .external_lex_state = 2}, + [245] = {.lex_state = 33, .external_lex_state = 2}, + [246] = {.lex_state = 33, .external_lex_state = 2}, + [247] = {.lex_state = 33, .external_lex_state = 2}, + [248] = {.lex_state = 33, .external_lex_state = 2}, + [249] = {.lex_state = 33, .external_lex_state = 2}, + [250] = {.lex_state = 33, .external_lex_state = 2}, + [251] = {.lex_state = 33, .external_lex_state = 2}, + [252] = {.lex_state = 33, .external_lex_state = 2}, + [253] = {.lex_state = 33, .external_lex_state = 2}, + [254] = {.lex_state = 33, .external_lex_state = 2}, + [255] = {.lex_state = 33, .external_lex_state = 2}, + [256] = {.lex_state = 33, .external_lex_state = 2}, + [257] = {.lex_state = 33, .external_lex_state = 2}, + [258] = {.lex_state = 33, .external_lex_state = 2}, + [259] = {.lex_state = 33, .external_lex_state = 2}, + [260] = {.lex_state = 33, .external_lex_state = 2}, + [261] = {.lex_state = 33, .external_lex_state = 2}, + [262] = {.lex_state = 33, .external_lex_state = 2}, + [263] = {.lex_state = 33, .external_lex_state = 2}, + [264] = {.lex_state = 33, .external_lex_state = 2}, + [265] = {.lex_state = 33, .external_lex_state = 2}, + [266] = {.lex_state = 33, .external_lex_state = 2}, + [267] = {.lex_state = 33, .external_lex_state = 2}, + [268] = {.lex_state = 33, .external_lex_state = 2}, + [269] = {.lex_state = 1, .external_lex_state = 2}, + [270] = {.lex_state = 32}, + [271] = {.lex_state = 32}, + [272] = {.lex_state = 1, .external_lex_state = 2}, + [273] = {.lex_state = 1, .external_lex_state = 2}, + [274] = {.lex_state = 32}, + [275] = {.lex_state = 1, .external_lex_state = 2}, + [276] = {.lex_state = 32}, + [277] = {.lex_state = 1, .external_lex_state = 2}, + [278] = {.lex_state = 32}, + [279] = {.lex_state = 32}, + [280] = {.lex_state = 1, .external_lex_state = 2}, + [281] = {.lex_state = 32}, + [282] = {.lex_state = 32}, + [283] = {.lex_state = 32}, + [284] = {.lex_state = 32}, + [285] = {.lex_state = 32}, + [286] = {.lex_state = 32}, + [287] = {.lex_state = 32}, + [288] = {.lex_state = 32}, + [289] = {.lex_state = 32}, + [290] = {.lex_state = 32}, + [291] = {.lex_state = 32}, + [292] = {.lex_state = 32}, + [293] = {.lex_state = 32}, + [294] = {.lex_state = 32}, + [295] = {.lex_state = 32}, + [296] = {.lex_state = 32}, + [297] = {.lex_state = 32}, + [298] = {.lex_state = 32}, + [299] = {.lex_state = 32}, + [300] = {.lex_state = 32}, + [301] = {.lex_state = 32}, + [302] = {.lex_state = 32}, + [303] = {.lex_state = 32}, + [304] = {.lex_state = 32}, + [305] = {.lex_state = 32}, + [306] = {.lex_state = 32}, + [307] = {.lex_state = 32}, + [308] = {.lex_state = 32}, + [309] = {.lex_state = 32}, + [310] = {.lex_state = 32}, + [311] = {.lex_state = 32}, + [312] = {.lex_state = 32}, + [313] = {.lex_state = 32}, + [314] = {.lex_state = 32}, + [315] = {.lex_state = 32}, + [316] = {.lex_state = 32}, + [317] = {.lex_state = 32}, + [318] = {.lex_state = 32}, + [319] = {.lex_state = 32}, + [320] = {.lex_state = 1, .external_lex_state = 2}, + [321] = {.lex_state = 32}, + [322] = {.lex_state = 32}, + [323] = {.lex_state = 32}, + [324] = {.lex_state = 32}, + [325] = {.lex_state = 32}, + [326] = {.lex_state = 32}, + [327] = {.lex_state = 32}, + [328] = {.lex_state = 32}, + [329] = {.lex_state = 32}, + [330] = {.lex_state = 32}, + [331] = {.lex_state = 32}, + [332] = {.lex_state = 32}, + [333] = {.lex_state = 1, .external_lex_state = 2}, + [334] = {.lex_state = 32}, + [335] = {.lex_state = 32}, + [336] = {.lex_state = 32}, + [337] = {.lex_state = 32}, + [338] = {.lex_state = 32}, + [339] = {.lex_state = 32}, + [340] = {.lex_state = 32}, + [341] = {.lex_state = 32}, + [342] = {.lex_state = 1, .external_lex_state = 2}, + [343] = {.lex_state = 32}, + [344] = {.lex_state = 32}, + [345] = {.lex_state = 32}, + [346] = {.lex_state = 1, .external_lex_state = 2}, + [347] = {.lex_state = 1, .external_lex_state = 2}, + [348] = {.lex_state = 1, .external_lex_state = 2}, + [349] = {.lex_state = 33, .external_lex_state = 2}, + [350] = {.lex_state = 1, .external_lex_state = 2}, + [351] = {.lex_state = 1, .external_lex_state = 2}, + [352] = {.lex_state = 1, .external_lex_state = 2}, + [353] = {.lex_state = 1, .external_lex_state = 2}, + [354] = {.lex_state = 1, .external_lex_state = 2}, + [355] = {.lex_state = 1, .external_lex_state = 2}, + [356] = {.lex_state = 1, .external_lex_state = 2}, + [357] = {.lex_state = 1, .external_lex_state = 2}, + [358] = {.lex_state = 1, .external_lex_state = 2}, + [359] = {.lex_state = 1, .external_lex_state = 2}, + [360] = {.lex_state = 1, .external_lex_state = 2}, + [361] = {.lex_state = 1, .external_lex_state = 2}, + [362] = {.lex_state = 1, .external_lex_state = 2}, + [363] = {.lex_state = 33, .external_lex_state = 2}, + [364] = {.lex_state = 33, .external_lex_state = 2}, + [365] = {.lex_state = 33}, + [366] = {.lex_state = 33, .external_lex_state = 2}, + [367] = {.lex_state = 33, .external_lex_state = 2}, + [368] = {.lex_state = 33}, + [369] = {.lex_state = 33}, + [370] = {.lex_state = 33, .external_lex_state = 2}, + [371] = {.lex_state = 33}, + [372] = {.lex_state = 33}, + [373] = {.lex_state = 33, .external_lex_state = 2}, + [374] = {.lex_state = 33, .external_lex_state = 2}, + [375] = {.lex_state = 1, .external_lex_state = 2}, + [376] = {.lex_state = 1, .external_lex_state = 2}, + [377] = {.lex_state = 1, .external_lex_state = 2}, + [378] = {.lex_state = 1, .external_lex_state = 2}, + [379] = {.lex_state = 1, .external_lex_state = 2}, + [380] = {.lex_state = 1, .external_lex_state = 2}, + [381] = {.lex_state = 1, .external_lex_state = 2}, + [382] = {.lex_state = 1, .external_lex_state = 2}, + [383] = {.lex_state = 1, .external_lex_state = 2}, + [384] = {.lex_state = 33, .external_lex_state = 2}, + [385] = {.lex_state = 33, .external_lex_state = 2}, + [386] = {.lex_state = 5}, + [387] = {.lex_state = 33}, + [388] = {.lex_state = 33}, + [389] = {.lex_state = 33}, + [390] = {.lex_state = 33}, + [391] = {.lex_state = 33}, + [392] = {.lex_state = 33}, + [393] = {.lex_state = 33}, + [394] = {.lex_state = 33}, + [395] = {.lex_state = 33}, + [396] = {.lex_state = 33}, + [397] = {.lex_state = 33}, + [398] = {.lex_state = 33}, + [399] = {.lex_state = 33}, + [400] = {.lex_state = 33}, + [401] = {.lex_state = 33}, + [402] = {.lex_state = 33}, + [403] = {.lex_state = 33}, + [404] = {.lex_state = 33}, + [405] = {.lex_state = 33}, + [406] = {.lex_state = 33}, + [407] = {.lex_state = 33}, + [408] = {.lex_state = 33}, + [409] = {.lex_state = 33}, + [410] = {.lex_state = 5}, + [411] = {.lex_state = 33}, + [412] = {.lex_state = 33}, + [413] = {.lex_state = 33}, + [414] = {.lex_state = 33}, + [415] = {.lex_state = 5}, + [416] = {.lex_state = 33}, + [417] = {.lex_state = 33}, + [418] = {.lex_state = 33}, + [419] = {.lex_state = 33}, + [420] = {.lex_state = 33}, + [421] = {.lex_state = 33}, + [422] = {.lex_state = 5}, + [423] = {.lex_state = 33}, + [424] = {.lex_state = 33}, + [425] = {.lex_state = 33}, + [426] = {.lex_state = 33}, + [427] = {.lex_state = 33}, + [428] = {.lex_state = 33}, + [429] = {.lex_state = 33}, + [430] = {.lex_state = 33}, + [431] = {.lex_state = 5}, + [432] = {.lex_state = 33}, + [433] = {.lex_state = 33}, + [434] = {.lex_state = 33}, + [435] = {.lex_state = 5}, + [436] = {.lex_state = 5}, + [437] = {.lex_state = 5}, + [438] = {.lex_state = 33}, + [439] = {.lex_state = 33}, + [440] = {.lex_state = 5}, + [441] = {.lex_state = 5}, + [442] = {.lex_state = 5}, + [443] = {.lex_state = 33}, + [444] = {.lex_state = 33}, + [445] = {.lex_state = 33}, + [446] = {.lex_state = 33}, + [447] = {.lex_state = 33}, + [448] = {.lex_state = 33}, + [449] = {.lex_state = 33}, + [450] = {.lex_state = 33}, + [451] = {.lex_state = 33}, + [452] = {.lex_state = 33}, + [453] = {.lex_state = 33}, + [454] = {.lex_state = 33}, + [455] = {.lex_state = 33}, + [456] = {.lex_state = 33}, + [457] = {.lex_state = 33}, + [458] = {.lex_state = 33}, + [459] = {.lex_state = 33}, + [460] = {.lex_state = 33}, + [461] = {.lex_state = 33}, + [462] = {.lex_state = 33}, + [463] = {.lex_state = 33}, + [464] = {.lex_state = 33}, + [465] = {.lex_state = 33}, + [466] = {.lex_state = 33}, + [467] = {.lex_state = 33}, + [468] = {.lex_state = 33}, + [469] = {.lex_state = 33}, + [470] = {.lex_state = 33}, + [471] = {.lex_state = 33}, + [472] = {.lex_state = 33}, + [473] = {.lex_state = 33}, + [474] = {.lex_state = 33}, + [475] = {.lex_state = 33}, + [476] = {.lex_state = 33}, + [477] = {.lex_state = 33}, + [478] = {.lex_state = 33}, + [479] = {.lex_state = 33}, + [480] = {.lex_state = 33}, + [481] = {.lex_state = 33}, + [482] = {.lex_state = 33}, + [483] = {.lex_state = 33}, + [484] = {.lex_state = 33}, + [485] = {.lex_state = 33}, + [486] = {.lex_state = 33}, + [487] = {.lex_state = 33}, + [488] = {.lex_state = 33}, + [489] = {.lex_state = 33}, + [490] = {.lex_state = 33}, + [491] = {.lex_state = 33}, + [492] = {.lex_state = 33}, + [493] = {.lex_state = 33}, + [494] = {.lex_state = 106}, + [495] = {.lex_state = 33}, + [496] = {.lex_state = 33}, + [497] = {.lex_state = 33}, + [498] = {.lex_state = 33}, + [499] = {.lex_state = 33}, + [500] = {.lex_state = 33}, + [501] = {.lex_state = 33}, + [502] = {.lex_state = 33}, + [503] = {.lex_state = 33}, + [504] = {.lex_state = 33}, + [505] = {.lex_state = 33}, + [506] = {.lex_state = 33}, + [507] = {.lex_state = 33}, + [508] = {.lex_state = 33}, + [509] = {.lex_state = 33}, + [510] = {.lex_state = 1, .external_lex_state = 3}, + [511] = {.lex_state = 33}, + [512] = {.lex_state = 33}, + [513] = {.lex_state = 33}, + [514] = {.lex_state = 33}, + [515] = {.lex_state = 33}, + [516] = {.lex_state = 33}, + [517] = {.lex_state = 33}, + [518] = {.lex_state = 33}, + [519] = {.lex_state = 33}, + [520] = {.lex_state = 33}, + [521] = {.lex_state = 33}, + [522] = {.lex_state = 33}, + [523] = {.lex_state = 33}, + [524] = {.lex_state = 33}, + [525] = {.lex_state = 33}, + [526] = {.lex_state = 33}, + [527] = {.lex_state = 33}, + [528] = {.lex_state = 33}, + [529] = {.lex_state = 33}, + [530] = {.lex_state = 33}, + [531] = {.lex_state = 33}, + [532] = {.lex_state = 33}, + [533] = {.lex_state = 33}, + [534] = {.lex_state = 33}, + [535] = {.lex_state = 33}, + [536] = {.lex_state = 33}, + [537] = {.lex_state = 33}, + [538] = {.lex_state = 33}, + [539] = {.lex_state = 33, .external_lex_state = 4}, + [540] = {.lex_state = 33}, + [541] = {.lex_state = 33}, + [542] = {.lex_state = 33, .external_lex_state = 4}, + [543] = {.lex_state = 33}, + [544] = {.lex_state = 33}, + [545] = {.lex_state = 33}, + [546] = {.lex_state = 33}, + [547] = {.lex_state = 33}, + [548] = {.lex_state = 33}, + [549] = {.lex_state = 33}, + [550] = {.lex_state = 32}, + [551] = {.lex_state = 33, .external_lex_state = 4}, + [552] = {.lex_state = 33}, + [553] = {.lex_state = 33}, + [554] = {.lex_state = 33}, + [555] = {.lex_state = 33}, + [556] = {.lex_state = 33, .external_lex_state = 4}, + [557] = {.lex_state = 33}, + [558] = {.lex_state = 33}, + [559] = {.lex_state = 33, .external_lex_state = 4}, + [560] = {.lex_state = 33}, + [561] = {.lex_state = 33}, + [562] = {.lex_state = 33}, + [563] = {.lex_state = 33}, + [564] = {.lex_state = 33}, + [565] = {.lex_state = 33, .external_lex_state = 4}, + [566] = {.lex_state = 33}, + [567] = {.lex_state = 33}, + [568] = {.lex_state = 33}, + [569] = {.lex_state = 33}, + [570] = {.lex_state = 33}, + [571] = {.lex_state = 33}, + [572] = {.lex_state = 33}, + [573] = {.lex_state = 33}, + [574] = {.lex_state = 33}, + [575] = {.lex_state = 33}, + [576] = {.lex_state = 33}, + [577] = {.lex_state = 33}, + [578] = {.lex_state = 33}, + [579] = {.lex_state = 33}, + [580] = {.lex_state = 33}, + [581] = {.lex_state = 33}, + [582] = {.lex_state = 33}, + [583] = {.lex_state = 33}, + [584] = {.lex_state = 33}, + [585] = {.lex_state = 33}, + [586] = {.lex_state = 33}, + [587] = {.lex_state = 33}, + [588] = {.lex_state = 33}, + [589] = {.lex_state = 33}, + [590] = {.lex_state = 33}, + [591] = {.lex_state = 33}, + [592] = {.lex_state = 33}, + [593] = {.lex_state = 33}, + [594] = {.lex_state = 33}, + [595] = {.lex_state = 33}, + [596] = {.lex_state = 33}, + [597] = {.lex_state = 33}, + [598] = {.lex_state = 33}, + [599] = {.lex_state = 33}, + [600] = {.lex_state = 33}, + [601] = {.lex_state = 33}, + [602] = {.lex_state = 33}, + [603] = {.lex_state = 33}, + [604] = {.lex_state = 33}, + [605] = {.lex_state = 7}, + [606] = {.lex_state = 33}, + [607] = {.lex_state = 33}, + [608] = {.lex_state = 33}, + [609] = {.lex_state = 33}, + [610] = {.lex_state = 33}, + [611] = {.lex_state = 7}, + [612] = {.lex_state = 33}, + [613] = {.lex_state = 33}, + [614] = {.lex_state = 33}, + [615] = {.lex_state = 33}, + [616] = {.lex_state = 33}, + [617] = {.lex_state = 33}, + [618] = {.lex_state = 33}, + [619] = {.lex_state = 33}, + [620] = {.lex_state = 33}, + [621] = {.lex_state = 33}, + [622] = {.lex_state = 33}, + [623] = {.lex_state = 33}, + [624] = {.lex_state = 33}, + [625] = {.lex_state = 33}, + [626] = {.lex_state = 33}, + [627] = {.lex_state = 33}, + [628] = {.lex_state = 33}, + [629] = {.lex_state = 33}, + [630] = {.lex_state = 33}, + [631] = {.lex_state = 33}, + [632] = {.lex_state = 33}, + [633] = {.lex_state = 33}, + [634] = {.lex_state = 33}, + [635] = {.lex_state = 33}, + [636] = {.lex_state = 33}, + [637] = {.lex_state = 33}, + [638] = {.lex_state = 33}, + [639] = {.lex_state = 33}, + [640] = {.lex_state = 33}, + [641] = {.lex_state = 33}, + [642] = {.lex_state = 7}, + [643] = {.lex_state = 33}, + [644] = {.lex_state = 33}, + [645] = {.lex_state = 33}, + [646] = {.lex_state = 33}, + [647] = {.lex_state = 33}, + [648] = {.lex_state = 33}, + [649] = {.lex_state = 33}, + [650] = {.lex_state = 33}, + [651] = {.lex_state = 33}, + [652] = {.lex_state = 33}, + [653] = {.lex_state = 33}, + [654] = {.lex_state = 33}, + [655] = {.lex_state = 33}, + [656] = {.lex_state = 33}, + [657] = {.lex_state = 33}, + [658] = {.lex_state = 33}, + [659] = {.lex_state = 33}, + [660] = {.lex_state = 33}, + [661] = {.lex_state = 33}, + [662] = {.lex_state = 33}, + [663] = {.lex_state = 33}, + [664] = {.lex_state = 33}, + [665] = {.lex_state = 1, .external_lex_state = 5}, + [666] = {.lex_state = 33}, + [667] = {.lex_state = 33}, + [668] = {.lex_state = 33}, + [669] = {.lex_state = 1, .external_lex_state = 5}, + [670] = {.lex_state = 33}, + [671] = {.lex_state = 33}, + [672] = {.lex_state = 33}, + [673] = {.lex_state = 33}, + [674] = {.lex_state = 33}, + [675] = {.lex_state = 33}, + [676] = {.lex_state = 33}, + [677] = {.lex_state = 33}, + [678] = {.lex_state = 33}, + [679] = {.lex_state = 33}, + [680] = {.lex_state = 33}, + [681] = {.lex_state = 33}, + [682] = {.lex_state = 33}, + [683] = {.lex_state = 33}, + [684] = {.lex_state = 33}, + [685] = {.lex_state = 33}, + [686] = {.lex_state = 33}, + [687] = {.lex_state = 33}, + [688] = {.lex_state = 33}, + [689] = {.lex_state = 33, .external_lex_state = 2}, + [690] = {.lex_state = 1, .external_lex_state = 5}, + [691] = {.lex_state = 33}, + [692] = {.lex_state = 33}, + [693] = {.lex_state = 33}, + [694] = {.lex_state = 33}, + [695] = {.lex_state = 33}, + [696] = {.lex_state = 33}, + [697] = {.lex_state = 33}, + [698] = {.lex_state = 33}, + [699] = {.lex_state = 33}, + [700] = {.lex_state = 33}, + [701] = {.lex_state = 33}, + [702] = {.lex_state = 33}, + [703] = {.lex_state = 33}, + [704] = {.lex_state = 33}, + [705] = {.lex_state = 33}, + [706] = {.lex_state = 33}, + [707] = {.lex_state = 33}, + [708] = {.lex_state = 33}, + [709] = {.lex_state = 33}, + [710] = {.lex_state = 33}, + [711] = {.lex_state = 33}, + [712] = {.lex_state = 1}, + [713] = {.lex_state = 33}, + [714] = {.lex_state = 33}, + [715] = {.lex_state = 33}, + [716] = {.lex_state = 33}, + [717] = {.lex_state = 33}, + [718] = {.lex_state = 33}, + [719] = {.lex_state = 33}, + [720] = {.lex_state = 33}, + [721] = {.lex_state = 33, .external_lex_state = 6}, + [722] = {.lex_state = 33}, + [723] = {.lex_state = 33}, + [724] = {.lex_state = 33}, + [725] = {.lex_state = 33, .external_lex_state = 6}, + [726] = {.lex_state = 33, .external_lex_state = 6}, + [727] = {.lex_state = 33}, + [728] = {.lex_state = 33}, + [729] = {.lex_state = 33}, + [730] = {.lex_state = 33}, + [731] = {.lex_state = 33}, + [732] = {.lex_state = 33}, + [733] = {.lex_state = 33}, + [734] = {.lex_state = 33}, + [735] = {.lex_state = 33}, + [736] = {.lex_state = 33}, + [737] = {.lex_state = 33}, + [738] = {.lex_state = 33}, + [739] = {.lex_state = 33}, + [740] = {.lex_state = 33}, + [741] = {.lex_state = 33}, + [742] = {.lex_state = 33}, + [743] = {.lex_state = 33}, + [744] = {.lex_state = 33}, + [745] = {.lex_state = 33}, + [746] = {.lex_state = 33}, + [747] = {.lex_state = 33}, + [748] = {.lex_state = 33}, + [749] = {.lex_state = 33, .external_lex_state = 6}, + [750] = {.lex_state = 33}, + [751] = {.lex_state = 33}, + [752] = {.lex_state = 33}, + [753] = {.lex_state = 33}, + [754] = {.lex_state = 33}, + [755] = {.lex_state = 33}, + [756] = {.lex_state = 33}, + [757] = {.lex_state = 33}, + [758] = {.lex_state = 33}, + [759] = {.lex_state = 1}, + [760] = {.lex_state = 33}, + [761] = {.lex_state = 33}, + [762] = {.lex_state = 33, .external_lex_state = 6}, + [763] = {.lex_state = 33}, + [764] = {.lex_state = 33}, + [765] = {.lex_state = 33}, + [766] = {.lex_state = 33}, + [767] = {.lex_state = 33}, + [768] = {.lex_state = 33}, + [769] = {.lex_state = 33}, + [770] = {.lex_state = 33}, + [771] = {.lex_state = 33}, + [772] = {.lex_state = 33}, + [773] = {.lex_state = 33}, + [774] = {.lex_state = 33}, + [775] = {.lex_state = 33}, + [776] = {.lex_state = 33}, + [777] = {.lex_state = 33}, + [778] = {.lex_state = 33}, + [779] = {.lex_state = 33}, + [780] = {.lex_state = 33}, + [781] = {.lex_state = 33}, + [782] = {.lex_state = 33}, + [783] = {.lex_state = 33}, + [784] = {.lex_state = 33}, + [785] = {.lex_state = 104}, + [786] = {.lex_state = 7}, + [787] = {.lex_state = 33}, + [788] = {.lex_state = 33}, + [789] = {.lex_state = 33}, + [790] = {.lex_state = 33}, + [791] = {.lex_state = 33}, + [792] = {.lex_state = 33}, + [793] = {.lex_state = 33}, + [794] = {.lex_state = 33}, + [795] = {.lex_state = 33}, + [796] = {.lex_state = 33}, + [797] = {.lex_state = 33}, + [798] = {.lex_state = 33}, + [799] = {.lex_state = 33}, + [800] = {.lex_state = 33}, + [801] = {.lex_state = 33}, + [802] = {.lex_state = 33}, + [803] = {.lex_state = 7}, + [804] = {.lex_state = 33}, + [805] = {.lex_state = 33}, + [806] = {(TSStateId)(-1),}, + [807] = {(TSStateId)(-1),}, + [808] = {(TSStateId)(-1),}, + [809] = {(TSStateId)(-1),}, + [810] = {(TSStateId)(-1),}, + [811] = {(TSStateId)(-1),}, + [812] = {(TSStateId)(-1),}, +}; + +static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { + [STATE(0)] = { + [sym_line_comment] = STATE(0), + [sym_block_comment] = STATE(0), + [ts_builtin_sym_end] = ACTIONS(1), + [sym_identifier] = ACTIONS(1), + [anon_sym_SEMI] = ACTIONS(1), + [anon_sym_POUND] = ACTIONS(1), + [anon_sym_LBRACK] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_BANG] = ACTIONS(1), + [anon_sym_EQ] = ACTIONS(1), + [anon_sym_mod] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [anon_sym_RBRACE] = ACTIONS(1), + [anon_sym_struct] = ACTIONS(1), + [anon_sym_enum] = ACTIONS(1), + [anon_sym_COMMA] = ACTIONS(1), + [anon_sym_LPAREN] = ACTIONS(1), + [anon_sym_RPAREN] = ACTIONS(1), + [anon_sym_async] = ACTIONS(1), + [anon_sym_fn] = ACTIONS(1), + [anon_sym_let] = ACTIONS(1), + [anon_sym_use] = ACTIONS(1), + [anon_sym_as] = ACTIONS(1), + [anon_sym_STAR] = ACTIONS(1), + [anon_sym_pub] = ACTIONS(1), + [anon_sym_in] = ACTIONS(1), + [anon_sym_DOT_DOT] = ACTIONS(1), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1), + [anon_sym_DOT_DOT_EQ] = ACTIONS(1), + [anon_sym_DASH] = ACTIONS(1), + [anon_sym_AMP_AMP] = ACTIONS(1), + [anon_sym_PIPE_PIPE] = ACTIONS(1), + [anon_sym_AMP] = ACTIONS(1), + [anon_sym_PIPE] = ACTIONS(1), + [anon_sym_CARET] = ACTIONS(1), + [anon_sym_EQ_EQ] = ACTIONS(1), + [anon_sym_BANG_EQ] = ACTIONS(1), + [anon_sym_LT] = ACTIONS(1), + [anon_sym_LT_EQ] = ACTIONS(1), + [anon_sym_GT] = ACTIONS(1), + [anon_sym_GT_EQ] = ACTIONS(1), + [anon_sym_LT_LT] = ACTIONS(1), + [anon_sym_GT_GT] = ACTIONS(1), + [anon_sym_PLUS] = ACTIONS(1), + [anon_sym_SLASH] = ACTIONS(1), + [anon_sym_PERCENT] = ACTIONS(1), + [anon_sym_PLUS_EQ] = ACTIONS(1), + [anon_sym_DASH_EQ] = ACTIONS(1), + [anon_sym_STAR_EQ] = ACTIONS(1), + [anon_sym_SLASH_EQ] = ACTIONS(1), + [anon_sym_PERCENT_EQ] = ACTIONS(1), + [anon_sym_AMP_EQ] = ACTIONS(1), + [anon_sym_PIPE_EQ] = ACTIONS(1), + [anon_sym_CARET_EQ] = ACTIONS(1), + [anon_sym_LT_LT_EQ] = ACTIONS(1), + [anon_sym_GT_GT_EQ] = ACTIONS(1), + [anon_sym_return] = ACTIONS(1), + [anon_sym_yield] = ACTIONS(1), + [anon_sym_COLON] = ACTIONS(1), + [anon_sym_if] = ACTIONS(1), + [anon_sym_else] = ACTIONS(1), + [anon_sym_match] = ACTIONS(1), + [anon_sym_EQ_GT] = ACTIONS(1), + [anon_sym_while] = ACTIONS(1), + [anon_sym_loop] = ACTIONS(1), + [anon_sym_for] = ACTIONS(1), + [anon_sym_break] = ACTIONS(1), + [anon_sym_continue] = ACTIONS(1), + [anon_sym_DOT] = ACTIONS(1), + [anon_sym_await] = ACTIONS(1), + [anon_sym__] = ACTIONS(1), + [anon_sym_AT] = ACTIONS(1), + [sym_integer_literal] = ACTIONS(1), + [anon_sym_DQUOTE] = ACTIONS(1), + [aux_sym_string_literal_token1] = ACTIONS(1), + [sym_char_literal] = ACTIONS(1), + [sym_escape_sequence] = ACTIONS(1), + [anon_sym_true] = ACTIONS(1), + [anon_sym_false] = ACTIONS(1), + [anon_sym_SLASH_SLASH] = ACTIONS(3), + [aux_sym_line_comment_token1] = ACTIONS(1), + [anon_sym_BANG2] = ACTIONS(1), + [anon_sym_SLASH2] = ACTIONS(1), + [anon_sym_SLASH_STAR] = ACTIONS(5), + [anon_sym_STAR_SLASH] = ACTIONS(1), + [sym_self] = ACTIONS(1), + [sym_super] = ACTIONS(1), + [sym_crate] = ACTIONS(1), + [sym_string_content] = ACTIONS(1), + [sym__raw_string_literal_start] = ACTIONS(1), + [sym_raw_string_literal_content] = ACTIONS(1), + [sym__raw_string_literal_end] = ACTIONS(1), + [sym_float_literal] = ACTIONS(1), + [sym__outer_block_doc_comment_marker] = ACTIONS(1), + [sym__inner_block_doc_comment_marker] = ACTIONS(1), + [sym__block_comment_content] = ACTIONS(1), + [sym__line_doc_content] = ACTIONS(1), + [sym__error_sentinel] = ACTIONS(1), + }, + [STATE(1)] = { + [sym_source_file] = STATE(738), + [sym__statement] = STATE(234), + [sym_empty_statement] = STATE(235), + [sym_expression_statement] = STATE(235), + [sym_attribute_item] = STATE(235), + [sym_inner_attribute_item] = STATE(235), + [sym_mod_item] = STATE(235), + [sym_struct_item] = STATE(235), + [sym_enum_item] = STATE(235), + [sym_function_item] = STATE(235), + [sym_let_declaration] = STATE(235), + [sym_use_declaration] = STATE(235), + [sym_visibility_modifier] = STATE(499), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(341), + [sym_macro_invocation] = STATE(39), + [sym_scoped_identifier] = STATE(214), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(42), + [sym_match_expression] = STATE(42), + [sym_while_expression] = STATE(42), + [sym_loop_expression] = STATE(42), + [sym_for_expression] = STATE(42), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(42), + [sym_block] = STATE(42), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(1), + [sym_block_comment] = STATE(1), + [aux_sym_source_file_repeat1] = STATE(18), + [ts_builtin_sym_end] = ACTIONS(7), + [sym_identifier] = ACTIONS(9), + [anon_sym_SEMI] = ACTIONS(11), + [anon_sym_POUND] = ACTIONS(13), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_mod] = ACTIONS(19), + [anon_sym_LBRACE] = ACTIONS(21), + [anon_sym_struct] = ACTIONS(23), + [anon_sym_enum] = ACTIONS(25), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(29), + [anon_sym_fn] = ACTIONS(31), + [anon_sym_let] = ACTIONS(33), + [anon_sym_use] = ACTIONS(35), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_pub] = ACTIONS(39), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_match] = ACTIONS(51), + [anon_sym_while] = ACTIONS(53), + [anon_sym_loop] = ACTIONS(55), + [anon_sym_for] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(77), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(2)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(222), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(2), + [sym_block_comment] = STATE(2), + [sym_identifier] = ACTIONS(79), + [anon_sym_SEMI] = ACTIONS(81), + [anon_sym_LBRACK] = ACTIONS(81), + [anon_sym_RBRACK] = ACTIONS(81), + [anon_sym_BANG] = ACTIONS(83), + [anon_sym_EQ] = ACTIONS(85), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_RBRACE] = ACTIONS(81), + [anon_sym_COMMA] = ACTIONS(81), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(81), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(85), + [anon_sym_DOT_DOT] = ACTIONS(85), + [anon_sym_DOT_DOT_DOT] = ACTIONS(81), + [anon_sym_DOT_DOT_EQ] = ACTIONS(81), + [anon_sym_DASH] = ACTIONS(85), + [anon_sym_AMP_AMP] = ACTIONS(81), + [anon_sym_PIPE_PIPE] = ACTIONS(81), + [anon_sym_AMP] = ACTIONS(85), + [anon_sym_PIPE] = ACTIONS(85), + [anon_sym_CARET] = ACTIONS(85), + [anon_sym_EQ_EQ] = ACTIONS(81), + [anon_sym_BANG_EQ] = ACTIONS(81), + [anon_sym_LT] = ACTIONS(85), + [anon_sym_LT_EQ] = ACTIONS(81), + [anon_sym_GT] = ACTIONS(85), + [anon_sym_GT_EQ] = ACTIONS(81), + [anon_sym_LT_LT] = ACTIONS(85), + [anon_sym_GT_GT] = ACTIONS(85), + [anon_sym_PLUS] = ACTIONS(85), + [anon_sym_SLASH] = ACTIONS(85), + [anon_sym_PERCENT] = ACTIONS(85), + [anon_sym_PLUS_EQ] = ACTIONS(81), + [anon_sym_DASH_EQ] = ACTIONS(81), + [anon_sym_STAR_EQ] = ACTIONS(81), + [anon_sym_SLASH_EQ] = ACTIONS(81), + [anon_sym_PERCENT_EQ] = ACTIONS(81), + [anon_sym_AMP_EQ] = ACTIONS(81), + [anon_sym_PIPE_EQ] = ACTIONS(81), + [anon_sym_CARET_EQ] = ACTIONS(81), + [anon_sym_LT_LT_EQ] = ACTIONS(81), + [anon_sym_GT_GT_EQ] = ACTIONS(81), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_EQ_GT] = ACTIONS(81), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(85), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(3)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(206), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(3), + [sym_block_comment] = STATE(3), + [sym_identifier] = ACTIONS(79), + [anon_sym_SEMI] = ACTIONS(101), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_RBRACK] = ACTIONS(101), + [anon_sym_BANG] = ACTIONS(83), + [anon_sym_EQ] = ACTIONS(103), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_RBRACE] = ACTIONS(101), + [anon_sym_COMMA] = ACTIONS(101), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(101), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(103), + [anon_sym_DOT_DOT] = ACTIONS(105), + [anon_sym_DOT_DOT_DOT] = ACTIONS(101), + [anon_sym_DOT_DOT_EQ] = ACTIONS(101), + [anon_sym_DASH] = ACTIONS(83), + [anon_sym_AMP_AMP] = ACTIONS(101), + [anon_sym_PIPE_PIPE] = ACTIONS(101), + [anon_sym_AMP] = ACTIONS(103), + [anon_sym_PIPE] = ACTIONS(107), + [anon_sym_CARET] = ACTIONS(103), + [anon_sym_EQ_EQ] = ACTIONS(101), + [anon_sym_BANG_EQ] = ACTIONS(101), + [anon_sym_LT] = ACTIONS(103), + [anon_sym_LT_EQ] = ACTIONS(101), + [anon_sym_GT] = ACTIONS(103), + [anon_sym_GT_EQ] = ACTIONS(101), + [anon_sym_LT_LT] = ACTIONS(103), + [anon_sym_GT_GT] = ACTIONS(103), + [anon_sym_PLUS] = ACTIONS(103), + [anon_sym_SLASH] = ACTIONS(103), + [anon_sym_PERCENT] = ACTIONS(103), + [anon_sym_PLUS_EQ] = ACTIONS(101), + [anon_sym_DASH_EQ] = ACTIONS(101), + [anon_sym_STAR_EQ] = ACTIONS(101), + [anon_sym_SLASH_EQ] = ACTIONS(101), + [anon_sym_PERCENT_EQ] = ACTIONS(101), + [anon_sym_AMP_EQ] = ACTIONS(101), + [anon_sym_PIPE_EQ] = ACTIONS(101), + [anon_sym_CARET_EQ] = ACTIONS(101), + [anon_sym_LT_LT_EQ] = ACTIONS(101), + [anon_sym_GT_GT_EQ] = ACTIONS(101), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_EQ_GT] = ACTIONS(101), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(103), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(4)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(207), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(4), + [sym_block_comment] = STATE(4), + [sym_identifier] = ACTIONS(79), + [anon_sym_SEMI] = ACTIONS(109), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_RBRACK] = ACTIONS(109), + [anon_sym_BANG] = ACTIONS(83), + [anon_sym_EQ] = ACTIONS(111), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_RBRACE] = ACTIONS(109), + [anon_sym_COMMA] = ACTIONS(109), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(109), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(111), + [anon_sym_DOT_DOT] = ACTIONS(105), + [anon_sym_DOT_DOT_DOT] = ACTIONS(109), + [anon_sym_DOT_DOT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(83), + [anon_sym_AMP_AMP] = ACTIONS(109), + [anon_sym_PIPE_PIPE] = ACTIONS(109), + [anon_sym_AMP] = ACTIONS(111), + [anon_sym_PIPE] = ACTIONS(107), + [anon_sym_CARET] = ACTIONS(111), + [anon_sym_EQ_EQ] = ACTIONS(109), + [anon_sym_BANG_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(111), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_GT] = ACTIONS(111), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT_LT] = ACTIONS(111), + [anon_sym_GT_GT] = ACTIONS(111), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_SLASH] = ACTIONS(111), + [anon_sym_PERCENT] = ACTIONS(111), + [anon_sym_PLUS_EQ] = ACTIONS(109), + [anon_sym_DASH_EQ] = ACTIONS(109), + [anon_sym_STAR_EQ] = ACTIONS(109), + [anon_sym_SLASH_EQ] = ACTIONS(109), + [anon_sym_PERCENT_EQ] = ACTIONS(109), + [anon_sym_AMP_EQ] = ACTIONS(109), + [anon_sym_PIPE_EQ] = ACTIONS(109), + [anon_sym_CARET_EQ] = ACTIONS(109), + [anon_sym_LT_LT_EQ] = ACTIONS(109), + [anon_sym_GT_GT_EQ] = ACTIONS(109), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_EQ_GT] = ACTIONS(109), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(111), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(5)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(209), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(5), + [sym_block_comment] = STATE(5), + [sym_identifier] = ACTIONS(79), + [anon_sym_SEMI] = ACTIONS(113), + [anon_sym_LBRACK] = ACTIONS(113), + [anon_sym_RBRACK] = ACTIONS(113), + [anon_sym_BANG] = ACTIONS(83), + [anon_sym_EQ] = ACTIONS(115), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_RBRACE] = ACTIONS(113), + [anon_sym_COMMA] = ACTIONS(113), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_RPAREN] = ACTIONS(113), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(115), + [anon_sym_DOT_DOT] = ACTIONS(115), + [anon_sym_DOT_DOT_DOT] = ACTIONS(113), + [anon_sym_DOT_DOT_EQ] = ACTIONS(113), + [anon_sym_DASH] = ACTIONS(115), + [anon_sym_AMP_AMP] = ACTIONS(113), + [anon_sym_PIPE_PIPE] = ACTIONS(113), + [anon_sym_AMP] = ACTIONS(115), + [anon_sym_PIPE] = ACTIONS(115), + [anon_sym_CARET] = ACTIONS(115), + [anon_sym_EQ_EQ] = ACTIONS(113), + [anon_sym_BANG_EQ] = ACTIONS(113), + [anon_sym_LT] = ACTIONS(115), + [anon_sym_LT_EQ] = ACTIONS(113), + [anon_sym_GT] = ACTIONS(115), + [anon_sym_GT_EQ] = ACTIONS(113), + [anon_sym_LT_LT] = ACTIONS(115), + [anon_sym_GT_GT] = ACTIONS(115), + [anon_sym_PLUS] = ACTIONS(115), + [anon_sym_SLASH] = ACTIONS(115), + [anon_sym_PERCENT] = ACTIONS(115), + [anon_sym_PLUS_EQ] = ACTIONS(113), + [anon_sym_DASH_EQ] = ACTIONS(113), + [anon_sym_STAR_EQ] = ACTIONS(113), + [anon_sym_SLASH_EQ] = ACTIONS(113), + [anon_sym_PERCENT_EQ] = ACTIONS(113), + [anon_sym_AMP_EQ] = ACTIONS(113), + [anon_sym_PIPE_EQ] = ACTIONS(113), + [anon_sym_CARET_EQ] = ACTIONS(113), + [anon_sym_LT_LT_EQ] = ACTIONS(113), + [anon_sym_GT_GT_EQ] = ACTIONS(113), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_EQ_GT] = ACTIONS(113), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(115), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(6)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(225), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(6), + [sym_block_comment] = STATE(6), + [sym_identifier] = ACTIONS(79), + [anon_sym_SEMI] = ACTIONS(117), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_RBRACK] = ACTIONS(117), + [anon_sym_BANG] = ACTIONS(83), + [anon_sym_EQ] = ACTIONS(119), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_RBRACE] = ACTIONS(117), + [anon_sym_COMMA] = ACTIONS(117), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(117), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(119), + [anon_sym_DOT_DOT] = ACTIONS(119), + [anon_sym_DOT_DOT_DOT] = ACTIONS(117), + [anon_sym_DOT_DOT_EQ] = ACTIONS(117), + [anon_sym_DASH] = ACTIONS(119), + [anon_sym_AMP_AMP] = ACTIONS(117), + [anon_sym_PIPE_PIPE] = ACTIONS(117), + [anon_sym_AMP] = ACTIONS(119), + [anon_sym_PIPE] = ACTIONS(119), + [anon_sym_CARET] = ACTIONS(119), + [anon_sym_EQ_EQ] = ACTIONS(117), + [anon_sym_BANG_EQ] = ACTIONS(117), + [anon_sym_LT] = ACTIONS(119), + [anon_sym_LT_EQ] = ACTIONS(117), + [anon_sym_GT] = ACTIONS(119), + [anon_sym_GT_EQ] = ACTIONS(117), + [anon_sym_LT_LT] = ACTIONS(119), + [anon_sym_GT_GT] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(119), + [anon_sym_SLASH] = ACTIONS(119), + [anon_sym_PERCENT] = ACTIONS(119), + [anon_sym_PLUS_EQ] = ACTIONS(117), + [anon_sym_DASH_EQ] = ACTIONS(117), + [anon_sym_STAR_EQ] = ACTIONS(117), + [anon_sym_SLASH_EQ] = ACTIONS(117), + [anon_sym_PERCENT_EQ] = ACTIONS(117), + [anon_sym_AMP_EQ] = ACTIONS(117), + [anon_sym_PIPE_EQ] = ACTIONS(117), + [anon_sym_CARET_EQ] = ACTIONS(117), + [anon_sym_LT_LT_EQ] = ACTIONS(117), + [anon_sym_GT_GT_EQ] = ACTIONS(117), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_EQ_GT] = ACTIONS(117), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(119), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(7)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(222), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(7), + [sym_block_comment] = STATE(7), + [sym_identifier] = ACTIONS(79), + [anon_sym_SEMI] = ACTIONS(81), + [anon_sym_LBRACK] = ACTIONS(81), + [anon_sym_RBRACK] = ACTIONS(81), + [anon_sym_BANG] = ACTIONS(83), + [anon_sym_EQ] = ACTIONS(85), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_RBRACE] = ACTIONS(81), + [anon_sym_COMMA] = ACTIONS(81), + [anon_sym_LPAREN] = ACTIONS(81), + [anon_sym_RPAREN] = ACTIONS(81), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(85), + [anon_sym_DOT_DOT] = ACTIONS(85), + [anon_sym_DOT_DOT_DOT] = ACTIONS(81), + [anon_sym_DOT_DOT_EQ] = ACTIONS(81), + [anon_sym_DASH] = ACTIONS(85), + [anon_sym_AMP_AMP] = ACTIONS(81), + [anon_sym_PIPE_PIPE] = ACTIONS(81), + [anon_sym_AMP] = ACTIONS(85), + [anon_sym_PIPE] = ACTIONS(85), + [anon_sym_CARET] = ACTIONS(85), + [anon_sym_EQ_EQ] = ACTIONS(81), + [anon_sym_BANG_EQ] = ACTIONS(81), + [anon_sym_LT] = ACTIONS(85), + [anon_sym_LT_EQ] = ACTIONS(81), + [anon_sym_GT] = ACTIONS(85), + [anon_sym_GT_EQ] = ACTIONS(81), + [anon_sym_LT_LT] = ACTIONS(85), + [anon_sym_GT_GT] = ACTIONS(85), + [anon_sym_PLUS] = ACTIONS(85), + [anon_sym_SLASH] = ACTIONS(85), + [anon_sym_PERCENT] = ACTIONS(85), + [anon_sym_PLUS_EQ] = ACTIONS(81), + [anon_sym_DASH_EQ] = ACTIONS(81), + [anon_sym_STAR_EQ] = ACTIONS(81), + [anon_sym_SLASH_EQ] = ACTIONS(81), + [anon_sym_PERCENT_EQ] = ACTIONS(81), + [anon_sym_AMP_EQ] = ACTIONS(81), + [anon_sym_PIPE_EQ] = ACTIONS(81), + [anon_sym_CARET_EQ] = ACTIONS(81), + [anon_sym_LT_LT_EQ] = ACTIONS(81), + [anon_sym_GT_GT_EQ] = ACTIONS(81), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_EQ_GT] = ACTIONS(81), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(85), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(8)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(225), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(8), + [sym_block_comment] = STATE(8), + [sym_identifier] = ACTIONS(79), + [anon_sym_SEMI] = ACTIONS(117), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_RBRACK] = ACTIONS(117), + [anon_sym_BANG] = ACTIONS(83), + [anon_sym_EQ] = ACTIONS(119), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_RBRACE] = ACTIONS(117), + [anon_sym_COMMA] = ACTIONS(117), + [anon_sym_LPAREN] = ACTIONS(117), + [anon_sym_RPAREN] = ACTIONS(117), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(119), + [anon_sym_DOT_DOT] = ACTIONS(119), + [anon_sym_DOT_DOT_DOT] = ACTIONS(117), + [anon_sym_DOT_DOT_EQ] = ACTIONS(117), + [anon_sym_DASH] = ACTIONS(119), + [anon_sym_AMP_AMP] = ACTIONS(117), + [anon_sym_PIPE_PIPE] = ACTIONS(117), + [anon_sym_AMP] = ACTIONS(119), + [anon_sym_PIPE] = ACTIONS(119), + [anon_sym_CARET] = ACTIONS(119), + [anon_sym_EQ_EQ] = ACTIONS(117), + [anon_sym_BANG_EQ] = ACTIONS(117), + [anon_sym_LT] = ACTIONS(119), + [anon_sym_LT_EQ] = ACTIONS(117), + [anon_sym_GT] = ACTIONS(119), + [anon_sym_GT_EQ] = ACTIONS(117), + [anon_sym_LT_LT] = ACTIONS(119), + [anon_sym_GT_GT] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(119), + [anon_sym_SLASH] = ACTIONS(119), + [anon_sym_PERCENT] = ACTIONS(119), + [anon_sym_PLUS_EQ] = ACTIONS(117), + [anon_sym_DASH_EQ] = ACTIONS(117), + [anon_sym_STAR_EQ] = ACTIONS(117), + [anon_sym_SLASH_EQ] = ACTIONS(117), + [anon_sym_PERCENT_EQ] = ACTIONS(117), + [anon_sym_AMP_EQ] = ACTIONS(117), + [anon_sym_PIPE_EQ] = ACTIONS(117), + [anon_sym_CARET_EQ] = ACTIONS(117), + [anon_sym_LT_LT_EQ] = ACTIONS(117), + [anon_sym_GT_GT_EQ] = ACTIONS(117), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_EQ_GT] = ACTIONS(117), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(119), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(9)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(318), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(9), + [sym_block_comment] = STATE(9), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(113), + [anon_sym_BANG] = ACTIONS(123), + [anon_sym_EQ] = ACTIONS(115), + [anon_sym_LBRACE] = ACTIONS(113), + [anon_sym_LPAREN] = ACTIONS(113), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(115), + [anon_sym_DOT_DOT] = ACTIONS(115), + [anon_sym_DOT_DOT_DOT] = ACTIONS(113), + [anon_sym_DOT_DOT_EQ] = ACTIONS(113), + [anon_sym_DASH] = ACTIONS(115), + [anon_sym_AMP_AMP] = ACTIONS(113), + [anon_sym_PIPE_PIPE] = ACTIONS(113), + [anon_sym_AMP] = ACTIONS(115), + [anon_sym_PIPE] = ACTIONS(115), + [anon_sym_CARET] = ACTIONS(115), + [anon_sym_EQ_EQ] = ACTIONS(113), + [anon_sym_BANG_EQ] = ACTIONS(113), + [anon_sym_LT] = ACTIONS(115), + [anon_sym_LT_EQ] = ACTIONS(113), + [anon_sym_GT] = ACTIONS(115), + [anon_sym_GT_EQ] = ACTIONS(113), + [anon_sym_LT_LT] = ACTIONS(115), + [anon_sym_GT_GT] = ACTIONS(115), + [anon_sym_PLUS] = ACTIONS(115), + [anon_sym_SLASH] = ACTIONS(115), + [anon_sym_PERCENT] = ACTIONS(115), + [anon_sym_PLUS_EQ] = ACTIONS(113), + [anon_sym_DASH_EQ] = ACTIONS(113), + [anon_sym_STAR_EQ] = ACTIONS(113), + [anon_sym_SLASH_EQ] = ACTIONS(113), + [anon_sym_PERCENT_EQ] = ACTIONS(113), + [anon_sym_AMP_EQ] = ACTIONS(113), + [anon_sym_PIPE_EQ] = ACTIONS(113), + [anon_sym_CARET_EQ] = ACTIONS(113), + [anon_sym_LT_LT_EQ] = ACTIONS(113), + [anon_sym_GT_GT_EQ] = ACTIONS(113), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(115), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(10)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(314), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(10), + [sym_block_comment] = STATE(10), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(81), + [anon_sym_BANG] = ACTIONS(123), + [anon_sym_EQ] = ACTIONS(85), + [anon_sym_LBRACE] = ACTIONS(81), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(85), + [anon_sym_DOT_DOT] = ACTIONS(85), + [anon_sym_DOT_DOT_DOT] = ACTIONS(81), + [anon_sym_DOT_DOT_EQ] = ACTIONS(81), + [anon_sym_DASH] = ACTIONS(85), + [anon_sym_AMP_AMP] = ACTIONS(81), + [anon_sym_PIPE_PIPE] = ACTIONS(81), + [anon_sym_AMP] = ACTIONS(85), + [anon_sym_PIPE] = ACTIONS(85), + [anon_sym_CARET] = ACTIONS(85), + [anon_sym_EQ_EQ] = ACTIONS(81), + [anon_sym_BANG_EQ] = ACTIONS(81), + [anon_sym_LT] = ACTIONS(85), + [anon_sym_LT_EQ] = ACTIONS(81), + [anon_sym_GT] = ACTIONS(85), + [anon_sym_GT_EQ] = ACTIONS(81), + [anon_sym_LT_LT] = ACTIONS(85), + [anon_sym_GT_GT] = ACTIONS(85), + [anon_sym_PLUS] = ACTIONS(85), + [anon_sym_SLASH] = ACTIONS(85), + [anon_sym_PERCENT] = ACTIONS(85), + [anon_sym_PLUS_EQ] = ACTIONS(81), + [anon_sym_DASH_EQ] = ACTIONS(81), + [anon_sym_STAR_EQ] = ACTIONS(81), + [anon_sym_SLASH_EQ] = ACTIONS(81), + [anon_sym_PERCENT_EQ] = ACTIONS(81), + [anon_sym_AMP_EQ] = ACTIONS(81), + [anon_sym_PIPE_EQ] = ACTIONS(81), + [anon_sym_CARET_EQ] = ACTIONS(81), + [anon_sym_LT_LT_EQ] = ACTIONS(81), + [anon_sym_GT_GT_EQ] = ACTIONS(81), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(85), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(11)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(295), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(11), + [sym_block_comment] = STATE(11), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_BANG] = ACTIONS(123), + [anon_sym_EQ] = ACTIONS(119), + [anon_sym_LBRACE] = ACTIONS(117), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(119), + [anon_sym_DOT_DOT] = ACTIONS(119), + [anon_sym_DOT_DOT_DOT] = ACTIONS(117), + [anon_sym_DOT_DOT_EQ] = ACTIONS(117), + [anon_sym_DASH] = ACTIONS(119), + [anon_sym_AMP_AMP] = ACTIONS(117), + [anon_sym_PIPE_PIPE] = ACTIONS(117), + [anon_sym_AMP] = ACTIONS(119), + [anon_sym_PIPE] = ACTIONS(119), + [anon_sym_CARET] = ACTIONS(119), + [anon_sym_EQ_EQ] = ACTIONS(117), + [anon_sym_BANG_EQ] = ACTIONS(117), + [anon_sym_LT] = ACTIONS(119), + [anon_sym_LT_EQ] = ACTIONS(117), + [anon_sym_GT] = ACTIONS(119), + [anon_sym_GT_EQ] = ACTIONS(117), + [anon_sym_LT_LT] = ACTIONS(119), + [anon_sym_GT_GT] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(119), + [anon_sym_SLASH] = ACTIONS(119), + [anon_sym_PERCENT] = ACTIONS(119), + [anon_sym_PLUS_EQ] = ACTIONS(117), + [anon_sym_DASH_EQ] = ACTIONS(117), + [anon_sym_STAR_EQ] = ACTIONS(117), + [anon_sym_SLASH_EQ] = ACTIONS(117), + [anon_sym_PERCENT_EQ] = ACTIONS(117), + [anon_sym_AMP_EQ] = ACTIONS(117), + [anon_sym_PIPE_EQ] = ACTIONS(117), + [anon_sym_CARET_EQ] = ACTIONS(117), + [anon_sym_LT_LT_EQ] = ACTIONS(117), + [anon_sym_GT_GT_EQ] = ACTIONS(117), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(119), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(12)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(314), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(12), + [sym_block_comment] = STATE(12), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(81), + [anon_sym_BANG] = ACTIONS(123), + [anon_sym_EQ] = ACTIONS(85), + [anon_sym_LBRACE] = ACTIONS(81), + [anon_sym_LPAREN] = ACTIONS(81), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(85), + [anon_sym_DOT_DOT] = ACTIONS(85), + [anon_sym_DOT_DOT_DOT] = ACTIONS(81), + [anon_sym_DOT_DOT_EQ] = ACTIONS(81), + [anon_sym_DASH] = ACTIONS(85), + [anon_sym_AMP_AMP] = ACTIONS(81), + [anon_sym_PIPE_PIPE] = ACTIONS(81), + [anon_sym_AMP] = ACTIONS(85), + [anon_sym_PIPE] = ACTIONS(85), + [anon_sym_CARET] = ACTIONS(85), + [anon_sym_EQ_EQ] = ACTIONS(81), + [anon_sym_BANG_EQ] = ACTIONS(81), + [anon_sym_LT] = ACTIONS(85), + [anon_sym_LT_EQ] = ACTIONS(81), + [anon_sym_GT] = ACTIONS(85), + [anon_sym_GT_EQ] = ACTIONS(81), + [anon_sym_LT_LT] = ACTIONS(85), + [anon_sym_GT_GT] = ACTIONS(85), + [anon_sym_PLUS] = ACTIONS(85), + [anon_sym_SLASH] = ACTIONS(85), + [anon_sym_PERCENT] = ACTIONS(85), + [anon_sym_PLUS_EQ] = ACTIONS(81), + [anon_sym_DASH_EQ] = ACTIONS(81), + [anon_sym_STAR_EQ] = ACTIONS(81), + [anon_sym_SLASH_EQ] = ACTIONS(81), + [anon_sym_PERCENT_EQ] = ACTIONS(81), + [anon_sym_AMP_EQ] = ACTIONS(81), + [anon_sym_PIPE_EQ] = ACTIONS(81), + [anon_sym_CARET_EQ] = ACTIONS(81), + [anon_sym_LT_LT_EQ] = ACTIONS(81), + [anon_sym_GT_GT_EQ] = ACTIONS(81), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(85), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(13)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(295), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(13), + [sym_block_comment] = STATE(13), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(117), + [anon_sym_BANG] = ACTIONS(123), + [anon_sym_EQ] = ACTIONS(119), + [anon_sym_LBRACE] = ACTIONS(117), + [anon_sym_LPAREN] = ACTIONS(117), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(119), + [anon_sym_DOT_DOT] = ACTIONS(119), + [anon_sym_DOT_DOT_DOT] = ACTIONS(117), + [anon_sym_DOT_DOT_EQ] = ACTIONS(117), + [anon_sym_DASH] = ACTIONS(119), + [anon_sym_AMP_AMP] = ACTIONS(117), + [anon_sym_PIPE_PIPE] = ACTIONS(117), + [anon_sym_AMP] = ACTIONS(119), + [anon_sym_PIPE] = ACTIONS(119), + [anon_sym_CARET] = ACTIONS(119), + [anon_sym_EQ_EQ] = ACTIONS(117), + [anon_sym_BANG_EQ] = ACTIONS(117), + [anon_sym_LT] = ACTIONS(119), + [anon_sym_LT_EQ] = ACTIONS(117), + [anon_sym_GT] = ACTIONS(119), + [anon_sym_GT_EQ] = ACTIONS(117), + [anon_sym_LT_LT] = ACTIONS(119), + [anon_sym_GT_GT] = ACTIONS(119), + [anon_sym_PLUS] = ACTIONS(119), + [anon_sym_SLASH] = ACTIONS(119), + [anon_sym_PERCENT] = ACTIONS(119), + [anon_sym_PLUS_EQ] = ACTIONS(117), + [anon_sym_DASH_EQ] = ACTIONS(117), + [anon_sym_STAR_EQ] = ACTIONS(117), + [anon_sym_SLASH_EQ] = ACTIONS(117), + [anon_sym_PERCENT_EQ] = ACTIONS(117), + [anon_sym_AMP_EQ] = ACTIONS(117), + [anon_sym_PIPE_EQ] = ACTIONS(117), + [anon_sym_CARET_EQ] = ACTIONS(117), + [anon_sym_LT_LT_EQ] = ACTIONS(117), + [anon_sym_GT_GT_EQ] = ACTIONS(117), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(119), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(14)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(315), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(14), + [sym_block_comment] = STATE(14), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(123), + [anon_sym_EQ] = ACTIONS(103), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(103), + [anon_sym_DOT_DOT] = ACTIONS(133), + [anon_sym_DOT_DOT_DOT] = ACTIONS(101), + [anon_sym_DOT_DOT_EQ] = ACTIONS(101), + [anon_sym_DASH] = ACTIONS(123), + [anon_sym_AMP_AMP] = ACTIONS(101), + [anon_sym_PIPE_PIPE] = ACTIONS(101), + [anon_sym_AMP] = ACTIONS(103), + [anon_sym_PIPE] = ACTIONS(107), + [anon_sym_CARET] = ACTIONS(103), + [anon_sym_EQ_EQ] = ACTIONS(101), + [anon_sym_BANG_EQ] = ACTIONS(101), + [anon_sym_LT] = ACTIONS(103), + [anon_sym_LT_EQ] = ACTIONS(101), + [anon_sym_GT] = ACTIONS(103), + [anon_sym_GT_EQ] = ACTIONS(101), + [anon_sym_LT_LT] = ACTIONS(103), + [anon_sym_GT_GT] = ACTIONS(103), + [anon_sym_PLUS] = ACTIONS(103), + [anon_sym_SLASH] = ACTIONS(103), + [anon_sym_PERCENT] = ACTIONS(103), + [anon_sym_PLUS_EQ] = ACTIONS(101), + [anon_sym_DASH_EQ] = ACTIONS(101), + [anon_sym_STAR_EQ] = ACTIONS(101), + [anon_sym_SLASH_EQ] = ACTIONS(101), + [anon_sym_PERCENT_EQ] = ACTIONS(101), + [anon_sym_AMP_EQ] = ACTIONS(101), + [anon_sym_PIPE_EQ] = ACTIONS(101), + [anon_sym_CARET_EQ] = ACTIONS(101), + [anon_sym_LT_LT_EQ] = ACTIONS(101), + [anon_sym_GT_GT_EQ] = ACTIONS(101), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(103), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(15)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(316), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(15), + [sym_block_comment] = STATE(15), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(123), + [anon_sym_EQ] = ACTIONS(111), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_STAR] = ACTIONS(111), + [anon_sym_DOT_DOT] = ACTIONS(133), + [anon_sym_DOT_DOT_DOT] = ACTIONS(109), + [anon_sym_DOT_DOT_EQ] = ACTIONS(109), + [anon_sym_DASH] = ACTIONS(123), + [anon_sym_AMP_AMP] = ACTIONS(109), + [anon_sym_PIPE_PIPE] = ACTIONS(109), + [anon_sym_AMP] = ACTIONS(111), + [anon_sym_PIPE] = ACTIONS(107), + [anon_sym_CARET] = ACTIONS(111), + [anon_sym_EQ_EQ] = ACTIONS(109), + [anon_sym_BANG_EQ] = ACTIONS(109), + [anon_sym_LT] = ACTIONS(111), + [anon_sym_LT_EQ] = ACTIONS(109), + [anon_sym_GT] = ACTIONS(111), + [anon_sym_GT_EQ] = ACTIONS(109), + [anon_sym_LT_LT] = ACTIONS(111), + [anon_sym_GT_GT] = ACTIONS(111), + [anon_sym_PLUS] = ACTIONS(111), + [anon_sym_SLASH] = ACTIONS(111), + [anon_sym_PERCENT] = ACTIONS(111), + [anon_sym_PLUS_EQ] = ACTIONS(109), + [anon_sym_DASH_EQ] = ACTIONS(109), + [anon_sym_STAR_EQ] = ACTIONS(109), + [anon_sym_SLASH_EQ] = ACTIONS(109), + [anon_sym_PERCENT_EQ] = ACTIONS(109), + [anon_sym_AMP_EQ] = ACTIONS(109), + [anon_sym_PIPE_EQ] = ACTIONS(109), + [anon_sym_CARET_EQ] = ACTIONS(109), + [anon_sym_LT_LT_EQ] = ACTIONS(109), + [anon_sym_GT_GT_EQ] = ACTIONS(109), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(111), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(16)] = { + [sym__statement] = STATE(234), + [sym_empty_statement] = STATE(235), + [sym_expression_statement] = STATE(235), + [sym_attribute_item] = STATE(235), + [sym_inner_attribute_item] = STATE(235), + [sym_mod_item] = STATE(235), + [sym_struct_item] = STATE(235), + [sym_enum_item] = STATE(235), + [sym_function_item] = STATE(235), + [sym_let_declaration] = STATE(235), + [sym_use_declaration] = STATE(235), + [sym_visibility_modifier] = STATE(499), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(319), + [sym_macro_invocation] = STATE(39), + [sym_scoped_identifier] = STATE(214), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(42), + [sym_match_expression] = STATE(42), + [sym_while_expression] = STATE(42), + [sym_loop_expression] = STATE(42), + [sym_for_expression] = STATE(42), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(42), + [sym_block] = STATE(42), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(16), + [sym_block_comment] = STATE(16), + [aux_sym_source_file_repeat1] = STATE(21), + [sym_identifier] = ACTIONS(9), + [anon_sym_SEMI] = ACTIONS(11), + [anon_sym_POUND] = ACTIONS(13), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_mod] = ACTIONS(19), + [anon_sym_LBRACE] = ACTIONS(21), + [anon_sym_RBRACE] = ACTIONS(135), + [anon_sym_struct] = ACTIONS(23), + [anon_sym_enum] = ACTIONS(25), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(29), + [anon_sym_fn] = ACTIONS(31), + [anon_sym_let] = ACTIONS(33), + [anon_sym_use] = ACTIONS(35), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_pub] = ACTIONS(39), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_match] = ACTIONS(51), + [anon_sym_while] = ACTIONS(53), + [anon_sym_loop] = ACTIONS(55), + [anon_sym_for] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(77), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(17)] = { + [sym__statement] = STATE(234), + [sym_empty_statement] = STATE(235), + [sym_expression_statement] = STATE(235), + [sym_attribute_item] = STATE(235), + [sym_inner_attribute_item] = STATE(235), + [sym_mod_item] = STATE(235), + [sym_struct_item] = STATE(235), + [sym_enum_item] = STATE(235), + [sym_function_item] = STATE(235), + [sym_let_declaration] = STATE(235), + [sym_use_declaration] = STATE(235), + [sym_visibility_modifier] = STATE(499), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(341), + [sym_macro_invocation] = STATE(39), + [sym_scoped_identifier] = STATE(214), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(42), + [sym_match_expression] = STATE(42), + [sym_while_expression] = STATE(42), + [sym_loop_expression] = STATE(42), + [sym_for_expression] = STATE(42), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(42), + [sym_block] = STATE(42), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(17), + [sym_block_comment] = STATE(17), + [aux_sym_source_file_repeat1] = STATE(17), + [ts_builtin_sym_end] = ACTIONS(137), + [sym_identifier] = ACTIONS(139), + [anon_sym_SEMI] = ACTIONS(142), + [anon_sym_POUND] = ACTIONS(145), + [anon_sym_LBRACK] = ACTIONS(148), + [anon_sym_BANG] = ACTIONS(151), + [anon_sym_mod] = ACTIONS(154), + [anon_sym_LBRACE] = ACTIONS(157), + [anon_sym_struct] = ACTIONS(160), + [anon_sym_enum] = ACTIONS(163), + [anon_sym_LPAREN] = ACTIONS(166), + [anon_sym_async] = ACTIONS(169), + [anon_sym_fn] = ACTIONS(172), + [anon_sym_let] = ACTIONS(175), + [anon_sym_use] = ACTIONS(178), + [anon_sym_COLON_COLON] = ACTIONS(181), + [anon_sym_pub] = ACTIONS(184), + [anon_sym_DOT_DOT] = ACTIONS(187), + [anon_sym_DASH] = ACTIONS(151), + [anon_sym_PIPE] = ACTIONS(190), + [anon_sym_return] = ACTIONS(193), + [anon_sym_yield] = ACTIONS(196), + [anon_sym_if] = ACTIONS(199), + [anon_sym_match] = ACTIONS(202), + [anon_sym_while] = ACTIONS(205), + [anon_sym_loop] = ACTIONS(208), + [anon_sym_for] = ACTIONS(211), + [anon_sym_break] = ACTIONS(214), + [anon_sym_continue] = ACTIONS(217), + [sym_integer_literal] = ACTIONS(220), + [anon_sym_DQUOTE] = ACTIONS(223), + [aux_sym_string_literal_token1] = ACTIONS(223), + [sym_char_literal] = ACTIONS(220), + [anon_sym_true] = ACTIONS(226), + [anon_sym_false] = ACTIONS(226), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(229), + [sym_super] = ACTIONS(232), + [sym_crate] = ACTIONS(235), + [sym_float_literal] = ACTIONS(220), + }, + [STATE(18)] = { + [sym__statement] = STATE(234), + [sym_empty_statement] = STATE(235), + [sym_expression_statement] = STATE(235), + [sym_attribute_item] = STATE(235), + [sym_inner_attribute_item] = STATE(235), + [sym_mod_item] = STATE(235), + [sym_struct_item] = STATE(235), + [sym_enum_item] = STATE(235), + [sym_function_item] = STATE(235), + [sym_let_declaration] = STATE(235), + [sym_use_declaration] = STATE(235), + [sym_visibility_modifier] = STATE(499), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(341), + [sym_macro_invocation] = STATE(39), + [sym_scoped_identifier] = STATE(214), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(42), + [sym_match_expression] = STATE(42), + [sym_while_expression] = STATE(42), + [sym_loop_expression] = STATE(42), + [sym_for_expression] = STATE(42), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(42), + [sym_block] = STATE(42), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(18), + [sym_block_comment] = STATE(18), + [aux_sym_source_file_repeat1] = STATE(17), + [ts_builtin_sym_end] = ACTIONS(238), + [sym_identifier] = ACTIONS(9), + [anon_sym_SEMI] = ACTIONS(11), + [anon_sym_POUND] = ACTIONS(13), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_mod] = ACTIONS(19), + [anon_sym_LBRACE] = ACTIONS(21), + [anon_sym_struct] = ACTIONS(23), + [anon_sym_enum] = ACTIONS(25), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(29), + [anon_sym_fn] = ACTIONS(31), + [anon_sym_let] = ACTIONS(33), + [anon_sym_use] = ACTIONS(35), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_pub] = ACTIONS(39), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_match] = ACTIONS(51), + [anon_sym_while] = ACTIONS(53), + [anon_sym_loop] = ACTIONS(55), + [anon_sym_for] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(77), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(19)] = { + [sym__statement] = STATE(234), + [sym_empty_statement] = STATE(235), + [sym_expression_statement] = STATE(235), + [sym_attribute_item] = STATE(235), + [sym_inner_attribute_item] = STATE(235), + [sym_mod_item] = STATE(235), + [sym_struct_item] = STATE(235), + [sym_enum_item] = STATE(235), + [sym_function_item] = STATE(235), + [sym_let_declaration] = STATE(235), + [sym_use_declaration] = STATE(235), + [sym_visibility_modifier] = STATE(499), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(306), + [sym_macro_invocation] = STATE(39), + [sym_scoped_identifier] = STATE(214), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(42), + [sym_match_expression] = STATE(42), + [sym_while_expression] = STATE(42), + [sym_loop_expression] = STATE(42), + [sym_for_expression] = STATE(42), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(42), + [sym_block] = STATE(42), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(19), + [sym_block_comment] = STATE(19), + [aux_sym_source_file_repeat1] = STATE(20), + [sym_identifier] = ACTIONS(9), + [anon_sym_SEMI] = ACTIONS(11), + [anon_sym_POUND] = ACTIONS(13), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_mod] = ACTIONS(19), + [anon_sym_LBRACE] = ACTIONS(21), + [anon_sym_RBRACE] = ACTIONS(240), + [anon_sym_struct] = ACTIONS(23), + [anon_sym_enum] = ACTIONS(25), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(29), + [anon_sym_fn] = ACTIONS(31), + [anon_sym_let] = ACTIONS(33), + [anon_sym_use] = ACTIONS(35), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_pub] = ACTIONS(39), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_match] = ACTIONS(51), + [anon_sym_while] = ACTIONS(53), + [anon_sym_loop] = ACTIONS(55), + [anon_sym_for] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(77), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(20)] = { + [sym__statement] = STATE(234), + [sym_empty_statement] = STATE(235), + [sym_expression_statement] = STATE(235), + [sym_attribute_item] = STATE(235), + [sym_inner_attribute_item] = STATE(235), + [sym_mod_item] = STATE(235), + [sym_struct_item] = STATE(235), + [sym_enum_item] = STATE(235), + [sym_function_item] = STATE(235), + [sym_let_declaration] = STATE(235), + [sym_use_declaration] = STATE(235), + [sym_visibility_modifier] = STATE(499), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(305), + [sym_macro_invocation] = STATE(39), + [sym_scoped_identifier] = STATE(214), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(42), + [sym_match_expression] = STATE(42), + [sym_while_expression] = STATE(42), + [sym_loop_expression] = STATE(42), + [sym_for_expression] = STATE(42), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(42), + [sym_block] = STATE(42), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(20), + [sym_block_comment] = STATE(20), + [aux_sym_source_file_repeat1] = STATE(21), + [sym_identifier] = ACTIONS(9), + [anon_sym_SEMI] = ACTIONS(11), + [anon_sym_POUND] = ACTIONS(13), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_mod] = ACTIONS(19), + [anon_sym_LBRACE] = ACTIONS(21), + [anon_sym_RBRACE] = ACTIONS(242), + [anon_sym_struct] = ACTIONS(23), + [anon_sym_enum] = ACTIONS(25), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(29), + [anon_sym_fn] = ACTIONS(31), + [anon_sym_let] = ACTIONS(33), + [anon_sym_use] = ACTIONS(35), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_pub] = ACTIONS(39), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_match] = ACTIONS(51), + [anon_sym_while] = ACTIONS(53), + [anon_sym_loop] = ACTIONS(55), + [anon_sym_for] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(77), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(21)] = { + [sym__statement] = STATE(234), + [sym_empty_statement] = STATE(235), + [sym_expression_statement] = STATE(235), + [sym_attribute_item] = STATE(235), + [sym_inner_attribute_item] = STATE(235), + [sym_mod_item] = STATE(235), + [sym_struct_item] = STATE(235), + [sym_enum_item] = STATE(235), + [sym_function_item] = STATE(235), + [sym_let_declaration] = STATE(235), + [sym_use_declaration] = STATE(235), + [sym_visibility_modifier] = STATE(499), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(341), + [sym_macro_invocation] = STATE(47), + [sym_scoped_identifier] = STATE(214), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(42), + [sym_match_expression] = STATE(42), + [sym_while_expression] = STATE(42), + [sym_loop_expression] = STATE(42), + [sym_for_expression] = STATE(42), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(42), + [sym_block] = STATE(42), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(21), + [sym_block_comment] = STATE(21), + [aux_sym_source_file_repeat1] = STATE(21), + [sym_identifier] = ACTIONS(139), + [anon_sym_SEMI] = ACTIONS(142), + [anon_sym_POUND] = ACTIONS(145), + [anon_sym_LBRACK] = ACTIONS(148), + [anon_sym_BANG] = ACTIONS(151), + [anon_sym_mod] = ACTIONS(154), + [anon_sym_LBRACE] = ACTIONS(157), + [anon_sym_RBRACE] = ACTIONS(137), + [anon_sym_struct] = ACTIONS(160), + [anon_sym_enum] = ACTIONS(163), + [anon_sym_LPAREN] = ACTIONS(166), + [anon_sym_async] = ACTIONS(169), + [anon_sym_fn] = ACTIONS(172), + [anon_sym_let] = ACTIONS(175), + [anon_sym_use] = ACTIONS(178), + [anon_sym_COLON_COLON] = ACTIONS(181), + [anon_sym_pub] = ACTIONS(184), + [anon_sym_DOT_DOT] = ACTIONS(187), + [anon_sym_DASH] = ACTIONS(151), + [anon_sym_PIPE] = ACTIONS(190), + [anon_sym_return] = ACTIONS(193), + [anon_sym_yield] = ACTIONS(196), + [anon_sym_if] = ACTIONS(199), + [anon_sym_match] = ACTIONS(202), + [anon_sym_while] = ACTIONS(205), + [anon_sym_loop] = ACTIONS(208), + [anon_sym_for] = ACTIONS(211), + [anon_sym_break] = ACTIONS(214), + [anon_sym_continue] = ACTIONS(217), + [sym_integer_literal] = ACTIONS(220), + [anon_sym_DQUOTE] = ACTIONS(223), + [aux_sym_string_literal_token1] = ACTIONS(223), + [sym_char_literal] = ACTIONS(220), + [anon_sym_true] = ACTIONS(226), + [anon_sym_false] = ACTIONS(226), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(229), + [sym_super] = ACTIONS(232), + [sym_crate] = ACTIONS(235), + [sym_float_literal] = ACTIONS(220), + }, + [STATE(22)] = { + [sym__statement] = STATE(234), + [sym_empty_statement] = STATE(235), + [sym_expression_statement] = STATE(235), + [sym_attribute_item] = STATE(235), + [sym_inner_attribute_item] = STATE(235), + [sym_mod_item] = STATE(235), + [sym_struct_item] = STATE(235), + [sym_enum_item] = STATE(235), + [sym_function_item] = STATE(235), + [sym_let_declaration] = STATE(235), + [sym_use_declaration] = STATE(235), + [sym_visibility_modifier] = STATE(499), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(313), + [sym_macro_invocation] = STATE(39), + [sym_scoped_identifier] = STATE(214), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(42), + [sym_match_expression] = STATE(42), + [sym_while_expression] = STATE(42), + [sym_loop_expression] = STATE(42), + [sym_for_expression] = STATE(42), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(42), + [sym_block] = STATE(42), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(22), + [sym_block_comment] = STATE(22), + [aux_sym_source_file_repeat1] = STATE(16), + [sym_identifier] = ACTIONS(9), + [anon_sym_SEMI] = ACTIONS(11), + [anon_sym_POUND] = ACTIONS(13), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_mod] = ACTIONS(19), + [anon_sym_LBRACE] = ACTIONS(21), + [anon_sym_RBRACE] = ACTIONS(244), + [anon_sym_struct] = ACTIONS(23), + [anon_sym_enum] = ACTIONS(25), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(29), + [anon_sym_fn] = ACTIONS(31), + [anon_sym_let] = ACTIONS(33), + [anon_sym_use] = ACTIONS(35), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_pub] = ACTIONS(39), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_match] = ACTIONS(51), + [anon_sym_while] = ACTIONS(53), + [anon_sym_loop] = ACTIONS(55), + [anon_sym_for] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(77), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(23)] = { + [sym__statement] = STATE(234), + [sym_empty_statement] = STATE(235), + [sym_expression_statement] = STATE(235), + [sym_attribute_item] = STATE(235), + [sym_inner_attribute_item] = STATE(235), + [sym_mod_item] = STATE(235), + [sym_struct_item] = STATE(235), + [sym_enum_item] = STATE(235), + [sym_function_item] = STATE(235), + [sym_let_declaration] = STATE(235), + [sym_use_declaration] = STATE(235), + [sym_visibility_modifier] = STATE(499), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(323), + [sym_macro_invocation] = STATE(39), + [sym_scoped_identifier] = STATE(214), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(42), + [sym_match_expression] = STATE(42), + [sym_while_expression] = STATE(42), + [sym_loop_expression] = STATE(42), + [sym_for_expression] = STATE(42), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(42), + [sym_block] = STATE(42), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(23), + [sym_block_comment] = STATE(23), + [aux_sym_source_file_repeat1] = STATE(24), + [sym_identifier] = ACTIONS(9), + [anon_sym_SEMI] = ACTIONS(11), + [anon_sym_POUND] = ACTIONS(13), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_mod] = ACTIONS(19), + [anon_sym_LBRACE] = ACTIONS(21), + [anon_sym_RBRACE] = ACTIONS(246), + [anon_sym_struct] = ACTIONS(23), + [anon_sym_enum] = ACTIONS(25), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(29), + [anon_sym_fn] = ACTIONS(31), + [anon_sym_let] = ACTIONS(33), + [anon_sym_use] = ACTIONS(35), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_pub] = ACTIONS(39), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_match] = ACTIONS(51), + [anon_sym_while] = ACTIONS(53), + [anon_sym_loop] = ACTIONS(55), + [anon_sym_for] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(77), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(24)] = { + [sym__statement] = STATE(234), + [sym_empty_statement] = STATE(235), + [sym_expression_statement] = STATE(235), + [sym_attribute_item] = STATE(235), + [sym_inner_attribute_item] = STATE(235), + [sym_mod_item] = STATE(235), + [sym_struct_item] = STATE(235), + [sym_enum_item] = STATE(235), + [sym_function_item] = STATE(235), + [sym_let_declaration] = STATE(235), + [sym_use_declaration] = STATE(235), + [sym_visibility_modifier] = STATE(499), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(324), + [sym_macro_invocation] = STATE(39), + [sym_scoped_identifier] = STATE(214), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(42), + [sym_match_expression] = STATE(42), + [sym_while_expression] = STATE(42), + [sym_loop_expression] = STATE(42), + [sym_for_expression] = STATE(42), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(42), + [sym_block] = STATE(42), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(24), + [sym_block_comment] = STATE(24), + [aux_sym_source_file_repeat1] = STATE(21), + [sym_identifier] = ACTIONS(9), + [anon_sym_SEMI] = ACTIONS(11), + [anon_sym_POUND] = ACTIONS(13), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_mod] = ACTIONS(19), + [anon_sym_LBRACE] = ACTIONS(21), + [anon_sym_RBRACE] = ACTIONS(248), + [anon_sym_struct] = ACTIONS(23), + [anon_sym_enum] = ACTIONS(25), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(29), + [anon_sym_fn] = ACTIONS(31), + [anon_sym_let] = ACTIONS(33), + [anon_sym_use] = ACTIONS(35), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_pub] = ACTIONS(39), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_match] = ACTIONS(51), + [anon_sym_while] = ACTIONS(53), + [anon_sym_loop] = ACTIONS(55), + [anon_sym_for] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(77), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(25)] = { + [sym_else_clause] = STATE(31), + [sym_line_comment] = STATE(25), + [sym_block_comment] = STATE(25), + [ts_builtin_sym_end] = ACTIONS(250), + [sym_identifier] = ACTIONS(252), + [anon_sym_SEMI] = ACTIONS(250), + [anon_sym_POUND] = ACTIONS(250), + [anon_sym_LBRACK] = ACTIONS(250), + [anon_sym_BANG] = ACTIONS(252), + [anon_sym_EQ] = ACTIONS(252), + [anon_sym_mod] = ACTIONS(252), + [anon_sym_LBRACE] = ACTIONS(250), + [anon_sym_RBRACE] = ACTIONS(250), + [anon_sym_struct] = ACTIONS(252), + [anon_sym_enum] = ACTIONS(252), + [anon_sym_COMMA] = ACTIONS(250), + [anon_sym_LPAREN] = ACTIONS(250), + [anon_sym_async] = ACTIONS(252), + [anon_sym_fn] = ACTIONS(252), + [anon_sym_let] = ACTIONS(252), + [anon_sym_use] = ACTIONS(252), + [anon_sym_COLON_COLON] = ACTIONS(250), + [anon_sym_STAR] = ACTIONS(252), + [anon_sym_pub] = ACTIONS(252), + [anon_sym_DOT_DOT] = ACTIONS(252), + [anon_sym_DOT_DOT_DOT] = ACTIONS(250), + [anon_sym_DOT_DOT_EQ] = ACTIONS(250), + [anon_sym_DASH] = ACTIONS(252), + [anon_sym_AMP_AMP] = ACTIONS(250), + [anon_sym_PIPE_PIPE] = ACTIONS(250), + [anon_sym_AMP] = ACTIONS(252), + [anon_sym_PIPE] = ACTIONS(252), + [anon_sym_CARET] = ACTIONS(252), + [anon_sym_EQ_EQ] = ACTIONS(250), + [anon_sym_BANG_EQ] = ACTIONS(250), + [anon_sym_LT] = ACTIONS(252), + [anon_sym_LT_EQ] = ACTIONS(250), + [anon_sym_GT] = ACTIONS(252), + [anon_sym_GT_EQ] = ACTIONS(250), + [anon_sym_LT_LT] = ACTIONS(252), + [anon_sym_GT_GT] = ACTIONS(252), + [anon_sym_PLUS] = ACTIONS(252), + [anon_sym_SLASH] = ACTIONS(252), + [anon_sym_PERCENT] = ACTIONS(252), + [anon_sym_PLUS_EQ] = ACTIONS(250), + [anon_sym_DASH_EQ] = ACTIONS(250), + [anon_sym_STAR_EQ] = ACTIONS(250), + [anon_sym_SLASH_EQ] = ACTIONS(250), + [anon_sym_PERCENT_EQ] = ACTIONS(250), + [anon_sym_AMP_EQ] = ACTIONS(250), + [anon_sym_PIPE_EQ] = ACTIONS(250), + [anon_sym_CARET_EQ] = ACTIONS(250), + [anon_sym_LT_LT_EQ] = ACTIONS(250), + [anon_sym_GT_GT_EQ] = ACTIONS(250), + [anon_sym_return] = ACTIONS(252), + [anon_sym_yield] = ACTIONS(252), + [anon_sym_if] = ACTIONS(252), + [anon_sym_else] = ACTIONS(254), + [anon_sym_match] = ACTIONS(252), + [anon_sym_while] = ACTIONS(252), + [anon_sym_loop] = ACTIONS(252), + [anon_sym_for] = ACTIONS(252), + [anon_sym_break] = ACTIONS(252), + [anon_sym_continue] = ACTIONS(252), + [anon_sym_DOT] = ACTIONS(252), + [anon_sym__] = ACTIONS(252), + [sym_integer_literal] = ACTIONS(250), + [anon_sym_DQUOTE] = ACTIONS(250), + [aux_sym_string_literal_token1] = ACTIONS(250), + [sym_char_literal] = ACTIONS(250), + [anon_sym_true] = ACTIONS(252), + [anon_sym_false] = ACTIONS(252), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(252), + [sym_super] = ACTIONS(252), + [sym_crate] = ACTIONS(252), + [sym_float_literal] = ACTIONS(250), + }, + [STATE(26)] = { + [sym_line_comment] = STATE(26), + [sym_block_comment] = STATE(26), + [ts_builtin_sym_end] = ACTIONS(256), + [sym_identifier] = ACTIONS(258), + [anon_sym_SEMI] = ACTIONS(256), + [anon_sym_POUND] = ACTIONS(256), + [anon_sym_LBRACK] = ACTIONS(256), + [anon_sym_BANG] = ACTIONS(258), + [anon_sym_EQ] = ACTIONS(258), + [anon_sym_mod] = ACTIONS(258), + [anon_sym_LBRACE] = ACTIONS(256), + [anon_sym_RBRACE] = ACTIONS(256), + [anon_sym_struct] = ACTIONS(258), + [anon_sym_enum] = ACTIONS(258), + [anon_sym_COMMA] = ACTIONS(256), + [anon_sym_LPAREN] = ACTIONS(256), + [anon_sym_async] = ACTIONS(258), + [anon_sym_fn] = ACTIONS(258), + [anon_sym_let] = ACTIONS(258), + [anon_sym_use] = ACTIONS(258), + [anon_sym_COLON_COLON] = ACTIONS(256), + [anon_sym_STAR] = ACTIONS(258), + [anon_sym_pub] = ACTIONS(258), + [anon_sym_DOT_DOT] = ACTIONS(258), + [anon_sym_DOT_DOT_DOT] = ACTIONS(256), + [anon_sym_DOT_DOT_EQ] = ACTIONS(256), + [anon_sym_DASH] = ACTIONS(258), + [anon_sym_AMP_AMP] = ACTIONS(256), + [anon_sym_PIPE_PIPE] = ACTIONS(256), + [anon_sym_AMP] = ACTIONS(258), + [anon_sym_PIPE] = ACTIONS(258), + [anon_sym_CARET] = ACTIONS(258), + [anon_sym_EQ_EQ] = ACTIONS(256), + [anon_sym_BANG_EQ] = ACTIONS(256), + [anon_sym_LT] = ACTIONS(258), + [anon_sym_LT_EQ] = ACTIONS(256), + [anon_sym_GT] = ACTIONS(258), + [anon_sym_GT_EQ] = ACTIONS(256), + [anon_sym_LT_LT] = ACTIONS(258), + [anon_sym_GT_GT] = ACTIONS(258), + [anon_sym_PLUS] = ACTIONS(258), + [anon_sym_SLASH] = ACTIONS(258), + [anon_sym_PERCENT] = ACTIONS(258), + [anon_sym_PLUS_EQ] = ACTIONS(256), + [anon_sym_DASH_EQ] = ACTIONS(256), + [anon_sym_STAR_EQ] = ACTIONS(256), + [anon_sym_SLASH_EQ] = ACTIONS(256), + [anon_sym_PERCENT_EQ] = ACTIONS(256), + [anon_sym_AMP_EQ] = ACTIONS(256), + [anon_sym_PIPE_EQ] = ACTIONS(256), + [anon_sym_CARET_EQ] = ACTIONS(256), + [anon_sym_LT_LT_EQ] = ACTIONS(256), + [anon_sym_GT_GT_EQ] = ACTIONS(256), + [anon_sym_return] = ACTIONS(258), + [anon_sym_yield] = ACTIONS(258), + [anon_sym_if] = ACTIONS(258), + [anon_sym_else] = ACTIONS(258), + [anon_sym_match] = ACTIONS(258), + [anon_sym_while] = ACTIONS(258), + [anon_sym_loop] = ACTIONS(258), + [anon_sym_for] = ACTIONS(258), + [anon_sym_break] = ACTIONS(258), + [anon_sym_continue] = ACTIONS(258), + [anon_sym_DOT] = ACTIONS(258), + [anon_sym__] = ACTIONS(258), + [sym_integer_literal] = ACTIONS(256), + [anon_sym_DQUOTE] = ACTIONS(256), + [aux_sym_string_literal_token1] = ACTIONS(256), + [sym_char_literal] = ACTIONS(256), + [anon_sym_true] = ACTIONS(258), + [anon_sym_false] = ACTIONS(258), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(258), + [sym_super] = ACTIONS(258), + [sym_crate] = ACTIONS(258), + [sym_float_literal] = ACTIONS(256), + }, + [STATE(27)] = { + [sym_line_comment] = STATE(27), + [sym_block_comment] = STATE(27), + [ts_builtin_sym_end] = ACTIONS(260), + [sym_identifier] = ACTIONS(262), + [anon_sym_SEMI] = ACTIONS(260), + [anon_sym_POUND] = ACTIONS(260), + [anon_sym_LBRACK] = ACTIONS(260), + [anon_sym_BANG] = ACTIONS(262), + [anon_sym_EQ] = ACTIONS(262), + [anon_sym_mod] = ACTIONS(262), + [anon_sym_LBRACE] = ACTIONS(260), + [anon_sym_RBRACE] = ACTIONS(260), + [anon_sym_struct] = ACTIONS(262), + [anon_sym_enum] = ACTIONS(262), + [anon_sym_COMMA] = ACTIONS(260), + [anon_sym_LPAREN] = ACTIONS(260), + [anon_sym_async] = ACTIONS(262), + [anon_sym_fn] = ACTIONS(262), + [anon_sym_let] = ACTIONS(262), + [anon_sym_use] = ACTIONS(262), + [anon_sym_COLON_COLON] = ACTIONS(260), + [anon_sym_STAR] = ACTIONS(262), + [anon_sym_pub] = ACTIONS(262), + [anon_sym_DOT_DOT] = ACTIONS(262), + [anon_sym_DOT_DOT_DOT] = ACTIONS(260), + [anon_sym_DOT_DOT_EQ] = ACTIONS(260), + [anon_sym_DASH] = ACTIONS(262), + [anon_sym_AMP_AMP] = ACTIONS(260), + [anon_sym_PIPE_PIPE] = ACTIONS(260), + [anon_sym_AMP] = ACTIONS(262), + [anon_sym_PIPE] = ACTIONS(262), + [anon_sym_CARET] = ACTIONS(262), + [anon_sym_EQ_EQ] = ACTIONS(260), + [anon_sym_BANG_EQ] = ACTIONS(260), + [anon_sym_LT] = ACTIONS(262), + [anon_sym_LT_EQ] = ACTIONS(260), + [anon_sym_GT] = ACTIONS(262), + [anon_sym_GT_EQ] = ACTIONS(260), + [anon_sym_LT_LT] = ACTIONS(262), + [anon_sym_GT_GT] = ACTIONS(262), + [anon_sym_PLUS] = ACTIONS(262), + [anon_sym_SLASH] = ACTIONS(262), + [anon_sym_PERCENT] = ACTIONS(262), + [anon_sym_PLUS_EQ] = ACTIONS(260), + [anon_sym_DASH_EQ] = ACTIONS(260), + [anon_sym_STAR_EQ] = ACTIONS(260), + [anon_sym_SLASH_EQ] = ACTIONS(260), + [anon_sym_PERCENT_EQ] = ACTIONS(260), + [anon_sym_AMP_EQ] = ACTIONS(260), + [anon_sym_PIPE_EQ] = ACTIONS(260), + [anon_sym_CARET_EQ] = ACTIONS(260), + [anon_sym_LT_LT_EQ] = ACTIONS(260), + [anon_sym_GT_GT_EQ] = ACTIONS(260), + [anon_sym_return] = ACTIONS(262), + [anon_sym_yield] = ACTIONS(262), + [anon_sym_if] = ACTIONS(262), + [anon_sym_else] = ACTIONS(262), + [anon_sym_match] = ACTIONS(262), + [anon_sym_while] = ACTIONS(262), + [anon_sym_loop] = ACTIONS(262), + [anon_sym_for] = ACTIONS(262), + [anon_sym_break] = ACTIONS(262), + [anon_sym_continue] = ACTIONS(262), + [anon_sym_DOT] = ACTIONS(262), + [anon_sym__] = ACTIONS(262), + [sym_integer_literal] = ACTIONS(260), + [anon_sym_DQUOTE] = ACTIONS(260), + [aux_sym_string_literal_token1] = ACTIONS(260), + [sym_char_literal] = ACTIONS(260), + [anon_sym_true] = ACTIONS(262), + [anon_sym_false] = ACTIONS(262), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(262), + [sym_super] = ACTIONS(262), + [sym_crate] = ACTIONS(262), + [sym_float_literal] = ACTIONS(260), + }, + [STATE(28)] = { + [sym_line_comment] = STATE(28), + [sym_block_comment] = STATE(28), + [ts_builtin_sym_end] = ACTIONS(264), + [sym_identifier] = ACTIONS(266), + [anon_sym_SEMI] = ACTIONS(264), + [anon_sym_POUND] = ACTIONS(264), + [anon_sym_LBRACK] = ACTIONS(264), + [anon_sym_BANG] = ACTIONS(266), + [anon_sym_EQ] = ACTIONS(266), + [anon_sym_mod] = ACTIONS(266), + [anon_sym_LBRACE] = ACTIONS(264), + [anon_sym_RBRACE] = ACTIONS(264), + [anon_sym_struct] = ACTIONS(266), + [anon_sym_enum] = ACTIONS(266), + [anon_sym_COMMA] = ACTIONS(264), + [anon_sym_LPAREN] = ACTIONS(264), + [anon_sym_async] = ACTIONS(266), + [anon_sym_fn] = ACTIONS(266), + [anon_sym_let] = ACTIONS(266), + [anon_sym_use] = ACTIONS(266), + [anon_sym_COLON_COLON] = ACTIONS(264), + [anon_sym_STAR] = ACTIONS(266), + [anon_sym_pub] = ACTIONS(266), + [anon_sym_DOT_DOT] = ACTIONS(266), + [anon_sym_DOT_DOT_DOT] = ACTIONS(264), + [anon_sym_DOT_DOT_EQ] = ACTIONS(264), + [anon_sym_DASH] = ACTIONS(266), + [anon_sym_AMP_AMP] = ACTIONS(264), + [anon_sym_PIPE_PIPE] = ACTIONS(264), + [anon_sym_AMP] = ACTIONS(266), + [anon_sym_PIPE] = ACTIONS(266), + [anon_sym_CARET] = ACTIONS(266), + [anon_sym_EQ_EQ] = ACTIONS(264), + [anon_sym_BANG_EQ] = ACTIONS(264), + [anon_sym_LT] = ACTIONS(266), + [anon_sym_LT_EQ] = ACTIONS(264), + [anon_sym_GT] = ACTIONS(266), + [anon_sym_GT_EQ] = ACTIONS(264), + [anon_sym_LT_LT] = ACTIONS(266), + [anon_sym_GT_GT] = ACTIONS(266), + [anon_sym_PLUS] = ACTIONS(266), + [anon_sym_SLASH] = ACTIONS(266), + [anon_sym_PERCENT] = ACTIONS(266), + [anon_sym_PLUS_EQ] = ACTIONS(264), + [anon_sym_DASH_EQ] = ACTIONS(264), + [anon_sym_STAR_EQ] = ACTIONS(264), + [anon_sym_SLASH_EQ] = ACTIONS(264), + [anon_sym_PERCENT_EQ] = ACTIONS(264), + [anon_sym_AMP_EQ] = ACTIONS(264), + [anon_sym_PIPE_EQ] = ACTIONS(264), + [anon_sym_CARET_EQ] = ACTIONS(264), + [anon_sym_LT_LT_EQ] = ACTIONS(264), + [anon_sym_GT_GT_EQ] = ACTIONS(264), + [anon_sym_return] = ACTIONS(266), + [anon_sym_yield] = ACTIONS(266), + [anon_sym_if] = ACTIONS(266), + [anon_sym_else] = ACTIONS(266), + [anon_sym_match] = ACTIONS(266), + [anon_sym_while] = ACTIONS(266), + [anon_sym_loop] = ACTIONS(266), + [anon_sym_for] = ACTIONS(266), + [anon_sym_break] = ACTIONS(266), + [anon_sym_continue] = ACTIONS(266), + [anon_sym_DOT] = ACTIONS(266), + [anon_sym__] = ACTIONS(266), + [sym_integer_literal] = ACTIONS(264), + [anon_sym_DQUOTE] = ACTIONS(264), + [aux_sym_string_literal_token1] = ACTIONS(264), + [sym_char_literal] = ACTIONS(264), + [anon_sym_true] = ACTIONS(266), + [anon_sym_false] = ACTIONS(266), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(266), + [sym_super] = ACTIONS(266), + [sym_crate] = ACTIONS(266), + [sym_float_literal] = ACTIONS(264), + }, + [STATE(29)] = { + [sym_line_comment] = STATE(29), + [sym_block_comment] = STATE(29), + [ts_builtin_sym_end] = ACTIONS(268), + [sym_identifier] = ACTIONS(270), + [anon_sym_SEMI] = ACTIONS(268), + [anon_sym_POUND] = ACTIONS(268), + [anon_sym_LBRACK] = ACTIONS(268), + [anon_sym_BANG] = ACTIONS(270), + [anon_sym_EQ] = ACTIONS(270), + [anon_sym_mod] = ACTIONS(270), + [anon_sym_LBRACE] = ACTIONS(268), + [anon_sym_RBRACE] = ACTIONS(268), + [anon_sym_struct] = ACTIONS(270), + [anon_sym_enum] = ACTIONS(270), + [anon_sym_COMMA] = ACTIONS(268), + [anon_sym_LPAREN] = ACTIONS(268), + [anon_sym_async] = ACTIONS(270), + [anon_sym_fn] = ACTIONS(270), + [anon_sym_let] = ACTIONS(270), + [anon_sym_use] = ACTIONS(270), + [anon_sym_COLON_COLON] = ACTIONS(268), + [anon_sym_STAR] = ACTIONS(270), + [anon_sym_pub] = ACTIONS(270), + [anon_sym_DOT_DOT] = ACTIONS(270), + [anon_sym_DOT_DOT_DOT] = ACTIONS(268), + [anon_sym_DOT_DOT_EQ] = ACTIONS(268), + [anon_sym_DASH] = ACTIONS(270), + [anon_sym_AMP_AMP] = ACTIONS(268), + [anon_sym_PIPE_PIPE] = ACTIONS(268), + [anon_sym_AMP] = ACTIONS(270), + [anon_sym_PIPE] = ACTIONS(270), + [anon_sym_CARET] = ACTIONS(270), + [anon_sym_EQ_EQ] = ACTIONS(268), + [anon_sym_BANG_EQ] = ACTIONS(268), + [anon_sym_LT] = ACTIONS(270), + [anon_sym_LT_EQ] = ACTIONS(268), + [anon_sym_GT] = ACTIONS(270), + [anon_sym_GT_EQ] = ACTIONS(268), + [anon_sym_LT_LT] = ACTIONS(270), + [anon_sym_GT_GT] = ACTIONS(270), + [anon_sym_PLUS] = ACTIONS(270), + [anon_sym_SLASH] = ACTIONS(270), + [anon_sym_PERCENT] = ACTIONS(270), + [anon_sym_PLUS_EQ] = ACTIONS(268), + [anon_sym_DASH_EQ] = ACTIONS(268), + [anon_sym_STAR_EQ] = ACTIONS(268), + [anon_sym_SLASH_EQ] = ACTIONS(268), + [anon_sym_PERCENT_EQ] = ACTIONS(268), + [anon_sym_AMP_EQ] = ACTIONS(268), + [anon_sym_PIPE_EQ] = ACTIONS(268), + [anon_sym_CARET_EQ] = ACTIONS(268), + [anon_sym_LT_LT_EQ] = ACTIONS(268), + [anon_sym_GT_GT_EQ] = ACTIONS(268), + [anon_sym_return] = ACTIONS(270), + [anon_sym_yield] = ACTIONS(270), + [anon_sym_if] = ACTIONS(270), + [anon_sym_match] = ACTIONS(270), + [anon_sym_while] = ACTIONS(270), + [anon_sym_loop] = ACTIONS(270), + [anon_sym_for] = ACTIONS(270), + [anon_sym_break] = ACTIONS(270), + [anon_sym_continue] = ACTIONS(270), + [anon_sym_DOT] = ACTIONS(270), + [anon_sym__] = ACTIONS(270), + [sym_integer_literal] = ACTIONS(268), + [anon_sym_DQUOTE] = ACTIONS(268), + [aux_sym_string_literal_token1] = ACTIONS(268), + [sym_char_literal] = ACTIONS(268), + [anon_sym_true] = ACTIONS(270), + [anon_sym_false] = ACTIONS(270), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(270), + [sym_super] = ACTIONS(270), + [sym_crate] = ACTIONS(270), + [sym_float_literal] = ACTIONS(268), + }, + [STATE(30)] = { + [sym_line_comment] = STATE(30), + [sym_block_comment] = STATE(30), + [ts_builtin_sym_end] = ACTIONS(272), + [sym_identifier] = ACTIONS(274), + [anon_sym_SEMI] = ACTIONS(272), + [anon_sym_POUND] = ACTIONS(272), + [anon_sym_LBRACK] = ACTIONS(272), + [anon_sym_BANG] = ACTIONS(274), + [anon_sym_EQ] = ACTIONS(274), + [anon_sym_mod] = ACTIONS(274), + [anon_sym_LBRACE] = ACTIONS(272), + [anon_sym_RBRACE] = ACTIONS(272), + [anon_sym_struct] = ACTIONS(274), + [anon_sym_enum] = ACTIONS(274), + [anon_sym_COMMA] = ACTIONS(272), + [anon_sym_LPAREN] = ACTIONS(272), + [anon_sym_async] = ACTIONS(274), + [anon_sym_fn] = ACTIONS(274), + [anon_sym_let] = ACTIONS(274), + [anon_sym_use] = ACTIONS(274), + [anon_sym_COLON_COLON] = ACTIONS(272), + [anon_sym_STAR] = ACTIONS(274), + [anon_sym_pub] = ACTIONS(274), + [anon_sym_DOT_DOT] = ACTIONS(274), + [anon_sym_DOT_DOT_DOT] = ACTIONS(272), + [anon_sym_DOT_DOT_EQ] = ACTIONS(272), + [anon_sym_DASH] = ACTIONS(274), + [anon_sym_AMP_AMP] = ACTIONS(272), + [anon_sym_PIPE_PIPE] = ACTIONS(272), + [anon_sym_AMP] = ACTIONS(274), + [anon_sym_PIPE] = ACTIONS(274), + [anon_sym_CARET] = ACTIONS(274), + [anon_sym_EQ_EQ] = ACTIONS(272), + [anon_sym_BANG_EQ] = ACTIONS(272), + [anon_sym_LT] = ACTIONS(274), + [anon_sym_LT_EQ] = ACTIONS(272), + [anon_sym_GT] = ACTIONS(274), + [anon_sym_GT_EQ] = ACTIONS(272), + [anon_sym_LT_LT] = ACTIONS(274), + [anon_sym_GT_GT] = ACTIONS(274), + [anon_sym_PLUS] = ACTIONS(274), + [anon_sym_SLASH] = ACTIONS(274), + [anon_sym_PERCENT] = ACTIONS(274), + [anon_sym_PLUS_EQ] = ACTIONS(272), + [anon_sym_DASH_EQ] = ACTIONS(272), + [anon_sym_STAR_EQ] = ACTIONS(272), + [anon_sym_SLASH_EQ] = ACTIONS(272), + [anon_sym_PERCENT_EQ] = ACTIONS(272), + [anon_sym_AMP_EQ] = ACTIONS(272), + [anon_sym_PIPE_EQ] = ACTIONS(272), + [anon_sym_CARET_EQ] = ACTIONS(272), + [anon_sym_LT_LT_EQ] = ACTIONS(272), + [anon_sym_GT_GT_EQ] = ACTIONS(272), + [anon_sym_return] = ACTIONS(274), + [anon_sym_yield] = ACTIONS(274), + [anon_sym_if] = ACTIONS(274), + [anon_sym_match] = ACTIONS(274), + [anon_sym_while] = ACTIONS(274), + [anon_sym_loop] = ACTIONS(274), + [anon_sym_for] = ACTIONS(274), + [anon_sym_break] = ACTIONS(274), + [anon_sym_continue] = ACTIONS(274), + [anon_sym_DOT] = ACTIONS(274), + [anon_sym__] = ACTIONS(274), + [sym_integer_literal] = ACTIONS(272), + [anon_sym_DQUOTE] = ACTIONS(272), + [aux_sym_string_literal_token1] = ACTIONS(272), + [sym_char_literal] = ACTIONS(272), + [anon_sym_true] = ACTIONS(274), + [anon_sym_false] = ACTIONS(274), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(274), + [sym_super] = ACTIONS(274), + [sym_crate] = ACTIONS(274), + [sym_float_literal] = ACTIONS(272), + }, + [STATE(31)] = { + [sym_line_comment] = STATE(31), + [sym_block_comment] = STATE(31), + [ts_builtin_sym_end] = ACTIONS(276), + [sym_identifier] = ACTIONS(278), + [anon_sym_SEMI] = ACTIONS(276), + [anon_sym_POUND] = ACTIONS(276), + [anon_sym_LBRACK] = ACTIONS(276), + [anon_sym_BANG] = ACTIONS(278), + [anon_sym_EQ] = ACTIONS(278), + [anon_sym_mod] = ACTIONS(278), + [anon_sym_LBRACE] = ACTIONS(276), + [anon_sym_RBRACE] = ACTIONS(276), + [anon_sym_struct] = ACTIONS(278), + [anon_sym_enum] = ACTIONS(278), + [anon_sym_COMMA] = ACTIONS(276), + [anon_sym_LPAREN] = ACTIONS(276), + [anon_sym_async] = ACTIONS(278), + [anon_sym_fn] = ACTIONS(278), + [anon_sym_let] = ACTIONS(278), + [anon_sym_use] = ACTIONS(278), + [anon_sym_COLON_COLON] = ACTIONS(276), + [anon_sym_STAR] = ACTIONS(278), + [anon_sym_pub] = ACTIONS(278), + [anon_sym_DOT_DOT] = ACTIONS(278), + [anon_sym_DOT_DOT_DOT] = ACTIONS(276), + [anon_sym_DOT_DOT_EQ] = ACTIONS(276), + [anon_sym_DASH] = ACTIONS(278), + [anon_sym_AMP_AMP] = ACTIONS(276), + [anon_sym_PIPE_PIPE] = ACTIONS(276), + [anon_sym_AMP] = ACTIONS(278), + [anon_sym_PIPE] = ACTIONS(278), + [anon_sym_CARET] = ACTIONS(278), + [anon_sym_EQ_EQ] = ACTIONS(276), + [anon_sym_BANG_EQ] = ACTIONS(276), + [anon_sym_LT] = ACTIONS(278), + [anon_sym_LT_EQ] = ACTIONS(276), + [anon_sym_GT] = ACTIONS(278), + [anon_sym_GT_EQ] = ACTIONS(276), + [anon_sym_LT_LT] = ACTIONS(278), + [anon_sym_GT_GT] = ACTIONS(278), + [anon_sym_PLUS] = ACTIONS(278), + [anon_sym_SLASH] = ACTIONS(278), + [anon_sym_PERCENT] = ACTIONS(278), + [anon_sym_PLUS_EQ] = ACTIONS(276), + [anon_sym_DASH_EQ] = ACTIONS(276), + [anon_sym_STAR_EQ] = ACTIONS(276), + [anon_sym_SLASH_EQ] = ACTIONS(276), + [anon_sym_PERCENT_EQ] = ACTIONS(276), + [anon_sym_AMP_EQ] = ACTIONS(276), + [anon_sym_PIPE_EQ] = ACTIONS(276), + [anon_sym_CARET_EQ] = ACTIONS(276), + [anon_sym_LT_LT_EQ] = ACTIONS(276), + [anon_sym_GT_GT_EQ] = ACTIONS(276), + [anon_sym_return] = ACTIONS(278), + [anon_sym_yield] = ACTIONS(278), + [anon_sym_if] = ACTIONS(278), + [anon_sym_match] = ACTIONS(278), + [anon_sym_while] = ACTIONS(278), + [anon_sym_loop] = ACTIONS(278), + [anon_sym_for] = ACTIONS(278), + [anon_sym_break] = ACTIONS(278), + [anon_sym_continue] = ACTIONS(278), + [anon_sym_DOT] = ACTIONS(278), + [anon_sym__] = ACTIONS(278), + [sym_integer_literal] = ACTIONS(276), + [anon_sym_DQUOTE] = ACTIONS(276), + [aux_sym_string_literal_token1] = ACTIONS(276), + [sym_char_literal] = ACTIONS(276), + [anon_sym_true] = ACTIONS(278), + [anon_sym_false] = ACTIONS(278), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(278), + [sym_super] = ACTIONS(278), + [sym_crate] = ACTIONS(278), + [sym_float_literal] = ACTIONS(276), + }, + [STATE(32)] = { + [sym_line_comment] = STATE(32), + [sym_block_comment] = STATE(32), + [ts_builtin_sym_end] = ACTIONS(280), + [sym_identifier] = ACTIONS(282), + [anon_sym_SEMI] = ACTIONS(280), + [anon_sym_POUND] = ACTIONS(280), + [anon_sym_LBRACK] = ACTIONS(280), + [anon_sym_BANG] = ACTIONS(282), + [anon_sym_EQ] = ACTIONS(282), + [anon_sym_mod] = ACTIONS(282), + [anon_sym_LBRACE] = ACTIONS(280), + [anon_sym_RBRACE] = ACTIONS(280), + [anon_sym_struct] = ACTIONS(282), + [anon_sym_enum] = ACTIONS(282), + [anon_sym_COMMA] = ACTIONS(280), + [anon_sym_LPAREN] = ACTIONS(280), + [anon_sym_async] = ACTIONS(282), + [anon_sym_fn] = ACTIONS(282), + [anon_sym_let] = ACTIONS(282), + [anon_sym_use] = ACTIONS(282), + [anon_sym_COLON_COLON] = ACTIONS(280), + [anon_sym_STAR] = ACTIONS(282), + [anon_sym_pub] = ACTIONS(282), + [anon_sym_DOT_DOT] = ACTIONS(282), + [anon_sym_DOT_DOT_DOT] = ACTIONS(280), + [anon_sym_DOT_DOT_EQ] = ACTIONS(280), + [anon_sym_DASH] = ACTIONS(282), + [anon_sym_AMP_AMP] = ACTIONS(280), + [anon_sym_PIPE_PIPE] = ACTIONS(280), + [anon_sym_AMP] = ACTIONS(282), + [anon_sym_PIPE] = ACTIONS(282), + [anon_sym_CARET] = ACTIONS(282), + [anon_sym_EQ_EQ] = ACTIONS(280), + [anon_sym_BANG_EQ] = ACTIONS(280), + [anon_sym_LT] = ACTIONS(282), + [anon_sym_LT_EQ] = ACTIONS(280), + [anon_sym_GT] = ACTIONS(282), + [anon_sym_GT_EQ] = ACTIONS(280), + [anon_sym_LT_LT] = ACTIONS(282), + [anon_sym_GT_GT] = ACTIONS(282), + [anon_sym_PLUS] = ACTIONS(282), + [anon_sym_SLASH] = ACTIONS(282), + [anon_sym_PERCENT] = ACTIONS(282), + [anon_sym_PLUS_EQ] = ACTIONS(280), + [anon_sym_DASH_EQ] = ACTIONS(280), + [anon_sym_STAR_EQ] = ACTIONS(280), + [anon_sym_SLASH_EQ] = ACTIONS(280), + [anon_sym_PERCENT_EQ] = ACTIONS(280), + [anon_sym_AMP_EQ] = ACTIONS(280), + [anon_sym_PIPE_EQ] = ACTIONS(280), + [anon_sym_CARET_EQ] = ACTIONS(280), + [anon_sym_LT_LT_EQ] = ACTIONS(280), + [anon_sym_GT_GT_EQ] = ACTIONS(280), + [anon_sym_return] = ACTIONS(282), + [anon_sym_yield] = ACTIONS(282), + [anon_sym_if] = ACTIONS(282), + [anon_sym_match] = ACTIONS(282), + [anon_sym_while] = ACTIONS(282), + [anon_sym_loop] = ACTIONS(282), + [anon_sym_for] = ACTIONS(282), + [anon_sym_break] = ACTIONS(282), + [anon_sym_continue] = ACTIONS(282), + [anon_sym_DOT] = ACTIONS(282), + [anon_sym__] = ACTIONS(282), + [sym_integer_literal] = ACTIONS(280), + [anon_sym_DQUOTE] = ACTIONS(280), + [aux_sym_string_literal_token1] = ACTIONS(280), + [sym_char_literal] = ACTIONS(280), + [anon_sym_true] = ACTIONS(282), + [anon_sym_false] = ACTIONS(282), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(282), + [sym_super] = ACTIONS(282), + [sym_crate] = ACTIONS(282), + [sym_float_literal] = ACTIONS(280), + }, + [STATE(33)] = { + [sym_line_comment] = STATE(33), + [sym_block_comment] = STATE(33), + [ts_builtin_sym_end] = ACTIONS(284), + [sym_identifier] = ACTIONS(286), + [anon_sym_SEMI] = ACTIONS(284), + [anon_sym_POUND] = ACTIONS(284), + [anon_sym_LBRACK] = ACTIONS(284), + [anon_sym_BANG] = ACTIONS(286), + [anon_sym_EQ] = ACTIONS(286), + [anon_sym_mod] = ACTIONS(286), + [anon_sym_LBRACE] = ACTIONS(284), + [anon_sym_RBRACE] = ACTIONS(284), + [anon_sym_struct] = ACTIONS(286), + [anon_sym_enum] = ACTIONS(286), + [anon_sym_COMMA] = ACTIONS(284), + [anon_sym_LPAREN] = ACTIONS(284), + [anon_sym_async] = ACTIONS(286), + [anon_sym_fn] = ACTIONS(286), + [anon_sym_let] = ACTIONS(286), + [anon_sym_use] = ACTIONS(286), + [anon_sym_COLON_COLON] = ACTIONS(284), + [anon_sym_STAR] = ACTIONS(286), + [anon_sym_pub] = ACTIONS(286), + [anon_sym_DOT_DOT] = ACTIONS(286), + [anon_sym_DOT_DOT_DOT] = ACTIONS(284), + [anon_sym_DOT_DOT_EQ] = ACTIONS(284), + [anon_sym_DASH] = ACTIONS(286), + [anon_sym_AMP_AMP] = ACTIONS(284), + [anon_sym_PIPE_PIPE] = ACTIONS(284), + [anon_sym_AMP] = ACTIONS(286), + [anon_sym_PIPE] = ACTIONS(286), + [anon_sym_CARET] = ACTIONS(286), + [anon_sym_EQ_EQ] = ACTIONS(284), + [anon_sym_BANG_EQ] = ACTIONS(284), + [anon_sym_LT] = ACTIONS(286), + [anon_sym_LT_EQ] = ACTIONS(284), + [anon_sym_GT] = ACTIONS(286), + [anon_sym_GT_EQ] = ACTIONS(284), + [anon_sym_LT_LT] = ACTIONS(286), + [anon_sym_GT_GT] = ACTIONS(286), + [anon_sym_PLUS] = ACTIONS(286), + [anon_sym_SLASH] = ACTIONS(286), + [anon_sym_PERCENT] = ACTIONS(286), + [anon_sym_PLUS_EQ] = ACTIONS(284), + [anon_sym_DASH_EQ] = ACTIONS(284), + [anon_sym_STAR_EQ] = ACTIONS(284), + [anon_sym_SLASH_EQ] = ACTIONS(284), + [anon_sym_PERCENT_EQ] = ACTIONS(284), + [anon_sym_AMP_EQ] = ACTIONS(284), + [anon_sym_PIPE_EQ] = ACTIONS(284), + [anon_sym_CARET_EQ] = ACTIONS(284), + [anon_sym_LT_LT_EQ] = ACTIONS(284), + [anon_sym_GT_GT_EQ] = ACTIONS(284), + [anon_sym_return] = ACTIONS(286), + [anon_sym_yield] = ACTIONS(286), + [anon_sym_if] = ACTIONS(286), + [anon_sym_match] = ACTIONS(286), + [anon_sym_while] = ACTIONS(286), + [anon_sym_loop] = ACTIONS(286), + [anon_sym_for] = ACTIONS(286), + [anon_sym_break] = ACTIONS(286), + [anon_sym_continue] = ACTIONS(286), + [anon_sym_DOT] = ACTIONS(286), + [anon_sym__] = ACTIONS(286), + [sym_integer_literal] = ACTIONS(284), + [anon_sym_DQUOTE] = ACTIONS(284), + [aux_sym_string_literal_token1] = ACTIONS(284), + [sym_char_literal] = ACTIONS(284), + [anon_sym_true] = ACTIONS(286), + [anon_sym_false] = ACTIONS(286), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(286), + [sym_super] = ACTIONS(286), + [sym_crate] = ACTIONS(286), + [sym_float_literal] = ACTIONS(284), + }, + [STATE(34)] = { + [sym_line_comment] = STATE(34), + [sym_block_comment] = STATE(34), + [ts_builtin_sym_end] = ACTIONS(288), + [sym_identifier] = ACTIONS(290), + [anon_sym_SEMI] = ACTIONS(288), + [anon_sym_POUND] = ACTIONS(288), + [anon_sym_LBRACK] = ACTIONS(288), + [anon_sym_BANG] = ACTIONS(290), + [anon_sym_EQ] = ACTIONS(290), + [anon_sym_mod] = ACTIONS(290), + [anon_sym_LBRACE] = ACTIONS(288), + [anon_sym_RBRACE] = ACTIONS(288), + [anon_sym_struct] = ACTIONS(290), + [anon_sym_enum] = ACTIONS(290), + [anon_sym_COMMA] = ACTIONS(288), + [anon_sym_LPAREN] = ACTIONS(288), + [anon_sym_async] = ACTIONS(290), + [anon_sym_fn] = ACTIONS(290), + [anon_sym_let] = ACTIONS(290), + [anon_sym_use] = ACTIONS(290), + [anon_sym_COLON_COLON] = ACTIONS(288), + [anon_sym_STAR] = ACTIONS(290), + [anon_sym_pub] = ACTIONS(290), + [anon_sym_DOT_DOT] = ACTIONS(290), + [anon_sym_DOT_DOT_DOT] = ACTIONS(288), + [anon_sym_DOT_DOT_EQ] = ACTIONS(288), + [anon_sym_DASH] = ACTIONS(290), + [anon_sym_AMP_AMP] = ACTIONS(288), + [anon_sym_PIPE_PIPE] = ACTIONS(288), + [anon_sym_AMP] = ACTIONS(290), + [anon_sym_PIPE] = ACTIONS(290), + [anon_sym_CARET] = ACTIONS(290), + [anon_sym_EQ_EQ] = ACTIONS(288), + [anon_sym_BANG_EQ] = ACTIONS(288), + [anon_sym_LT] = ACTIONS(290), + [anon_sym_LT_EQ] = ACTIONS(288), + [anon_sym_GT] = ACTIONS(290), + [anon_sym_GT_EQ] = ACTIONS(288), + [anon_sym_LT_LT] = ACTIONS(290), + [anon_sym_GT_GT] = ACTIONS(290), + [anon_sym_PLUS] = ACTIONS(290), + [anon_sym_SLASH] = ACTIONS(290), + [anon_sym_PERCENT] = ACTIONS(290), + [anon_sym_PLUS_EQ] = ACTIONS(288), + [anon_sym_DASH_EQ] = ACTIONS(288), + [anon_sym_STAR_EQ] = ACTIONS(288), + [anon_sym_SLASH_EQ] = ACTIONS(288), + [anon_sym_PERCENT_EQ] = ACTIONS(288), + [anon_sym_AMP_EQ] = ACTIONS(288), + [anon_sym_PIPE_EQ] = ACTIONS(288), + [anon_sym_CARET_EQ] = ACTIONS(288), + [anon_sym_LT_LT_EQ] = ACTIONS(288), + [anon_sym_GT_GT_EQ] = ACTIONS(288), + [anon_sym_return] = ACTIONS(290), + [anon_sym_yield] = ACTIONS(290), + [anon_sym_if] = ACTIONS(290), + [anon_sym_match] = ACTIONS(290), + [anon_sym_while] = ACTIONS(290), + [anon_sym_loop] = ACTIONS(290), + [anon_sym_for] = ACTIONS(290), + [anon_sym_break] = ACTIONS(290), + [anon_sym_continue] = ACTIONS(290), + [anon_sym_DOT] = ACTIONS(290), + [anon_sym__] = ACTIONS(290), + [sym_integer_literal] = ACTIONS(288), + [anon_sym_DQUOTE] = ACTIONS(288), + [aux_sym_string_literal_token1] = ACTIONS(288), + [sym_char_literal] = ACTIONS(288), + [anon_sym_true] = ACTIONS(290), + [anon_sym_false] = ACTIONS(290), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(290), + [sym_super] = ACTIONS(290), + [sym_crate] = ACTIONS(290), + [sym_float_literal] = ACTIONS(288), + }, + [STATE(35)] = { + [sym_line_comment] = STATE(35), + [sym_block_comment] = STATE(35), + [ts_builtin_sym_end] = ACTIONS(292), + [sym_identifier] = ACTIONS(294), + [anon_sym_SEMI] = ACTIONS(292), + [anon_sym_POUND] = ACTIONS(292), + [anon_sym_LBRACK] = ACTIONS(292), + [anon_sym_BANG] = ACTIONS(294), + [anon_sym_EQ] = ACTIONS(294), + [anon_sym_mod] = ACTIONS(294), + [anon_sym_LBRACE] = ACTIONS(292), + [anon_sym_RBRACE] = ACTIONS(292), + [anon_sym_struct] = ACTIONS(294), + [anon_sym_enum] = ACTIONS(294), + [anon_sym_COMMA] = ACTIONS(292), + [anon_sym_LPAREN] = ACTIONS(292), + [anon_sym_async] = ACTIONS(294), + [anon_sym_fn] = ACTIONS(294), + [anon_sym_let] = ACTIONS(294), + [anon_sym_use] = ACTIONS(294), + [anon_sym_COLON_COLON] = ACTIONS(292), + [anon_sym_STAR] = ACTIONS(294), + [anon_sym_pub] = ACTIONS(294), + [anon_sym_DOT_DOT] = ACTIONS(294), + [anon_sym_DOT_DOT_DOT] = ACTIONS(292), + [anon_sym_DOT_DOT_EQ] = ACTIONS(292), + [anon_sym_DASH] = ACTIONS(294), + [anon_sym_AMP_AMP] = ACTIONS(292), + [anon_sym_PIPE_PIPE] = ACTIONS(292), + [anon_sym_AMP] = ACTIONS(294), + [anon_sym_PIPE] = ACTIONS(294), + [anon_sym_CARET] = ACTIONS(294), + [anon_sym_EQ_EQ] = ACTIONS(292), + [anon_sym_BANG_EQ] = ACTIONS(292), + [anon_sym_LT] = ACTIONS(294), + [anon_sym_LT_EQ] = ACTIONS(292), + [anon_sym_GT] = ACTIONS(294), + [anon_sym_GT_EQ] = ACTIONS(292), + [anon_sym_LT_LT] = ACTIONS(294), + [anon_sym_GT_GT] = ACTIONS(294), + [anon_sym_PLUS] = ACTIONS(294), + [anon_sym_SLASH] = ACTIONS(294), + [anon_sym_PERCENT] = ACTIONS(294), + [anon_sym_PLUS_EQ] = ACTIONS(292), + [anon_sym_DASH_EQ] = ACTIONS(292), + [anon_sym_STAR_EQ] = ACTIONS(292), + [anon_sym_SLASH_EQ] = ACTIONS(292), + [anon_sym_PERCENT_EQ] = ACTIONS(292), + [anon_sym_AMP_EQ] = ACTIONS(292), + [anon_sym_PIPE_EQ] = ACTIONS(292), + [anon_sym_CARET_EQ] = ACTIONS(292), + [anon_sym_LT_LT_EQ] = ACTIONS(292), + [anon_sym_GT_GT_EQ] = ACTIONS(292), + [anon_sym_return] = ACTIONS(294), + [anon_sym_yield] = ACTIONS(294), + [anon_sym_if] = ACTIONS(294), + [anon_sym_match] = ACTIONS(294), + [anon_sym_while] = ACTIONS(294), + [anon_sym_loop] = ACTIONS(294), + [anon_sym_for] = ACTIONS(294), + [anon_sym_break] = ACTIONS(294), + [anon_sym_continue] = ACTIONS(294), + [anon_sym_DOT] = ACTIONS(294), + [anon_sym__] = ACTIONS(294), + [sym_integer_literal] = ACTIONS(292), + [anon_sym_DQUOTE] = ACTIONS(292), + [aux_sym_string_literal_token1] = ACTIONS(292), + [sym_char_literal] = ACTIONS(292), + [anon_sym_true] = ACTIONS(294), + [anon_sym_false] = ACTIONS(294), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(294), + [sym_super] = ACTIONS(294), + [sym_crate] = ACTIONS(294), + [sym_float_literal] = ACTIONS(292), + }, + [STATE(36)] = { + [sym_line_comment] = STATE(36), + [sym_block_comment] = STATE(36), + [ts_builtin_sym_end] = ACTIONS(296), + [sym_identifier] = ACTIONS(298), + [anon_sym_SEMI] = ACTIONS(296), + [anon_sym_POUND] = ACTIONS(296), + [anon_sym_LBRACK] = ACTIONS(296), + [anon_sym_BANG] = ACTIONS(298), + [anon_sym_EQ] = ACTIONS(298), + [anon_sym_mod] = ACTIONS(298), + [anon_sym_LBRACE] = ACTIONS(296), + [anon_sym_RBRACE] = ACTIONS(296), + [anon_sym_struct] = ACTIONS(298), + [anon_sym_enum] = ACTIONS(298), + [anon_sym_COMMA] = ACTIONS(296), + [anon_sym_LPAREN] = ACTIONS(296), + [anon_sym_async] = ACTIONS(298), + [anon_sym_fn] = ACTIONS(298), + [anon_sym_let] = ACTIONS(298), + [anon_sym_use] = ACTIONS(298), + [anon_sym_COLON_COLON] = ACTIONS(296), + [anon_sym_STAR] = ACTIONS(298), + [anon_sym_pub] = ACTIONS(298), + [anon_sym_DOT_DOT] = ACTIONS(298), + [anon_sym_DOT_DOT_DOT] = ACTIONS(296), + [anon_sym_DOT_DOT_EQ] = ACTIONS(296), + [anon_sym_DASH] = ACTIONS(298), + [anon_sym_AMP_AMP] = ACTIONS(296), + [anon_sym_PIPE_PIPE] = ACTIONS(296), + [anon_sym_AMP] = ACTIONS(298), + [anon_sym_PIPE] = ACTIONS(298), + [anon_sym_CARET] = ACTIONS(298), + [anon_sym_EQ_EQ] = ACTIONS(296), + [anon_sym_BANG_EQ] = ACTIONS(296), + [anon_sym_LT] = ACTIONS(298), + [anon_sym_LT_EQ] = ACTIONS(296), + [anon_sym_GT] = ACTIONS(298), + [anon_sym_GT_EQ] = ACTIONS(296), + [anon_sym_LT_LT] = ACTIONS(298), + [anon_sym_GT_GT] = ACTIONS(298), + [anon_sym_PLUS] = ACTIONS(298), + [anon_sym_SLASH] = ACTIONS(298), + [anon_sym_PERCENT] = ACTIONS(298), + [anon_sym_PLUS_EQ] = ACTIONS(296), + [anon_sym_DASH_EQ] = ACTIONS(296), + [anon_sym_STAR_EQ] = ACTIONS(296), + [anon_sym_SLASH_EQ] = ACTIONS(296), + [anon_sym_PERCENT_EQ] = ACTIONS(296), + [anon_sym_AMP_EQ] = ACTIONS(296), + [anon_sym_PIPE_EQ] = ACTIONS(296), + [anon_sym_CARET_EQ] = ACTIONS(296), + [anon_sym_LT_LT_EQ] = ACTIONS(296), + [anon_sym_GT_GT_EQ] = ACTIONS(296), + [anon_sym_return] = ACTIONS(298), + [anon_sym_yield] = ACTIONS(298), + [anon_sym_if] = ACTIONS(298), + [anon_sym_match] = ACTIONS(298), + [anon_sym_while] = ACTIONS(298), + [anon_sym_loop] = ACTIONS(298), + [anon_sym_for] = ACTIONS(298), + [anon_sym_break] = ACTIONS(298), + [anon_sym_continue] = ACTIONS(298), + [anon_sym_DOT] = ACTIONS(298), + [anon_sym__] = ACTIONS(298), + [sym_integer_literal] = ACTIONS(296), + [anon_sym_DQUOTE] = ACTIONS(296), + [aux_sym_string_literal_token1] = ACTIONS(296), + [sym_char_literal] = ACTIONS(296), + [anon_sym_true] = ACTIONS(298), + [anon_sym_false] = ACTIONS(298), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(298), + [sym_super] = ACTIONS(298), + [sym_crate] = ACTIONS(298), + [sym_float_literal] = ACTIONS(296), + }, + [STATE(37)] = { + [sym_line_comment] = STATE(37), + [sym_block_comment] = STATE(37), + [ts_builtin_sym_end] = ACTIONS(300), + [sym_identifier] = ACTIONS(302), + [anon_sym_SEMI] = ACTIONS(300), + [anon_sym_POUND] = ACTIONS(300), + [anon_sym_LBRACK] = ACTIONS(300), + [anon_sym_BANG] = ACTIONS(302), + [anon_sym_EQ] = ACTIONS(302), + [anon_sym_mod] = ACTIONS(302), + [anon_sym_LBRACE] = ACTIONS(300), + [anon_sym_RBRACE] = ACTIONS(300), + [anon_sym_struct] = ACTIONS(302), + [anon_sym_enum] = ACTIONS(302), + [anon_sym_COMMA] = ACTIONS(300), + [anon_sym_LPAREN] = ACTIONS(300), + [anon_sym_async] = ACTIONS(302), + [anon_sym_fn] = ACTIONS(302), + [anon_sym_let] = ACTIONS(302), + [anon_sym_use] = ACTIONS(302), + [anon_sym_COLON_COLON] = ACTIONS(300), + [anon_sym_STAR] = ACTIONS(302), + [anon_sym_pub] = ACTIONS(302), + [anon_sym_DOT_DOT] = ACTIONS(302), + [anon_sym_DOT_DOT_DOT] = ACTIONS(300), + [anon_sym_DOT_DOT_EQ] = ACTIONS(300), + [anon_sym_DASH] = ACTIONS(302), + [anon_sym_AMP_AMP] = ACTIONS(300), + [anon_sym_PIPE_PIPE] = ACTIONS(300), + [anon_sym_AMP] = ACTIONS(302), + [anon_sym_PIPE] = ACTIONS(302), + [anon_sym_CARET] = ACTIONS(302), + [anon_sym_EQ_EQ] = ACTIONS(300), + [anon_sym_BANG_EQ] = ACTIONS(300), + [anon_sym_LT] = ACTIONS(302), + [anon_sym_LT_EQ] = ACTIONS(300), + [anon_sym_GT] = ACTIONS(302), + [anon_sym_GT_EQ] = ACTIONS(300), + [anon_sym_LT_LT] = ACTIONS(302), + [anon_sym_GT_GT] = ACTIONS(302), + [anon_sym_PLUS] = ACTIONS(302), + [anon_sym_SLASH] = ACTIONS(302), + [anon_sym_PERCENT] = ACTIONS(302), + [anon_sym_PLUS_EQ] = ACTIONS(300), + [anon_sym_DASH_EQ] = ACTIONS(300), + [anon_sym_STAR_EQ] = ACTIONS(300), + [anon_sym_SLASH_EQ] = ACTIONS(300), + [anon_sym_PERCENT_EQ] = ACTIONS(300), + [anon_sym_AMP_EQ] = ACTIONS(300), + [anon_sym_PIPE_EQ] = ACTIONS(300), + [anon_sym_CARET_EQ] = ACTIONS(300), + [anon_sym_LT_LT_EQ] = ACTIONS(300), + [anon_sym_GT_GT_EQ] = ACTIONS(300), + [anon_sym_return] = ACTIONS(302), + [anon_sym_yield] = ACTIONS(302), + [anon_sym_if] = ACTIONS(302), + [anon_sym_match] = ACTIONS(302), + [anon_sym_while] = ACTIONS(302), + [anon_sym_loop] = ACTIONS(302), + [anon_sym_for] = ACTIONS(302), + [anon_sym_break] = ACTIONS(302), + [anon_sym_continue] = ACTIONS(302), + [anon_sym_DOT] = ACTIONS(302), + [anon_sym__] = ACTIONS(302), + [sym_integer_literal] = ACTIONS(300), + [anon_sym_DQUOTE] = ACTIONS(300), + [aux_sym_string_literal_token1] = ACTIONS(300), + [sym_char_literal] = ACTIONS(300), + [anon_sym_true] = ACTIONS(302), + [anon_sym_false] = ACTIONS(302), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(302), + [sym_super] = ACTIONS(302), + [sym_crate] = ACTIONS(302), + [sym_float_literal] = ACTIONS(300), + }, + [STATE(38)] = { + [sym_line_comment] = STATE(38), + [sym_block_comment] = STATE(38), + [ts_builtin_sym_end] = ACTIONS(304), + [sym_identifier] = ACTIONS(306), + [anon_sym_SEMI] = ACTIONS(304), + [anon_sym_POUND] = ACTIONS(304), + [anon_sym_LBRACK] = ACTIONS(304), + [anon_sym_BANG] = ACTIONS(306), + [anon_sym_EQ] = ACTIONS(306), + [anon_sym_mod] = ACTIONS(306), + [anon_sym_LBRACE] = ACTIONS(304), + [anon_sym_RBRACE] = ACTIONS(304), + [anon_sym_struct] = ACTIONS(306), + [anon_sym_enum] = ACTIONS(306), + [anon_sym_COMMA] = ACTIONS(304), + [anon_sym_LPAREN] = ACTIONS(304), + [anon_sym_async] = ACTIONS(306), + [anon_sym_fn] = ACTIONS(306), + [anon_sym_let] = ACTIONS(306), + [anon_sym_use] = ACTIONS(306), + [anon_sym_COLON_COLON] = ACTIONS(304), + [anon_sym_STAR] = ACTIONS(306), + [anon_sym_pub] = ACTIONS(306), + [anon_sym_DOT_DOT] = ACTIONS(306), + [anon_sym_DOT_DOT_DOT] = ACTIONS(304), + [anon_sym_DOT_DOT_EQ] = ACTIONS(304), + [anon_sym_DASH] = ACTIONS(306), + [anon_sym_AMP_AMP] = ACTIONS(304), + [anon_sym_PIPE_PIPE] = ACTIONS(304), + [anon_sym_AMP] = ACTIONS(306), + [anon_sym_PIPE] = ACTIONS(306), + [anon_sym_CARET] = ACTIONS(306), + [anon_sym_EQ_EQ] = ACTIONS(304), + [anon_sym_BANG_EQ] = ACTIONS(304), + [anon_sym_LT] = ACTIONS(306), + [anon_sym_LT_EQ] = ACTIONS(304), + [anon_sym_GT] = ACTIONS(306), + [anon_sym_GT_EQ] = ACTIONS(304), + [anon_sym_LT_LT] = ACTIONS(306), + [anon_sym_GT_GT] = ACTIONS(306), + [anon_sym_PLUS] = ACTIONS(306), + [anon_sym_SLASH] = ACTIONS(306), + [anon_sym_PERCENT] = ACTIONS(306), + [anon_sym_PLUS_EQ] = ACTIONS(304), + [anon_sym_DASH_EQ] = ACTIONS(304), + [anon_sym_STAR_EQ] = ACTIONS(304), + [anon_sym_SLASH_EQ] = ACTIONS(304), + [anon_sym_PERCENT_EQ] = ACTIONS(304), + [anon_sym_AMP_EQ] = ACTIONS(304), + [anon_sym_PIPE_EQ] = ACTIONS(304), + [anon_sym_CARET_EQ] = ACTIONS(304), + [anon_sym_LT_LT_EQ] = ACTIONS(304), + [anon_sym_GT_GT_EQ] = ACTIONS(304), + [anon_sym_return] = ACTIONS(306), + [anon_sym_yield] = ACTIONS(306), + [anon_sym_if] = ACTIONS(306), + [anon_sym_match] = ACTIONS(306), + [anon_sym_while] = ACTIONS(306), + [anon_sym_loop] = ACTIONS(306), + [anon_sym_for] = ACTIONS(306), + [anon_sym_break] = ACTIONS(306), + [anon_sym_continue] = ACTIONS(306), + [anon_sym_DOT] = ACTIONS(306), + [anon_sym__] = ACTIONS(306), + [sym_integer_literal] = ACTIONS(304), + [anon_sym_DQUOTE] = ACTIONS(304), + [aux_sym_string_literal_token1] = ACTIONS(304), + [sym_char_literal] = ACTIONS(304), + [anon_sym_true] = ACTIONS(306), + [anon_sym_false] = ACTIONS(306), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(306), + [sym_super] = ACTIONS(306), + [sym_crate] = ACTIONS(306), + [sym_float_literal] = ACTIONS(304), + }, + [STATE(39)] = { + [sym_line_comment] = STATE(39), + [sym_block_comment] = STATE(39), + [ts_builtin_sym_end] = ACTIONS(308), + [sym_identifier] = ACTIONS(310), + [anon_sym_SEMI] = ACTIONS(312), + [anon_sym_POUND] = ACTIONS(308), + [anon_sym_LBRACK] = ACTIONS(312), + [anon_sym_BANG] = ACTIONS(310), + [anon_sym_EQ] = ACTIONS(314), + [anon_sym_mod] = ACTIONS(310), + [anon_sym_LBRACE] = ACTIONS(308), + [anon_sym_RBRACE] = ACTIONS(312), + [anon_sym_struct] = ACTIONS(310), + [anon_sym_enum] = ACTIONS(310), + [anon_sym_LPAREN] = ACTIONS(312), + [anon_sym_async] = ACTIONS(310), + [anon_sym_fn] = ACTIONS(310), + [anon_sym_let] = ACTIONS(310), + [anon_sym_use] = ACTIONS(310), + [anon_sym_COLON_COLON] = ACTIONS(308), + [anon_sym_STAR] = ACTIONS(314), + [anon_sym_pub] = ACTIONS(310), + [anon_sym_DOT_DOT] = ACTIONS(314), + [anon_sym_DOT_DOT_DOT] = ACTIONS(312), + [anon_sym_DOT_DOT_EQ] = ACTIONS(312), + [anon_sym_DASH] = ACTIONS(314), + [anon_sym_AMP_AMP] = ACTIONS(312), + [anon_sym_PIPE_PIPE] = ACTIONS(312), + [anon_sym_AMP] = ACTIONS(314), + [anon_sym_PIPE] = ACTIONS(314), + [anon_sym_CARET] = ACTIONS(314), + [anon_sym_EQ_EQ] = ACTIONS(312), + [anon_sym_BANG_EQ] = ACTIONS(312), + [anon_sym_LT] = ACTIONS(314), + [anon_sym_LT_EQ] = ACTIONS(312), + [anon_sym_GT] = ACTIONS(314), + [anon_sym_GT_EQ] = ACTIONS(312), + [anon_sym_LT_LT] = ACTIONS(314), + [anon_sym_GT_GT] = ACTIONS(314), + [anon_sym_PLUS] = ACTIONS(314), + [anon_sym_SLASH] = ACTIONS(314), + [anon_sym_PERCENT] = ACTIONS(314), + [anon_sym_PLUS_EQ] = ACTIONS(312), + [anon_sym_DASH_EQ] = ACTIONS(312), + [anon_sym_STAR_EQ] = ACTIONS(312), + [anon_sym_SLASH_EQ] = ACTIONS(312), + [anon_sym_PERCENT_EQ] = ACTIONS(312), + [anon_sym_AMP_EQ] = ACTIONS(312), + [anon_sym_PIPE_EQ] = ACTIONS(312), + [anon_sym_CARET_EQ] = ACTIONS(312), + [anon_sym_LT_LT_EQ] = ACTIONS(312), + [anon_sym_GT_GT_EQ] = ACTIONS(312), + [anon_sym_return] = ACTIONS(310), + [anon_sym_yield] = ACTIONS(310), + [anon_sym_if] = ACTIONS(310), + [anon_sym_match] = ACTIONS(310), + [anon_sym_while] = ACTIONS(310), + [anon_sym_loop] = ACTIONS(310), + [anon_sym_for] = ACTIONS(310), + [anon_sym_break] = ACTIONS(310), + [anon_sym_continue] = ACTIONS(310), + [anon_sym_DOT] = ACTIONS(314), + [sym_integer_literal] = ACTIONS(308), + [anon_sym_DQUOTE] = ACTIONS(308), + [aux_sym_string_literal_token1] = ACTIONS(308), + [sym_char_literal] = ACTIONS(308), + [anon_sym_true] = ACTIONS(310), + [anon_sym_false] = ACTIONS(310), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(310), + [sym_super] = ACTIONS(310), + [sym_crate] = ACTIONS(310), + [sym_float_literal] = ACTIONS(308), + }, + [STATE(40)] = { + [sym_line_comment] = STATE(40), + [sym_block_comment] = STATE(40), + [ts_builtin_sym_end] = ACTIONS(316), + [sym_identifier] = ACTIONS(318), + [anon_sym_SEMI] = ACTIONS(316), + [anon_sym_POUND] = ACTIONS(316), + [anon_sym_LBRACK] = ACTIONS(316), + [anon_sym_BANG] = ACTIONS(318), + [anon_sym_EQ] = ACTIONS(318), + [anon_sym_mod] = ACTIONS(318), + [anon_sym_LBRACE] = ACTIONS(316), + [anon_sym_RBRACE] = ACTIONS(316), + [anon_sym_struct] = ACTIONS(318), + [anon_sym_enum] = ACTIONS(318), + [anon_sym_LPAREN] = ACTIONS(316), + [anon_sym_async] = ACTIONS(318), + [anon_sym_fn] = ACTIONS(318), + [anon_sym_let] = ACTIONS(318), + [anon_sym_use] = ACTIONS(318), + [anon_sym_COLON_COLON] = ACTIONS(316), + [anon_sym_STAR] = ACTIONS(318), + [anon_sym_pub] = ACTIONS(318), + [anon_sym_DOT_DOT] = ACTIONS(318), + [anon_sym_DOT_DOT_DOT] = ACTIONS(316), + [anon_sym_DOT_DOT_EQ] = ACTIONS(316), + [anon_sym_DASH] = ACTIONS(318), + [anon_sym_AMP_AMP] = ACTIONS(316), + [anon_sym_PIPE_PIPE] = ACTIONS(316), + [anon_sym_AMP] = ACTIONS(318), + [anon_sym_PIPE] = ACTIONS(318), + [anon_sym_CARET] = ACTIONS(318), + [anon_sym_EQ_EQ] = ACTIONS(316), + [anon_sym_BANG_EQ] = ACTIONS(316), + [anon_sym_LT] = ACTIONS(318), + [anon_sym_LT_EQ] = ACTIONS(316), + [anon_sym_GT] = ACTIONS(318), + [anon_sym_GT_EQ] = ACTIONS(316), + [anon_sym_LT_LT] = ACTIONS(318), + [anon_sym_GT_GT] = ACTIONS(318), + [anon_sym_PLUS] = ACTIONS(318), + [anon_sym_SLASH] = ACTIONS(318), + [anon_sym_PERCENT] = ACTIONS(318), + [anon_sym_PLUS_EQ] = ACTIONS(316), + [anon_sym_DASH_EQ] = ACTIONS(316), + [anon_sym_STAR_EQ] = ACTIONS(316), + [anon_sym_SLASH_EQ] = ACTIONS(316), + [anon_sym_PERCENT_EQ] = ACTIONS(316), + [anon_sym_AMP_EQ] = ACTIONS(316), + [anon_sym_PIPE_EQ] = ACTIONS(316), + [anon_sym_CARET_EQ] = ACTIONS(316), + [anon_sym_LT_LT_EQ] = ACTIONS(316), + [anon_sym_GT_GT_EQ] = ACTIONS(316), + [anon_sym_return] = ACTIONS(318), + [anon_sym_yield] = ACTIONS(318), + [anon_sym_if] = ACTIONS(318), + [anon_sym_match] = ACTIONS(318), + [anon_sym_while] = ACTIONS(318), + [anon_sym_loop] = ACTIONS(318), + [anon_sym_for] = ACTIONS(318), + [anon_sym_break] = ACTIONS(318), + [anon_sym_continue] = ACTIONS(318), + [anon_sym_DOT] = ACTIONS(318), + [sym_integer_literal] = ACTIONS(316), + [anon_sym_DQUOTE] = ACTIONS(316), + [aux_sym_string_literal_token1] = ACTIONS(316), + [sym_char_literal] = ACTIONS(316), + [anon_sym_true] = ACTIONS(318), + [anon_sym_false] = ACTIONS(318), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(318), + [sym_super] = ACTIONS(318), + [sym_crate] = ACTIONS(318), + [sym_float_literal] = ACTIONS(316), + }, + [STATE(41)] = { + [sym_line_comment] = STATE(41), + [sym_block_comment] = STATE(41), + [ts_builtin_sym_end] = ACTIONS(320), + [sym_identifier] = ACTIONS(322), + [anon_sym_SEMI] = ACTIONS(320), + [anon_sym_POUND] = ACTIONS(320), + [anon_sym_LBRACK] = ACTIONS(320), + [anon_sym_BANG] = ACTIONS(322), + [anon_sym_EQ] = ACTIONS(322), + [anon_sym_mod] = ACTIONS(322), + [anon_sym_LBRACE] = ACTIONS(320), + [anon_sym_RBRACE] = ACTIONS(320), + [anon_sym_struct] = ACTIONS(322), + [anon_sym_enum] = ACTIONS(322), + [anon_sym_LPAREN] = ACTIONS(320), + [anon_sym_async] = ACTIONS(322), + [anon_sym_fn] = ACTIONS(322), + [anon_sym_let] = ACTIONS(322), + [anon_sym_use] = ACTIONS(322), + [anon_sym_COLON_COLON] = ACTIONS(320), + [anon_sym_STAR] = ACTIONS(322), + [anon_sym_pub] = ACTIONS(322), + [anon_sym_DOT_DOT] = ACTIONS(322), + [anon_sym_DOT_DOT_DOT] = ACTIONS(320), + [anon_sym_DOT_DOT_EQ] = ACTIONS(320), + [anon_sym_DASH] = ACTIONS(322), + [anon_sym_AMP_AMP] = ACTIONS(320), + [anon_sym_PIPE_PIPE] = ACTIONS(320), + [anon_sym_AMP] = ACTIONS(322), + [anon_sym_PIPE] = ACTIONS(322), + [anon_sym_CARET] = ACTIONS(322), + [anon_sym_EQ_EQ] = ACTIONS(320), + [anon_sym_BANG_EQ] = ACTIONS(320), + [anon_sym_LT] = ACTIONS(322), + [anon_sym_LT_EQ] = ACTIONS(320), + [anon_sym_GT] = ACTIONS(322), + [anon_sym_GT_EQ] = ACTIONS(320), + [anon_sym_LT_LT] = ACTIONS(322), + [anon_sym_GT_GT] = ACTIONS(322), + [anon_sym_PLUS] = ACTIONS(322), + [anon_sym_SLASH] = ACTIONS(322), + [anon_sym_PERCENT] = ACTIONS(322), + [anon_sym_PLUS_EQ] = ACTIONS(320), + [anon_sym_DASH_EQ] = ACTIONS(320), + [anon_sym_STAR_EQ] = ACTIONS(320), + [anon_sym_SLASH_EQ] = ACTIONS(320), + [anon_sym_PERCENT_EQ] = ACTIONS(320), + [anon_sym_AMP_EQ] = ACTIONS(320), + [anon_sym_PIPE_EQ] = ACTIONS(320), + [anon_sym_CARET_EQ] = ACTIONS(320), + [anon_sym_LT_LT_EQ] = ACTIONS(320), + [anon_sym_GT_GT_EQ] = ACTIONS(320), + [anon_sym_return] = ACTIONS(322), + [anon_sym_yield] = ACTIONS(322), + [anon_sym_if] = ACTIONS(322), + [anon_sym_match] = ACTIONS(322), + [anon_sym_while] = ACTIONS(322), + [anon_sym_loop] = ACTIONS(322), + [anon_sym_for] = ACTIONS(322), + [anon_sym_break] = ACTIONS(322), + [anon_sym_continue] = ACTIONS(322), + [anon_sym_DOT] = ACTIONS(322), + [sym_integer_literal] = ACTIONS(320), + [anon_sym_DQUOTE] = ACTIONS(320), + [aux_sym_string_literal_token1] = ACTIONS(320), + [sym_char_literal] = ACTIONS(320), + [anon_sym_true] = ACTIONS(322), + [anon_sym_false] = ACTIONS(322), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(322), + [sym_super] = ACTIONS(322), + [sym_crate] = ACTIONS(322), + [sym_float_literal] = ACTIONS(320), + }, + [STATE(42)] = { + [sym_line_comment] = STATE(42), + [sym_block_comment] = STATE(42), + [ts_builtin_sym_end] = ACTIONS(324), + [sym_identifier] = ACTIONS(326), + [anon_sym_SEMI] = ACTIONS(324), + [anon_sym_POUND] = ACTIONS(324), + [anon_sym_LBRACK] = ACTIONS(324), + [anon_sym_BANG] = ACTIONS(326), + [anon_sym_EQ] = ACTIONS(314), + [anon_sym_mod] = ACTIONS(326), + [anon_sym_LBRACE] = ACTIONS(324), + [anon_sym_RBRACE] = ACTIONS(324), + [anon_sym_struct] = ACTIONS(326), + [anon_sym_enum] = ACTIONS(326), + [anon_sym_LPAREN] = ACTIONS(324), + [anon_sym_async] = ACTIONS(326), + [anon_sym_fn] = ACTIONS(326), + [anon_sym_let] = ACTIONS(326), + [anon_sym_use] = ACTIONS(326), + [anon_sym_COLON_COLON] = ACTIONS(324), + [anon_sym_STAR] = ACTIONS(314), + [anon_sym_pub] = ACTIONS(326), + [anon_sym_DOT_DOT] = ACTIONS(326), + [anon_sym_DOT_DOT_DOT] = ACTIONS(312), + [anon_sym_DOT_DOT_EQ] = ACTIONS(312), + [anon_sym_DASH] = ACTIONS(326), + [anon_sym_AMP_AMP] = ACTIONS(312), + [anon_sym_PIPE_PIPE] = ACTIONS(312), + [anon_sym_AMP] = ACTIONS(314), + [anon_sym_PIPE] = ACTIONS(326), + [anon_sym_CARET] = ACTIONS(314), + [anon_sym_EQ_EQ] = ACTIONS(312), + [anon_sym_BANG_EQ] = ACTIONS(312), + [anon_sym_LT] = ACTIONS(314), + [anon_sym_LT_EQ] = ACTIONS(312), + [anon_sym_GT] = ACTIONS(314), + [anon_sym_GT_EQ] = ACTIONS(312), + [anon_sym_LT_LT] = ACTIONS(314), + [anon_sym_GT_GT] = ACTIONS(314), + [anon_sym_PLUS] = ACTIONS(314), + [anon_sym_SLASH] = ACTIONS(314), + [anon_sym_PERCENT] = ACTIONS(314), + [anon_sym_PLUS_EQ] = ACTIONS(312), + [anon_sym_DASH_EQ] = ACTIONS(312), + [anon_sym_STAR_EQ] = ACTIONS(312), + [anon_sym_SLASH_EQ] = ACTIONS(312), + [anon_sym_PERCENT_EQ] = ACTIONS(312), + [anon_sym_AMP_EQ] = ACTIONS(312), + [anon_sym_PIPE_EQ] = ACTIONS(312), + [anon_sym_CARET_EQ] = ACTIONS(312), + [anon_sym_LT_LT_EQ] = ACTIONS(312), + [anon_sym_GT_GT_EQ] = ACTIONS(312), + [anon_sym_return] = ACTIONS(326), + [anon_sym_yield] = ACTIONS(326), + [anon_sym_if] = ACTIONS(326), + [anon_sym_match] = ACTIONS(326), + [anon_sym_while] = ACTIONS(326), + [anon_sym_loop] = ACTIONS(326), + [anon_sym_for] = ACTIONS(326), + [anon_sym_break] = ACTIONS(326), + [anon_sym_continue] = ACTIONS(326), + [anon_sym_DOT] = ACTIONS(314), + [sym_integer_literal] = ACTIONS(324), + [anon_sym_DQUOTE] = ACTIONS(324), + [aux_sym_string_literal_token1] = ACTIONS(324), + [sym_char_literal] = ACTIONS(324), + [anon_sym_true] = ACTIONS(326), + [anon_sym_false] = ACTIONS(326), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(326), + [sym_super] = ACTIONS(326), + [sym_crate] = ACTIONS(326), + [sym_float_literal] = ACTIONS(324), + }, + [STATE(43)] = { + [sym_line_comment] = STATE(43), + [sym_block_comment] = STATE(43), + [ts_builtin_sym_end] = ACTIONS(328), + [sym_identifier] = ACTIONS(330), + [anon_sym_SEMI] = ACTIONS(328), + [anon_sym_POUND] = ACTIONS(328), + [anon_sym_LBRACK] = ACTIONS(328), + [anon_sym_BANG] = ACTIONS(330), + [anon_sym_EQ] = ACTIONS(330), + [anon_sym_mod] = ACTIONS(330), + [anon_sym_LBRACE] = ACTIONS(328), + [anon_sym_RBRACE] = ACTIONS(328), + [anon_sym_struct] = ACTIONS(330), + [anon_sym_enum] = ACTIONS(330), + [anon_sym_LPAREN] = ACTIONS(328), + [anon_sym_async] = ACTIONS(330), + [anon_sym_fn] = ACTIONS(330), + [anon_sym_let] = ACTIONS(330), + [anon_sym_use] = ACTIONS(330), + [anon_sym_COLON_COLON] = ACTIONS(328), + [anon_sym_STAR] = ACTIONS(330), + [anon_sym_pub] = ACTIONS(330), + [anon_sym_DOT_DOT] = ACTIONS(330), + [anon_sym_DOT_DOT_DOT] = ACTIONS(328), + [anon_sym_DOT_DOT_EQ] = ACTIONS(328), + [anon_sym_DASH] = ACTIONS(330), + [anon_sym_AMP_AMP] = ACTIONS(328), + [anon_sym_PIPE_PIPE] = ACTIONS(328), + [anon_sym_AMP] = ACTIONS(330), + [anon_sym_PIPE] = ACTIONS(330), + [anon_sym_CARET] = ACTIONS(330), + [anon_sym_EQ_EQ] = ACTIONS(328), + [anon_sym_BANG_EQ] = ACTIONS(328), + [anon_sym_LT] = ACTIONS(330), + [anon_sym_LT_EQ] = ACTIONS(328), + [anon_sym_GT] = ACTIONS(330), + [anon_sym_GT_EQ] = ACTIONS(328), + [anon_sym_LT_LT] = ACTIONS(330), + [anon_sym_GT_GT] = ACTIONS(330), + [anon_sym_PLUS] = ACTIONS(330), + [anon_sym_SLASH] = ACTIONS(330), + [anon_sym_PERCENT] = ACTIONS(330), + [anon_sym_PLUS_EQ] = ACTIONS(328), + [anon_sym_DASH_EQ] = ACTIONS(328), + [anon_sym_STAR_EQ] = ACTIONS(328), + [anon_sym_SLASH_EQ] = ACTIONS(328), + [anon_sym_PERCENT_EQ] = ACTIONS(328), + [anon_sym_AMP_EQ] = ACTIONS(328), + [anon_sym_PIPE_EQ] = ACTIONS(328), + [anon_sym_CARET_EQ] = ACTIONS(328), + [anon_sym_LT_LT_EQ] = ACTIONS(328), + [anon_sym_GT_GT_EQ] = ACTIONS(328), + [anon_sym_return] = ACTIONS(330), + [anon_sym_yield] = ACTIONS(330), + [anon_sym_if] = ACTIONS(330), + [anon_sym_match] = ACTIONS(330), + [anon_sym_while] = ACTIONS(330), + [anon_sym_loop] = ACTIONS(330), + [anon_sym_for] = ACTIONS(330), + [anon_sym_break] = ACTIONS(330), + [anon_sym_continue] = ACTIONS(330), + [anon_sym_DOT] = ACTIONS(330), + [sym_integer_literal] = ACTIONS(328), + [anon_sym_DQUOTE] = ACTIONS(328), + [aux_sym_string_literal_token1] = ACTIONS(328), + [sym_char_literal] = ACTIONS(328), + [anon_sym_true] = ACTIONS(330), + [anon_sym_false] = ACTIONS(330), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(330), + [sym_super] = ACTIONS(330), + [sym_crate] = ACTIONS(330), + [sym_float_literal] = ACTIONS(328), + }, + [STATE(44)] = { + [sym_line_comment] = STATE(44), + [sym_block_comment] = STATE(44), + [ts_builtin_sym_end] = ACTIONS(332), + [sym_identifier] = ACTIONS(334), + [anon_sym_SEMI] = ACTIONS(332), + [anon_sym_POUND] = ACTIONS(332), + [anon_sym_LBRACK] = ACTIONS(332), + [anon_sym_BANG] = ACTIONS(334), + [anon_sym_EQ] = ACTIONS(334), + [anon_sym_mod] = ACTIONS(334), + [anon_sym_LBRACE] = ACTIONS(332), + [anon_sym_RBRACE] = ACTIONS(332), + [anon_sym_struct] = ACTIONS(334), + [anon_sym_enum] = ACTIONS(334), + [anon_sym_LPAREN] = ACTIONS(332), + [anon_sym_async] = ACTIONS(334), + [anon_sym_fn] = ACTIONS(334), + [anon_sym_let] = ACTIONS(334), + [anon_sym_use] = ACTIONS(334), + [anon_sym_COLON_COLON] = ACTIONS(332), + [anon_sym_STAR] = ACTIONS(334), + [anon_sym_pub] = ACTIONS(334), + [anon_sym_DOT_DOT] = ACTIONS(334), + [anon_sym_DOT_DOT_DOT] = ACTIONS(332), + [anon_sym_DOT_DOT_EQ] = ACTIONS(332), + [anon_sym_DASH] = ACTIONS(334), + [anon_sym_AMP_AMP] = ACTIONS(332), + [anon_sym_PIPE_PIPE] = ACTIONS(332), + [anon_sym_AMP] = ACTIONS(334), + [anon_sym_PIPE] = ACTIONS(334), + [anon_sym_CARET] = ACTIONS(334), + [anon_sym_EQ_EQ] = ACTIONS(332), + [anon_sym_BANG_EQ] = ACTIONS(332), + [anon_sym_LT] = ACTIONS(334), + [anon_sym_LT_EQ] = ACTIONS(332), + [anon_sym_GT] = ACTIONS(334), + [anon_sym_GT_EQ] = ACTIONS(332), + [anon_sym_LT_LT] = ACTIONS(334), + [anon_sym_GT_GT] = ACTIONS(334), + [anon_sym_PLUS] = ACTIONS(334), + [anon_sym_SLASH] = ACTIONS(334), + [anon_sym_PERCENT] = ACTIONS(334), + [anon_sym_PLUS_EQ] = ACTIONS(332), + [anon_sym_DASH_EQ] = ACTIONS(332), + [anon_sym_STAR_EQ] = ACTIONS(332), + [anon_sym_SLASH_EQ] = ACTIONS(332), + [anon_sym_PERCENT_EQ] = ACTIONS(332), + [anon_sym_AMP_EQ] = ACTIONS(332), + [anon_sym_PIPE_EQ] = ACTIONS(332), + [anon_sym_CARET_EQ] = ACTIONS(332), + [anon_sym_LT_LT_EQ] = ACTIONS(332), + [anon_sym_GT_GT_EQ] = ACTIONS(332), + [anon_sym_return] = ACTIONS(334), + [anon_sym_yield] = ACTIONS(334), + [anon_sym_if] = ACTIONS(334), + [anon_sym_match] = ACTIONS(334), + [anon_sym_while] = ACTIONS(334), + [anon_sym_loop] = ACTIONS(334), + [anon_sym_for] = ACTIONS(334), + [anon_sym_break] = ACTIONS(334), + [anon_sym_continue] = ACTIONS(334), + [anon_sym_DOT] = ACTIONS(334), + [sym_integer_literal] = ACTIONS(332), + [anon_sym_DQUOTE] = ACTIONS(332), + [aux_sym_string_literal_token1] = ACTIONS(332), + [sym_char_literal] = ACTIONS(332), + [anon_sym_true] = ACTIONS(334), + [anon_sym_false] = ACTIONS(334), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(334), + [sym_super] = ACTIONS(334), + [sym_crate] = ACTIONS(334), + [sym_float_literal] = ACTIONS(332), + }, + [STATE(45)] = { + [sym_line_comment] = STATE(45), + [sym_block_comment] = STATE(45), + [ts_builtin_sym_end] = ACTIONS(336), + [sym_identifier] = ACTIONS(338), + [anon_sym_SEMI] = ACTIONS(336), + [anon_sym_POUND] = ACTIONS(336), + [anon_sym_LBRACK] = ACTIONS(336), + [anon_sym_BANG] = ACTIONS(338), + [anon_sym_EQ] = ACTIONS(338), + [anon_sym_mod] = ACTIONS(338), + [anon_sym_LBRACE] = ACTIONS(336), + [anon_sym_RBRACE] = ACTIONS(336), + [anon_sym_struct] = ACTIONS(338), + [anon_sym_enum] = ACTIONS(338), + [anon_sym_LPAREN] = ACTIONS(336), + [anon_sym_async] = ACTIONS(338), + [anon_sym_fn] = ACTIONS(338), + [anon_sym_let] = ACTIONS(338), + [anon_sym_use] = ACTIONS(338), + [anon_sym_COLON_COLON] = ACTIONS(336), + [anon_sym_STAR] = ACTIONS(338), + [anon_sym_pub] = ACTIONS(338), + [anon_sym_DOT_DOT] = ACTIONS(338), + [anon_sym_DOT_DOT_DOT] = ACTIONS(336), + [anon_sym_DOT_DOT_EQ] = ACTIONS(336), + [anon_sym_DASH] = ACTIONS(338), + [anon_sym_AMP_AMP] = ACTIONS(336), + [anon_sym_PIPE_PIPE] = ACTIONS(336), + [anon_sym_AMP] = ACTIONS(338), + [anon_sym_PIPE] = ACTIONS(338), + [anon_sym_CARET] = ACTIONS(338), + [anon_sym_EQ_EQ] = ACTIONS(336), + [anon_sym_BANG_EQ] = ACTIONS(336), + [anon_sym_LT] = ACTIONS(338), + [anon_sym_LT_EQ] = ACTIONS(336), + [anon_sym_GT] = ACTIONS(338), + [anon_sym_GT_EQ] = ACTIONS(336), + [anon_sym_LT_LT] = ACTIONS(338), + [anon_sym_GT_GT] = ACTIONS(338), + [anon_sym_PLUS] = ACTIONS(338), + [anon_sym_SLASH] = ACTIONS(338), + [anon_sym_PERCENT] = ACTIONS(338), + [anon_sym_PLUS_EQ] = ACTIONS(336), + [anon_sym_DASH_EQ] = ACTIONS(336), + [anon_sym_STAR_EQ] = ACTIONS(336), + [anon_sym_SLASH_EQ] = ACTIONS(336), + [anon_sym_PERCENT_EQ] = ACTIONS(336), + [anon_sym_AMP_EQ] = ACTIONS(336), + [anon_sym_PIPE_EQ] = ACTIONS(336), + [anon_sym_CARET_EQ] = ACTIONS(336), + [anon_sym_LT_LT_EQ] = ACTIONS(336), + [anon_sym_GT_GT_EQ] = ACTIONS(336), + [anon_sym_return] = ACTIONS(338), + [anon_sym_yield] = ACTIONS(338), + [anon_sym_if] = ACTIONS(338), + [anon_sym_match] = ACTIONS(338), + [anon_sym_while] = ACTIONS(338), + [anon_sym_loop] = ACTIONS(338), + [anon_sym_for] = ACTIONS(338), + [anon_sym_break] = ACTIONS(338), + [anon_sym_continue] = ACTIONS(338), + [anon_sym_DOT] = ACTIONS(338), + [sym_integer_literal] = ACTIONS(336), + [anon_sym_DQUOTE] = ACTIONS(336), + [aux_sym_string_literal_token1] = ACTIONS(336), + [sym_char_literal] = ACTIONS(336), + [anon_sym_true] = ACTIONS(338), + [anon_sym_false] = ACTIONS(338), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(338), + [sym_super] = ACTIONS(338), + [sym_crate] = ACTIONS(338), + [sym_float_literal] = ACTIONS(336), + }, + [STATE(46)] = { + [sym_line_comment] = STATE(46), + [sym_block_comment] = STATE(46), + [ts_builtin_sym_end] = ACTIONS(340), + [sym_identifier] = ACTIONS(342), + [anon_sym_SEMI] = ACTIONS(340), + [anon_sym_POUND] = ACTIONS(340), + [anon_sym_LBRACK] = ACTIONS(340), + [anon_sym_BANG] = ACTIONS(342), + [anon_sym_EQ] = ACTIONS(342), + [anon_sym_mod] = ACTIONS(342), + [anon_sym_LBRACE] = ACTIONS(340), + [anon_sym_RBRACE] = ACTIONS(340), + [anon_sym_struct] = ACTIONS(342), + [anon_sym_enum] = ACTIONS(342), + [anon_sym_LPAREN] = ACTIONS(340), + [anon_sym_async] = ACTIONS(342), + [anon_sym_fn] = ACTIONS(342), + [anon_sym_let] = ACTIONS(342), + [anon_sym_use] = ACTIONS(342), + [anon_sym_COLON_COLON] = ACTIONS(340), + [anon_sym_STAR] = ACTIONS(342), + [anon_sym_pub] = ACTIONS(342), + [anon_sym_DOT_DOT] = ACTIONS(342), + [anon_sym_DOT_DOT_DOT] = ACTIONS(340), + [anon_sym_DOT_DOT_EQ] = ACTIONS(340), + [anon_sym_DASH] = ACTIONS(342), + [anon_sym_AMP_AMP] = ACTIONS(340), + [anon_sym_PIPE_PIPE] = ACTIONS(340), + [anon_sym_AMP] = ACTIONS(342), + [anon_sym_PIPE] = ACTIONS(342), + [anon_sym_CARET] = ACTIONS(342), + [anon_sym_EQ_EQ] = ACTIONS(340), + [anon_sym_BANG_EQ] = ACTIONS(340), + [anon_sym_LT] = ACTIONS(342), + [anon_sym_LT_EQ] = ACTIONS(340), + [anon_sym_GT] = ACTIONS(342), + [anon_sym_GT_EQ] = ACTIONS(340), + [anon_sym_LT_LT] = ACTIONS(342), + [anon_sym_GT_GT] = ACTIONS(342), + [anon_sym_PLUS] = ACTIONS(342), + [anon_sym_SLASH] = ACTIONS(342), + [anon_sym_PERCENT] = ACTIONS(342), + [anon_sym_PLUS_EQ] = ACTIONS(340), + [anon_sym_DASH_EQ] = ACTIONS(340), + [anon_sym_STAR_EQ] = ACTIONS(340), + [anon_sym_SLASH_EQ] = ACTIONS(340), + [anon_sym_PERCENT_EQ] = ACTIONS(340), + [anon_sym_AMP_EQ] = ACTIONS(340), + [anon_sym_PIPE_EQ] = ACTIONS(340), + [anon_sym_CARET_EQ] = ACTIONS(340), + [anon_sym_LT_LT_EQ] = ACTIONS(340), + [anon_sym_GT_GT_EQ] = ACTIONS(340), + [anon_sym_return] = ACTIONS(342), + [anon_sym_yield] = ACTIONS(342), + [anon_sym_if] = ACTIONS(342), + [anon_sym_match] = ACTIONS(342), + [anon_sym_while] = ACTIONS(342), + [anon_sym_loop] = ACTIONS(342), + [anon_sym_for] = ACTIONS(342), + [anon_sym_break] = ACTIONS(342), + [anon_sym_continue] = ACTIONS(342), + [anon_sym_DOT] = ACTIONS(342), + [sym_integer_literal] = ACTIONS(340), + [anon_sym_DQUOTE] = ACTIONS(340), + [aux_sym_string_literal_token1] = ACTIONS(340), + [sym_char_literal] = ACTIONS(340), + [anon_sym_true] = ACTIONS(342), + [anon_sym_false] = ACTIONS(342), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(342), + [sym_super] = ACTIONS(342), + [sym_crate] = ACTIONS(342), + [sym_float_literal] = ACTIONS(340), + }, + [STATE(47)] = { + [sym_line_comment] = STATE(47), + [sym_block_comment] = STATE(47), + [sym_identifier] = ACTIONS(310), + [anon_sym_SEMI] = ACTIONS(312), + [anon_sym_POUND] = ACTIONS(308), + [anon_sym_LBRACK] = ACTIONS(312), + [anon_sym_BANG] = ACTIONS(310), + [anon_sym_EQ] = ACTIONS(314), + [anon_sym_mod] = ACTIONS(310), + [anon_sym_LBRACE] = ACTIONS(308), + [anon_sym_RBRACE] = ACTIONS(308), + [anon_sym_struct] = ACTIONS(310), + [anon_sym_enum] = ACTIONS(310), + [anon_sym_LPAREN] = ACTIONS(312), + [anon_sym_async] = ACTIONS(310), + [anon_sym_fn] = ACTIONS(310), + [anon_sym_let] = ACTIONS(310), + [anon_sym_use] = ACTIONS(310), + [anon_sym_COLON_COLON] = ACTIONS(308), + [anon_sym_STAR] = ACTIONS(314), + [anon_sym_pub] = ACTIONS(310), + [anon_sym_DOT_DOT] = ACTIONS(314), + [anon_sym_DOT_DOT_DOT] = ACTIONS(312), + [anon_sym_DOT_DOT_EQ] = ACTIONS(312), + [anon_sym_DASH] = ACTIONS(314), + [anon_sym_AMP_AMP] = ACTIONS(312), + [anon_sym_PIPE_PIPE] = ACTIONS(312), + [anon_sym_AMP] = ACTIONS(314), + [anon_sym_PIPE] = ACTIONS(314), + [anon_sym_CARET] = ACTIONS(314), + [anon_sym_EQ_EQ] = ACTIONS(312), + [anon_sym_BANG_EQ] = ACTIONS(312), + [anon_sym_LT] = ACTIONS(314), + [anon_sym_LT_EQ] = ACTIONS(312), + [anon_sym_GT] = ACTIONS(314), + [anon_sym_GT_EQ] = ACTIONS(312), + [anon_sym_LT_LT] = ACTIONS(314), + [anon_sym_GT_GT] = ACTIONS(314), + [anon_sym_PLUS] = ACTIONS(314), + [anon_sym_SLASH] = ACTIONS(314), + [anon_sym_PERCENT] = ACTIONS(314), + [anon_sym_PLUS_EQ] = ACTIONS(312), + [anon_sym_DASH_EQ] = ACTIONS(312), + [anon_sym_STAR_EQ] = ACTIONS(312), + [anon_sym_SLASH_EQ] = ACTIONS(312), + [anon_sym_PERCENT_EQ] = ACTIONS(312), + [anon_sym_AMP_EQ] = ACTIONS(312), + [anon_sym_PIPE_EQ] = ACTIONS(312), + [anon_sym_CARET_EQ] = ACTIONS(312), + [anon_sym_LT_LT_EQ] = ACTIONS(312), + [anon_sym_GT_GT_EQ] = ACTIONS(312), + [anon_sym_return] = ACTIONS(310), + [anon_sym_yield] = ACTIONS(310), + [anon_sym_if] = ACTIONS(310), + [anon_sym_match] = ACTIONS(310), + [anon_sym_while] = ACTIONS(310), + [anon_sym_loop] = ACTIONS(310), + [anon_sym_for] = ACTIONS(310), + [anon_sym_break] = ACTIONS(310), + [anon_sym_continue] = ACTIONS(310), + [anon_sym_DOT] = ACTIONS(314), + [sym_integer_literal] = ACTIONS(308), + [anon_sym_DQUOTE] = ACTIONS(308), + [aux_sym_string_literal_token1] = ACTIONS(308), + [sym_char_literal] = ACTIONS(308), + [anon_sym_true] = ACTIONS(310), + [anon_sym_false] = ACTIONS(310), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(310), + [sym_super] = ACTIONS(310), + [sym_crate] = ACTIONS(310), + [sym_float_literal] = ACTIONS(308), + }, + [STATE(48)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(276), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(48), + [sym_block_comment] = STATE(48), + [aux_sym_enum_variant_list_repeat1] = STATE(49), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_RBRACK] = ACTIONS(346), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_COMMA] = ACTIONS(348), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(49)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(282), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(49), + [sym_block_comment] = STATE(49), + [aux_sym_enum_variant_list_repeat1] = STATE(349), + [sym_identifier] = ACTIONS(350), + [anon_sym_POUND] = ACTIONS(353), + [anon_sym_LBRACK] = ACTIONS(356), + [anon_sym_RBRACK] = ACTIONS(359), + [anon_sym_BANG] = ACTIONS(361), + [anon_sym_LBRACE] = ACTIONS(364), + [anon_sym_COMMA] = ACTIONS(359), + [anon_sym_LPAREN] = ACTIONS(367), + [anon_sym_async] = ACTIONS(370), + [anon_sym_COLON_COLON] = ACTIONS(373), + [anon_sym_DOT_DOT] = ACTIONS(376), + [anon_sym_DASH] = ACTIONS(361), + [anon_sym_PIPE] = ACTIONS(379), + [anon_sym_return] = ACTIONS(382), + [anon_sym_yield] = ACTIONS(385), + [anon_sym_if] = ACTIONS(388), + [anon_sym_match] = ACTIONS(391), + [anon_sym_while] = ACTIONS(394), + [anon_sym_loop] = ACTIONS(397), + [anon_sym_for] = ACTIONS(400), + [anon_sym_break] = ACTIONS(403), + [anon_sym_continue] = ACTIONS(406), + [sym_integer_literal] = ACTIONS(409), + [anon_sym_DQUOTE] = ACTIONS(412), + [aux_sym_string_literal_token1] = ACTIONS(412), + [sym_char_literal] = ACTIONS(409), + [anon_sym_true] = ACTIONS(415), + [anon_sym_false] = ACTIONS(415), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(418), + [sym_super] = ACTIONS(421), + [sym_crate] = ACTIONS(421), + [sym_float_literal] = ACTIONS(409), + }, + [STATE(50)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(274), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(50), + [sym_block_comment] = STATE(50), + [aux_sym_enum_variant_list_repeat1] = STATE(48), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_RBRACK] = ACTIONS(424), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_COMMA] = ACTIONS(426), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(51)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(283), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(51), + [sym_block_comment] = STATE(51), + [aux_sym_enum_variant_list_repeat1] = STATE(68), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_COMMA] = ACTIONS(428), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(430), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(52)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(281), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(52), + [sym_block_comment] = STATE(52), + [aux_sym_enum_variant_list_repeat1] = STATE(73), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_COMMA] = ACTIONS(432), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(434), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(53)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(330), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_let_condition] = STATE(655), + [sym__let_chain] = STATE(647), + [sym__condition] = STATE(666), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(53), + [sym_block_comment] = STATE(53), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_let] = ACTIONS(438), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(440), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(54)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(278), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(54), + [sym_block_comment] = STATE(54), + [aux_sym_enum_variant_list_repeat1] = STATE(69), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_RBRACK] = ACTIONS(442), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(55)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(278), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(55), + [sym_block_comment] = STATE(55), + [aux_sym_enum_variant_list_repeat1] = STATE(69), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(444), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(56)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(278), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(56), + [sym_block_comment] = STATE(56), + [aux_sym_enum_variant_list_repeat1] = STATE(69), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_RBRACK] = ACTIONS(446), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(57)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(278), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(57), + [sym_block_comment] = STATE(57), + [aux_sym_enum_variant_list_repeat1] = STATE(69), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_RBRACK] = ACTIONS(448), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(58)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(335), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_let_condition] = STATE(672), + [sym__let_chain] = STATE(673), + [sym__condition] = STATE(730), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(58), + [sym_block_comment] = STATE(58), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_let] = ACTIONS(450), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(59)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(278), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(59), + [sym_block_comment] = STATE(59), + [aux_sym_enum_variant_list_repeat1] = STATE(69), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(452), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(60)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(278), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(60), + [sym_block_comment] = STATE(60), + [aux_sym_enum_variant_list_repeat1] = STATE(69), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(454), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(61)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(278), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(61), + [sym_block_comment] = STATE(61), + [aux_sym_enum_variant_list_repeat1] = STATE(69), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_RBRACK] = ACTIONS(456), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(62)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(278), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(62), + [sym_block_comment] = STATE(62), + [aux_sym_enum_variant_list_repeat1] = STATE(69), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(458), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(63)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(278), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(63), + [sym_block_comment] = STATE(63), + [aux_sym_enum_variant_list_repeat1] = STATE(69), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(460), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(64)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(278), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(64), + [sym_block_comment] = STATE(64), + [aux_sym_enum_variant_list_repeat1] = STATE(69), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(462), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(65)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(330), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_let_condition] = STATE(655), + [sym__let_chain] = STATE(647), + [sym__condition] = STATE(674), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(65), + [sym_block_comment] = STATE(65), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_let] = ACTIONS(438), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(440), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(66)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(330), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_let_condition] = STATE(655), + [sym__let_chain] = STATE(647), + [sym__condition] = STATE(676), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(66), + [sym_block_comment] = STATE(66), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_let] = ACTIONS(438), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(440), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(67)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(330), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_let_condition] = STATE(655), + [sym__let_chain] = STATE(647), + [sym__condition] = STATE(671), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(67), + [sym_block_comment] = STATE(67), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_let] = ACTIONS(438), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(440), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(68)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(284), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(68), + [sym_block_comment] = STATE(68), + [aux_sym_enum_variant_list_repeat1] = STATE(349), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(69)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(285), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(69), + [sym_block_comment] = STATE(69), + [aux_sym_enum_variant_list_repeat1] = STATE(349), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(70)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(278), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(70), + [sym_block_comment] = STATE(70), + [aux_sym_enum_variant_list_repeat1] = STATE(69), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(71)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(343), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(71), + [sym_block_comment] = STATE(71), + [aux_sym_enum_variant_list_repeat1] = STATE(349), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(72)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(308), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(72), + [sym_block_comment] = STATE(72), + [aux_sym_enum_variant_list_repeat1] = STATE(71), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(73)] = { + [sym_attribute_item] = STATE(363), + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(279), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(73), + [sym_block_comment] = STATE(73), + [aux_sym_enum_variant_list_repeat1] = STATE(349), + [sym_identifier] = ACTIONS(79), + [anon_sym_POUND] = ACTIONS(344), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(74)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(317), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(74), + [sym_block_comment] = STATE(74), + [aux_sym_tuple_expression_repeat1] = STATE(75), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(464), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(75)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(331), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(75), + [sym_block_comment] = STATE(75), + [aux_sym_tuple_expression_repeat1] = STATE(75), + [sym_identifier] = ACTIONS(466), + [anon_sym_LBRACK] = ACTIONS(469), + [anon_sym_BANG] = ACTIONS(472), + [anon_sym_LBRACE] = ACTIONS(475), + [anon_sym_LPAREN] = ACTIONS(478), + [anon_sym_RPAREN] = ACTIONS(481), + [anon_sym_async] = ACTIONS(483), + [anon_sym_COLON_COLON] = ACTIONS(486), + [anon_sym_DOT_DOT] = ACTIONS(489), + [anon_sym_DASH] = ACTIONS(472), + [anon_sym_PIPE] = ACTIONS(492), + [anon_sym_return] = ACTIONS(495), + [anon_sym_yield] = ACTIONS(498), + [anon_sym_if] = ACTIONS(501), + [anon_sym_match] = ACTIONS(504), + [anon_sym_while] = ACTIONS(507), + [anon_sym_loop] = ACTIONS(510), + [anon_sym_for] = ACTIONS(513), + [anon_sym_break] = ACTIONS(516), + [anon_sym_continue] = ACTIONS(519), + [sym_integer_literal] = ACTIONS(522), + [anon_sym_DQUOTE] = ACTIONS(525), + [aux_sym_string_literal_token1] = ACTIONS(525), + [sym_char_literal] = ACTIONS(522), + [anon_sym_true] = ACTIONS(528), + [anon_sym_false] = ACTIONS(528), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(531), + [sym_super] = ACTIONS(534), + [sym_crate] = ACTIONS(534), + [sym_float_literal] = ACTIONS(522), + }, + [STATE(76)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(220), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_let_condition] = STATE(636), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(76), + [sym_block_comment] = STATE(76), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_let] = ACTIONS(450), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(77)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(344), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_let_condition] = STATE(636), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(77), + [sym_block_comment] = STATE(77), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_let] = ACTIONS(450), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(78)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(297), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_let_condition] = STATE(636), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(78), + [sym_block_comment] = STATE(78), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_let] = ACTIONS(438), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(79)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(334), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_let_condition] = STATE(636), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(79), + [sym_block_comment] = STATE(79), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_let] = ACTIONS(438), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(440), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(80)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(312), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(80), + [sym_block_comment] = STATE(80), + [aux_sym_tuple_expression_repeat1] = STATE(82), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(541), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(81)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(309), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(81), + [sym_block_comment] = STATE(81), + [aux_sym_tuple_expression_repeat1] = STATE(74), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(543), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(82)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(309), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(82), + [sym_block_comment] = STATE(82), + [aux_sym_tuple_expression_repeat1] = STATE(75), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_RPAREN] = ACTIONS(543), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(83)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(303), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(83), + [sym_block_comment] = STATE(83), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(84)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(307), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(147), + [sym_match_expression] = STATE(147), + [sym_while_expression] = STATE(147), + [sym_loop_expression] = STATE(147), + [sym_for_expression] = STATE(147), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(147), + [sym_block] = STATE(147), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(84), + [sym_block_comment] = STATE(84), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(545), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_match] = ACTIONS(51), + [anon_sym_while] = ACTIONS(53), + [anon_sym_loop] = ACTIONS(55), + [anon_sym_for] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(85)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(223), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(203), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(85), + [sym_block_comment] = STATE(85), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(86)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(336), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(148), + [sym_match_expression] = STATE(148), + [sym_while_expression] = STATE(148), + [sym_loop_expression] = STATE(148), + [sym_for_expression] = STATE(148), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(148), + [sym_block] = STATE(148), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(86), + [sym_block_comment] = STATE(86), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(545), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_match] = ACTIONS(51), + [anon_sym_while] = ACTIONS(53), + [anon_sym_loop] = ACTIONS(55), + [anon_sym_for] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(87)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(337), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(147), + [sym_match_expression] = STATE(147), + [sym_while_expression] = STATE(147), + [sym_loop_expression] = STATE(147), + [sym_for_expression] = STATE(147), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(147), + [sym_block] = STATE(147), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(87), + [sym_block_comment] = STATE(87), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(545), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_match] = ACTIONS(51), + [anon_sym_while] = ACTIONS(53), + [anon_sym_loop] = ACTIONS(55), + [anon_sym_for] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(88)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(211), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(88), + [sym_block_comment] = STATE(88), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(89)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(291), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(89), + [sym_block_comment] = STATE(89), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(440), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(90)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(322), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(148), + [sym_match_expression] = STATE(148), + [sym_while_expression] = STATE(148), + [sym_loop_expression] = STATE(148), + [sym_for_expression] = STATE(148), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(148), + [sym_block] = STATE(148), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(90), + [sym_block_comment] = STATE(90), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(21), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(545), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(49), + [anon_sym_match] = ACTIONS(51), + [anon_sym_while] = ACTIONS(53), + [anon_sym_loop] = ACTIONS(55), + [anon_sym_for] = ACTIONS(57), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(91)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(289), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(190), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(91), + [sym_block_comment] = STATE(91), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(92)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(290), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(203), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(92), + [sym_block_comment] = STATE(92), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(93)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(294), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(93), + [sym_block_comment] = STATE(93), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(94)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(158), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(94), + [sym_block_comment] = STATE(94), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(95)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(332), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(95), + [sym_block_comment] = STATE(95), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(96)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(225), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(96), + [sym_block_comment] = STATE(96), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(97)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(296), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(97), + [sym_block_comment] = STATE(97), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(98)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(297), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(98), + [sym_block_comment] = STATE(98), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(99)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(298), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(99), + [sym_block_comment] = STATE(99), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(100)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(299), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(100), + [sym_block_comment] = STATE(100), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(101)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(300), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(101), + [sym_block_comment] = STATE(101), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(102)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(301), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(102), + [sym_block_comment] = STATE(102), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(103)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(302), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(103), + [sym_block_comment] = STATE(103), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(104)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(212), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(104), + [sym_block_comment] = STATE(104), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(105)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(304), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(105), + [sym_block_comment] = STATE(105), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(106)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(215), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(106), + [sym_block_comment] = STATE(106), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(107)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(287), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(107), + [sym_block_comment] = STATE(107), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(108)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(288), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(108), + [sym_block_comment] = STATE(108), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(109)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(329), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(109), + [sym_block_comment] = STATE(109), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(110)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(157), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(110), + [sym_block_comment] = STATE(110), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(111)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(226), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(111), + [sym_block_comment] = STATE(111), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(112)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(217), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(112), + [sym_block_comment] = STATE(112), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(113)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(326), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(113), + [sym_block_comment] = STATE(113), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(440), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(114)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(310), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(190), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(114), + [sym_block_comment] = STATE(114), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(115)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(311), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(203), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(115), + [sym_block_comment] = STATE(115), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(116)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(158), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(116), + [sym_block_comment] = STATE(116), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(117)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(295), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(117), + [sym_block_comment] = STATE(117), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(440), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(118)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(325), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(118), + [sym_block_comment] = STATE(118), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(119)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(295), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(119), + [sym_block_comment] = STATE(119), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(120)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(157), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(120), + [sym_block_comment] = STATE(120), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(539), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(121)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(218), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(121), + [sym_block_comment] = STATE(121), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(122)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(327), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(122), + [sym_block_comment] = STATE(122), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(123)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(208), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(123), + [sym_block_comment] = STATE(123), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(124)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(216), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(190), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(124), + [sym_block_comment] = STATE(124), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(125)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(338), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(125), + [sym_block_comment] = STATE(125), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(126)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(225), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(126), + [sym_block_comment] = STATE(126), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(127)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(339), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(127), + [sym_block_comment] = STATE(127), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(128)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(345), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(128), + [sym_block_comment] = STATE(128), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(440), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(129)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(219), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(129), + [sym_block_comment] = STATE(129), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(130)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(220), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(130), + [sym_block_comment] = STATE(130), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(131)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(292), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(131), + [sym_block_comment] = STATE(131), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(132)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(293), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(132), + [sym_block_comment] = STATE(132), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(133)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(286), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(133), + [sym_block_comment] = STATE(133), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(440), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(134)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(221), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(134), + [sym_block_comment] = STATE(134), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(537), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(135)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(340), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(135), + [sym_block_comment] = STATE(135), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(136)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(321), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(271), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(91), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(136), + [sym_block_comment] = STATE(136), + [sym_identifier] = ACTIONS(121), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(436), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(125), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(440), + [anon_sym_DASH] = ACTIONS(436), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(127), + [anon_sym_yield] = ACTIONS(129), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(131), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, + [STATE(137)] = { + [sym__expression_except_range] = STATE(156), + [sym__expression] = STATE(328), + [sym_macro_invocation] = STATE(201), + [sym_scoped_identifier] = STATE(150), + [sym_range_expression] = STATE(185), + [sym_unary_expression] = STATE(186), + [sym_binary_expression] = STATE(186), + [sym_assignment_expression] = STATE(186), + [sym_compound_assignment_expr] = STATE(186), + [sym_return_expression] = STATE(186), + [sym_yield_expression] = STATE(186), + [sym_call_expression] = STATE(186), + [sym_array_expression] = STATE(186), + [sym_parenthesized_expression] = STATE(186), + [sym_tuple_expression] = STATE(186), + [sym_struct_expression] = STATE(186), + [sym_if_expression] = STATE(186), + [sym_match_expression] = STATE(186), + [sym_while_expression] = STATE(186), + [sym_loop_expression] = STATE(186), + [sym_for_expression] = STATE(186), + [sym_closure_expression] = STATE(186), + [sym_closure_parameters] = STATE(124), + [sym_break_expression] = STATE(186), + [sym_continue_expression] = STATE(186), + [sym_index_expression] = STATE(186), + [sym_await_expression] = STATE(186), + [sym_field_expression] = STATE(186), + [sym_async_block] = STATE(186), + [sym_block] = STATE(186), + [sym__literal] = STATE(186), + [sym_string_literal] = STATE(184), + [sym_boolean_literal] = STATE(184), + [sym_line_comment] = STATE(137), + [sym_block_comment] = STATE(137), + [sym_identifier] = ACTIONS(79), + [anon_sym_LBRACK] = ACTIONS(15), + [anon_sym_BANG] = ACTIONS(17), + [anon_sym_LBRACE] = ACTIONS(87), + [anon_sym_LPAREN] = ACTIONS(27), + [anon_sym_async] = ACTIONS(89), + [anon_sym_COLON_COLON] = ACTIONS(37), + [anon_sym_DOT_DOT] = ACTIONS(41), + [anon_sym_DASH] = ACTIONS(17), + [anon_sym_PIPE] = ACTIONS(43), + [anon_sym_return] = ACTIONS(45), + [anon_sym_yield] = ACTIONS(47), + [anon_sym_if] = ACTIONS(91), + [anon_sym_match] = ACTIONS(93), + [anon_sym_while] = ACTIONS(95), + [anon_sym_loop] = ACTIONS(97), + [anon_sym_for] = ACTIONS(99), + [anon_sym_break] = ACTIONS(59), + [anon_sym_continue] = ACTIONS(61), + [sym_integer_literal] = ACTIONS(63), + [anon_sym_DQUOTE] = ACTIONS(65), + [aux_sym_string_literal_token1] = ACTIONS(65), + [sym_char_literal] = ACTIONS(63), + [anon_sym_true] = ACTIONS(67), + [anon_sym_false] = ACTIONS(67), + [anon_sym_SLASH_SLASH] = ACTIONS(69), + [anon_sym_SLASH_STAR] = ACTIONS(71), + [sym_self] = ACTIONS(73), + [sym_super] = ACTIONS(75), + [sym_crate] = ACTIONS(75), + [sym_float_literal] = ACTIONS(63), + }, +}; + +static const uint16_t ts_small_parse_table[] = { + [0] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(138), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(266), 28, + anon_sym_EQ, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_STAR, + anon_sym_pub, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_else, + anon_sym_DOT, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(264), 29, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [72] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(139), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(262), 28, + anon_sym_EQ, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_STAR, + anon_sym_pub, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_else, + anon_sym_DOT, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(260), 29, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [144] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(140), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(258), 28, + anon_sym_EQ, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_STAR, + anon_sym_pub, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_else, + anon_sym_DOT, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(256), 29, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [216] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(141), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(318), 27, + anon_sym_EQ, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_STAR, + anon_sym_pub, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(316), 29, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [287] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(142), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(342), 27, + anon_sym_EQ, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_STAR, + anon_sym_pub, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(340), 29, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [358] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(143), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(338), 27, + anon_sym_EQ, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_STAR, + anon_sym_pub, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(336), 29, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [429] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(144), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(330), 27, + anon_sym_EQ, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_STAR, + anon_sym_pub, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(328), 29, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [500] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(145), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(334), 27, + anon_sym_EQ, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_STAR, + anon_sym_pub, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(332), 29, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [571] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(146), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(322), 27, + anon_sym_EQ, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_STAR, + anon_sym_pub, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(320), 29, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [642] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(147), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(547), 10, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + anon_sym__, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(549), 10, + sym_float_literal, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_EQ, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(314), 12, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 19, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT_DOT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [712] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(148), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(551), 10, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + anon_sym__, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(553), 10, + sym_float_literal, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_EQ, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(314), 12, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_AMP, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 19, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT_DOT, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [782] = 9, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(555), 1, + anon_sym_BANG, + ACTIONS(557), 1, + anon_sym_LBRACE, + ACTIONS(559), 1, + anon_sym_COLON_COLON, + STATE(177), 1, + sym_field_initializer_list, + STATE(149), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(314), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 26, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [850] = 9, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(555), 1, + anon_sym_BANG, + ACTIONS(557), 1, + anon_sym_LBRACE, + ACTIONS(559), 1, + anon_sym_COLON_COLON, + STATE(189), 1, + sym_field_initializer_list, + STATE(150), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(314), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 26, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [918] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(151), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(563), 16, + anon_sym_BANG, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(561), 29, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_as, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [978] = 12, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(462), 1, + sym__pattern, + STATE(152), 2, + sym_line_comment, + sym_block_comment, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + ACTIONS(567), 12, + sym_float_literal, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(565), 17, + anon_sym_async, + anon_sym_DOT_DOT, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [1052] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(153), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(575), 16, + anon_sym_BANG, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(573), 29, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_as, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1112] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(577), 1, + anon_sym_else, + STATE(195), 1, + sym_else_clause, + STATE(154), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(252), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(250), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1175] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(559), 1, + anon_sym_COLON_COLON, + STATE(155), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(314), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1235] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(583), 1, + anon_sym_LPAREN, + STATE(179), 1, + sym_arguments, + STATE(156), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(581), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(579), 26, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1297] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + STATE(157), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(589), 14, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(585), 26, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1358] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + STATE(158), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(595), 14, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(593), 26, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1419] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(159), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(599), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(597), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1476] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(160), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(603), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(601), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1533] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(161), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(607), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(605), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1590] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(162), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(609), 19, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(611), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [1647] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(163), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(615), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(613), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1704] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(164), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(619), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(617), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1761] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(165), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(623), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(621), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1818] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(166), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(627), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(625), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1875] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(167), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(631), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(629), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1932] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(168), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(635), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(633), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [1989] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(169), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(639), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(637), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2046] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(170), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(643), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(641), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2103] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(171), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(647), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(645), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2160] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(172), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(651), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(649), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2217] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(173), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(655), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(653), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2274] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(174), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(659), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(657), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2331] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(175), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(663), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(661), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2388] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(176), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(667), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(665), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2445] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(177), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(671), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(669), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2502] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(178), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(675), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(673), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2559] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(179), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(679), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(677), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2616] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(180), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(683), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(681), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2673] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(181), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(687), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(685), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2730] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(182), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(691), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(689), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2787] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(183), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(695), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(693), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2844] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(184), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(699), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(697), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2901] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(185), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(581), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(579), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [2958] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(186), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(314), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3015] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(187), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(298), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(296), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3072] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(188), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(302), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(300), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3129] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(189), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(703), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(701), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3186] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(190), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(314), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3243] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(191), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(707), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(705), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3300] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(192), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(711), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(709), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3357] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(193), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(270), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(268), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3414] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(194), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(274), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(272), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3471] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(195), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(278), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(276), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3528] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(196), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(282), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(280), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3585] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(197), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(286), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(284), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3642] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(198), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(290), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(288), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3699] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(199), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(294), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(292), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3756] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(200), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(306), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(304), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3813] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(201), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(314), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3870] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(202), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(715), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(713), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3927] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(203), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(314), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 27, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [3984] = 29, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(719), 1, + anon_sym_POUND, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(723), 1, + anon_sym_RBRACE, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(224), 1, + aux_sym_match_block_repeat1, + STATE(273), 1, + aux_sym_match_arm_repeat1, + STATE(381), 1, + sym_match_arm, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(641), 1, + sym__pattern, + STATE(739), 1, + sym_last_match_arm, + STATE(773), 1, + sym_match_pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(204), 2, + sym_line_comment, + sym_block_comment, + STATE(380), 2, + sym_attribute_item, + sym_inner_attribute_item, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [4089] = 29, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(719), 1, + anon_sym_POUND, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + ACTIONS(743), 1, + anon_sym_RBRACE, + STATE(213), 1, + aux_sym_match_block_repeat1, + STATE(273), 1, + aux_sym_match_arm_repeat1, + STATE(381), 1, + sym_match_arm, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(641), 1, + sym__pattern, + STATE(772), 1, + sym_last_match_arm, + STATE(773), 1, + sym_match_pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(205), 2, + sym_line_comment, + sym_block_comment, + STATE(380), 2, + sym_attribute_item, + sym_inner_attribute_item, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [4194] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(747), 1, + anon_sym_EQ, + ACTIONS(751), 1, + anon_sym_DOT_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(753), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(206), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(745), 17, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [4278] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(751), 1, + anon_sym_DOT_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(775), 1, + anon_sym_EQ, + ACTIONS(753), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(207), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(773), 17, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [4362] = 12, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(208), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(595), 5, + anon_sym_EQ, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + ACTIONS(593), 25, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [4432] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(751), 1, + anon_sym_DOT_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(779), 1, + anon_sym_EQ, + ACTIONS(753), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(209), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(777), 17, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [4516] = 9, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(557), 1, + anon_sym_LBRACE, + ACTIONS(559), 1, + anon_sym_COLON_COLON, + ACTIONS(781), 1, + anon_sym_BANG, + STATE(177), 1, + sym_field_initializer_list, + STATE(210), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(314), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 22, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [4580] = 11, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(211), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(595), 6, + anon_sym_EQ, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + ACTIONS(593), 25, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [4648] = 13, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(212), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(595), 4, + anon_sym_EQ, + anon_sym_DOT_DOT, + anon_sym_LT, + anon_sym_GT, + ACTIONS(593), 25, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [4720] = 28, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(719), 1, + anon_sym_POUND, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(269), 1, + aux_sym_match_block_repeat1, + STATE(273), 1, + aux_sym_match_arm_repeat1, + STATE(381), 1, + sym_match_arm, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(641), 1, + sym__pattern, + STATE(773), 1, + sym_match_pattern, + STATE(787), 1, + sym_last_match_arm, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(213), 2, + sym_line_comment, + sym_block_comment, + STATE(380), 2, + sym_attribute_item, + sym_inner_attribute_item, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [4822] = 9, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(557), 1, + anon_sym_LBRACE, + ACTIONS(559), 1, + anon_sym_COLON_COLON, + ACTIONS(781), 1, + anon_sym_BANG, + STATE(189), 1, + sym_field_initializer_list, + STATE(214), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(314), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 22, + anon_sym_SEMI, + anon_sym_LBRACK, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [4886] = 9, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(215), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(595), 9, + anon_sym_EQ, + anon_sym_DOT_DOT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(593), 25, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [4950] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(751), 1, + anon_sym_DOT_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(753), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(216), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(783), 7, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_EQ_GT, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [5036] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(751), 1, + anon_sym_DOT_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(791), 1, + anon_sym_EQ, + ACTIONS(753), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(217), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(789), 17, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [5120] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(751), 1, + anon_sym_DOT_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(795), 1, + anon_sym_EQ, + ACTIONS(753), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(218), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(793), 17, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [5204] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + STATE(219), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(595), 11, + anon_sym_EQ, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + ACTIONS(593), 25, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [5266] = 15, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(595), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(220), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(593), 21, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [5342] = 16, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(595), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(221), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(593), 20, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PIPE_PIPE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [5420] = 17, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(119), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(222), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(117), 19, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [5500] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(751), 1, + anon_sym_DOT_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(753), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(223), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(797), 7, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_EQ_GT, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [5586] = 28, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(719), 1, + anon_sym_POUND, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(269), 1, + aux_sym_match_block_repeat1, + STATE(273), 1, + aux_sym_match_arm_repeat1, + STATE(381), 1, + sym_match_arm, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(641), 1, + sym__pattern, + STATE(751), 1, + sym_last_match_arm, + STATE(773), 1, + sym_match_pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(224), 2, + sym_line_comment, + sym_block_comment, + STATE(380), 2, + sym_attribute_item, + sym_inner_attribute_item, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [5688] = 17, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(801), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + STATE(225), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(799), 19, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [5768] = 10, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(226), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(595), 7, + anon_sym_EQ, + anon_sym_DOT_DOT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + ACTIONS(593), 25, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + anon_sym_EQ_GT, + [5834] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(227), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(803), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(805), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [5889] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(228), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(807), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(809), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [5944] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(229), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(811), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(813), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [5999] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(230), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(815), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(817), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6054] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(231), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(819), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(821), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6109] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(232), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(823), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(825), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6164] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(233), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(827), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(829), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6219] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(234), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(831), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(833), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6274] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(235), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(308), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(310), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6329] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(236), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(835), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(837), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6384] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(237), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(839), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(841), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6439] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(238), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(843), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(845), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6494] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(239), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(847), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(849), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6549] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(240), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(851), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(853), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6604] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(241), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(855), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(857), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6659] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(242), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(859), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(861), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6714] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(243), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(863), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(865), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6769] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(244), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(867), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(869), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6824] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(245), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(871), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(873), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6879] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(246), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(875), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(877), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6934] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(247), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(879), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(881), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [6989] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(248), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(883), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(885), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7044] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(249), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(887), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(889), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7099] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(250), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(891), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(893), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7154] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(251), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(895), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(897), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7209] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(252), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(899), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(901), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7264] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(253), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(903), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(905), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7319] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(254), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(907), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(909), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7374] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(255), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(911), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(913), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7429] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(256), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(915), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(917), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7484] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(257), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(919), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(921), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7539] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(258), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(923), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(925), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7594] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(259), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(264), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(266), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7649] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(260), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(927), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(929), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7704] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(261), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(256), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(258), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7759] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(262), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(260), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(262), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7814] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(263), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(931), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(933), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7869] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(264), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(935), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(937), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7924] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(265), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(939), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(941), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [7979] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(266), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(943), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(945), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [8034] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(267), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(947), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(949), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [8089] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(268), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(951), 17, + sym_float_literal, + ts_builtin_sym_end, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(953), 23, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [8144] = 26, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(955), 1, + sym_identifier, + ACTIONS(958), 1, + anon_sym_POUND, + ACTIONS(961), 1, + anon_sym_LBRACK, + ACTIONS(964), 1, + anon_sym_LPAREN, + ACTIONS(967), 1, + anon_sym_COLON_COLON, + ACTIONS(970), 1, + anon_sym_DOT_DOT, + ACTIONS(973), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(976), 1, + anon_sym_DASH, + ACTIONS(979), 1, + anon_sym_PIPE, + ACTIONS(982), 1, + anon_sym__, + STATE(272), 1, + aux_sym_match_arm_repeat1, + STATE(381), 1, + sym_match_arm, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(641), 1, + sym__pattern, + STATE(737), 1, + sym_match_pattern, + ACTIONS(988), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(991), 2, + anon_sym_true, + anon_sym_false, + STATE(380), 2, + sym_attribute_item, + sym_inner_attribute_item, + ACTIONS(985), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(994), 3, + sym_self, + sym_super, + sym_crate, + STATE(269), 3, + sym_line_comment, + sym_block_comment, + aux_sym_match_block_repeat1, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [8241] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(555), 1, + anon_sym_BANG, + ACTIONS(559), 1, + anon_sym_COLON_COLON, + STATE(177), 1, + sym_field_initializer_list, + STATE(270), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(314), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 21, + anon_sym_LBRACK, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [8301] = 9, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(555), 1, + anon_sym_BANG, + ACTIONS(559), 1, + anon_sym_COLON_COLON, + ACTIONS(997), 1, + anon_sym_LBRACE, + STATE(189), 1, + sym_field_initializer_list, + STATE(271), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(314), 15, + anon_sym_EQ, + anon_sym_STAR, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_DOT, + ACTIONS(312), 20, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [8363] = 25, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(719), 1, + anon_sym_POUND, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(375), 1, + aux_sym_match_arm_repeat1, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(641), 1, + sym__pattern, + STATE(790), 1, + sym_match_pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(272), 2, + sym_line_comment, + sym_block_comment, + STATE(380), 2, + sym_attribute_item, + sym_inner_attribute_item, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [8456] = 25, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(719), 1, + anon_sym_POUND, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(375), 1, + aux_sym_match_arm_repeat1, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(641), 1, + sym__pattern, + STATE(792), 1, + sym_match_pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(273), 2, + sym_line_comment, + sym_block_comment, + STATE(380), 2, + sym_attribute_item, + sym_inner_attribute_item, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [8549] = 23, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(346), 1, + anon_sym_RBRACK, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1000), 1, + anon_sym_SEMI, + ACTIONS(1002), 1, + anon_sym_COMMA, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + STATE(644), 1, + aux_sym_arguments_repeat1, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(274), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [8638] = 26, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(1008), 1, + anon_sym_COMMA, + ACTIONS(1010), 1, + anon_sym_RPAREN, + ACTIONS(1012), 1, + anon_sym_async, + ACTIONS(1014), 1, + anon_sym_PIPE, + STATE(114), 1, + sym_closure_parameters, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(548), 1, + sym__pattern, + STATE(578), 1, + sym_closure_expression, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(275), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [8733] = 23, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(448), 1, + anon_sym_RBRACK, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1016), 1, + anon_sym_SEMI, + ACTIONS(1018), 1, + anon_sym_COMMA, + STATE(576), 1, + aux_sym_arguments_repeat1, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(276), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [8822] = 25, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(1012), 1, + anon_sym_async, + ACTIONS(1014), 1, + anon_sym_PIPE, + ACTIONS(1020), 1, + anon_sym_RPAREN, + STATE(114), 1, + sym_closure_parameters, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(577), 1, + sym__pattern, + STATE(680), 1, + sym_closure_expression, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(277), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [8914] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(278), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1022), 3, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [8996] = 22, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(444), 1, + anon_sym_RPAREN, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1024), 1, + anon_sym_COMMA, + STATE(592), 1, + aux_sym_arguments_repeat1, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(279), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [9082] = 25, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(1012), 1, + anon_sym_async, + ACTIONS(1014), 1, + anon_sym_PIPE, + ACTIONS(1026), 1, + anon_sym_RPAREN, + STATE(114), 1, + sym_closure_parameters, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(577), 1, + sym__pattern, + STATE(680), 1, + sym_closure_expression, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(280), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [9174] = 22, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1028), 1, + anon_sym_COMMA, + ACTIONS(1030), 1, + anon_sym_RPAREN, + STATE(564), 1, + aux_sym_arguments_repeat1, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(281), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [9260] = 22, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(446), 1, + anon_sym_RBRACK, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1032), 1, + anon_sym_COMMA, + STATE(566), 1, + aux_sym_arguments_repeat1, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(282), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [9346] = 22, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1034), 1, + anon_sym_COMMA, + ACTIONS(1036), 1, + anon_sym_RPAREN, + STATE(626), 1, + aux_sym_arguments_repeat1, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(283), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [9432] = 22, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(460), 1, + anon_sym_RPAREN, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1038), 1, + anon_sym_COMMA, + STATE(633), 1, + aux_sym_arguments_repeat1, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(284), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [9518] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(285), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1040), 3, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [9600] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1042), 1, + anon_sym_EQ, + ACTIONS(1044), 1, + anon_sym_LBRACE, + ACTIONS(1048), 1, + anon_sym_DOT_DOT, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + STATE(193), 1, + sym_match_block, + ACTIONS(1050), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(286), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1070), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [9683] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1072), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(287), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [9764] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1074), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(288), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [9845] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1042), 1, + anon_sym_EQ, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1076), 1, + anon_sym_DOT_DOT, + ACTIONS(783), 2, + anon_sym_LBRACE, + anon_sym_LPAREN, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1078), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(289), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1070), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [9926] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1042), 1, + anon_sym_EQ, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1076), 1, + anon_sym_DOT_DOT, + ACTIONS(797), 2, + anon_sym_LBRACE, + anon_sym_LPAREN, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1078), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(290), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1070), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10007] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1042), 1, + anon_sym_EQ, + ACTIONS(1048), 1, + anon_sym_DOT_DOT, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1080), 1, + anon_sym_LBRACE, + STATE(29), 1, + sym_match_block, + ACTIONS(1050), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(291), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1070), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10090] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1082), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(292), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10171] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1084), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(293), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10252] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(791), 1, + anon_sym_EQ, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1076), 1, + anon_sym_DOT_DOT, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1078), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(294), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(789), 12, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10331] = 17, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(801), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(295), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(799), 14, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10406] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + STATE(296), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(595), 11, + anon_sym_EQ, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + ACTIONS(593), 20, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10463] = 15, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(595), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(297), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(593), 16, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10534] = 16, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(595), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(298), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(593), 15, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PIPE_PIPE, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10607] = 10, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(299), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(595), 7, + anon_sym_EQ, + anon_sym_DOT_DOT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + ACTIONS(593), 20, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10668] = 12, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(300), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(595), 5, + anon_sym_EQ, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + ACTIONS(593), 20, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10733] = 11, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(301), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(595), 6, + anon_sym_EQ, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + ACTIONS(593), 20, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10796] = 13, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(302), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(595), 4, + anon_sym_EQ, + anon_sym_DOT_DOT, + anon_sym_LT, + anon_sym_GT, + ACTIONS(593), 20, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10863] = 9, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + STATE(303), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(595), 9, + anon_sym_EQ, + anon_sym_DOT_DOT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_CARET, + anon_sym_LT, + anon_sym_GT, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(593), 20, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [10922] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(795), 1, + anon_sym_EQ, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1076), 1, + anon_sym_DOT_DOT, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1078), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(304), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(793), 12, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11001] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1086), 1, + anon_sym_SEMI, + ACTIONS(1088), 1, + anon_sym_RBRACE, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(305), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11084] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(242), 1, + anon_sym_RBRACE, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1086), 1, + anon_sym_SEMI, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(306), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11167] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1090), 1, + anon_sym_RBRACE, + ACTIONS(1092), 1, + anon_sym_COMMA, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(307), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11250] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1094), 1, + anon_sym_COMMA, + ACTIONS(1096), 1, + anon_sym_RPAREN, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(308), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11333] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(464), 1, + anon_sym_RPAREN, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1098), 1, + anon_sym_COMMA, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(309), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11416] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(783), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(310), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11497] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(797), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(311), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11578] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(543), 1, + anon_sym_RPAREN, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1098), 1, + anon_sym_COMMA, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(312), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11661] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(135), 1, + anon_sym_RBRACE, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1086), 1, + anon_sym_SEMI, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(313), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11744] = 17, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(119), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(314), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(117), 14, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11819] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(747), 1, + anon_sym_EQ, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1076), 1, + anon_sym_DOT_DOT, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1078), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(315), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(745), 12, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11898] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(775), 1, + anon_sym_EQ, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1076), 1, + anon_sym_DOT_DOT, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1078), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(316), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(773), 12, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [11977] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1098), 1, + anon_sym_COMMA, + ACTIONS(1100), 1, + anon_sym_RPAREN, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(317), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [12060] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(779), 1, + anon_sym_EQ, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1076), 1, + anon_sym_DOT_DOT, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1078), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(318), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(777), 12, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [12139] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1086), 1, + anon_sym_SEMI, + ACTIONS(1102), 1, + anon_sym_RBRACE, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(319), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [12222] = 24, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(1012), 1, + anon_sym_async, + ACTIONS(1014), 1, + anon_sym_PIPE, + STATE(114), 1, + sym_closure_parameters, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(577), 1, + sym__pattern, + STATE(680), 1, + sym_closure_expression, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(320), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [12311] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(87), 1, + anon_sym_LBRACE, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1042), 1, + anon_sym_EQ, + ACTIONS(1048), 1, + anon_sym_DOT_DOT, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + STATE(199), 1, + sym_block, + ACTIONS(1050), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(321), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1070), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [12394] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1104), 1, + anon_sym_RBRACE, + ACTIONS(1106), 1, + anon_sym_COMMA, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(322), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [12477] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(248), 1, + anon_sym_RBRACE, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1086), 1, + anon_sym_SEMI, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(323), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [12560] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1086), 1, + anon_sym_SEMI, + ACTIONS(1108), 1, + anon_sym_RBRACE, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(324), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [12643] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1110), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(325), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [12724] = 21, + ACTIONS(21), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1042), 1, + anon_sym_EQ, + ACTIONS(1048), 1, + anon_sym_DOT_DOT, + ACTIONS(1054), 1, + anon_sym_AMP_AMP, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + STATE(35), 1, + sym_block, + ACTIONS(1050), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(326), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1070), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [12807] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1112), 1, + anon_sym_RBRACK, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(327), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [12887] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1114), 1, + anon_sym_RBRACK, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(328), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [12967] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1116), 2, + anon_sym_AMP_AMP, + anon_sym_EQ_GT, + STATE(329), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [13045] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1042), 1, + anon_sym_EQ, + ACTIONS(1048), 1, + anon_sym_DOT_DOT, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1118), 1, + anon_sym_LBRACE, + ACTIONS(1120), 1, + anon_sym_AMP_AMP, + ACTIONS(1050), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + STATE(330), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1070), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [13125] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1098), 1, + anon_sym_COMMA, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(331), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [13205] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1122), 1, + anon_sym_SEMI, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(332), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [13285] = 23, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + ACTIONS(1124), 1, + anon_sym_RBRACK, + ACTIONS(1126), 1, + anon_sym_COMMA, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(549), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(333), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [13371] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1042), 1, + anon_sym_EQ, + ACTIONS(1048), 1, + anon_sym_DOT_DOT, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1050), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1128), 2, + anon_sym_LBRACE, + anon_sym_AMP_AMP, + STATE(334), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1070), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [13449] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1118), 1, + anon_sym_EQ_GT, + ACTIONS(1130), 1, + anon_sym_AMP_AMP, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(335), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [13529] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1132), 1, + anon_sym_COMMA, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(336), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [13609] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1134), 1, + anon_sym_COMMA, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(337), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [13689] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1136), 1, + anon_sym_RBRACK, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(338), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [13769] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1138), 1, + anon_sym_RBRACK, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(339), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [13849] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1140), 1, + anon_sym_SEMI, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(340), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [13929] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1086), 1, + anon_sym_SEMI, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(341), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [14009] = 23, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + ACTIONS(1142), 1, + anon_sym_COMMA, + ACTIONS(1144), 1, + anon_sym_RPAREN, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(544), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(342), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [14095] = 20, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(757), 1, + anon_sym_AMP_AMP, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(1146), 1, + anon_sym_COMMA, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(343), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [14175] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(759), 1, + anon_sym_PIPE_PIPE, + ACTIONS(761), 1, + anon_sym_AMP, + ACTIONS(763), 1, + anon_sym_PIPE, + ACTIONS(765), 1, + anon_sym_CARET, + ACTIONS(785), 1, + anon_sym_EQ, + ACTIONS(1004), 1, + anon_sym_DOT_DOT, + ACTIONS(755), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(769), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(771), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1006), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1128), 2, + anon_sym_AMP_AMP, + anon_sym_EQ_GT, + STATE(344), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(749), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(767), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(787), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [14253] = 19, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(587), 1, + anon_sym_LBRACK, + ACTIONS(591), 1, + anon_sym_DOT, + ACTIONS(1042), 1, + anon_sym_EQ, + ACTIONS(1048), 1, + anon_sym_DOT_DOT, + ACTIONS(1056), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1058), 1, + anon_sym_AMP, + ACTIONS(1060), 1, + anon_sym_PIPE, + ACTIONS(1062), 1, + anon_sym_CARET, + ACTIONS(1050), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + ACTIONS(1052), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(1066), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1068), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1116), 2, + anon_sym_LBRACE, + anon_sym_AMP_AMP, + STATE(345), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1046), 3, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + ACTIONS(1064), 4, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1070), 10, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + anon_sym_LT_LT_EQ, + anon_sym_GT_GT_EQ, + [14331] = 22, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + ACTIONS(1148), 1, + anon_sym_RBRACK, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(552), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(346), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [14414] = 22, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + ACTIONS(1150), 1, + anon_sym_RBRACK, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(552), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(347), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [14497] = 22, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + ACTIONS(1152), 1, + anon_sym_RPAREN, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(552), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(348), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [14580] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(353), 1, + anon_sym_POUND, + STATE(363), 1, + sym_attribute_item, + STATE(349), 3, + sym_line_comment, + sym_block_comment, + aux_sym_enum_variant_list_repeat1, + ACTIONS(359), 15, + sym_float_literal, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(1154), 16, + anon_sym_async, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [14633] = 22, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + ACTIONS(1156), 1, + anon_sym_RPAREN, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(552), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(350), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [14716] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(682), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(351), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [14796] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(452), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(352), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [14876] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(614), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(353), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [14956] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(684), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(354), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [15036] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(683), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(355), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [15116] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(613), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(356), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [15196] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(462), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(357), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [15276] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(552), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(358), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [15356] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(1158), 1, + sym_identifier, + ACTIONS(1160), 1, + anon_sym_PIPE, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(462), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(359), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [15436] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(707), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(360), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [15516] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(472), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(361), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [15596] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(569), 1, + anon_sym_DOT_DOT_EQ, + ACTIONS(571), 1, + anon_sym__, + ACTIONS(717), 1, + sym_identifier, + ACTIONS(721), 1, + anon_sym_LBRACK, + ACTIONS(725), 1, + anon_sym_LPAREN, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(729), 1, + anon_sym_DOT_DOT, + ACTIONS(731), 1, + anon_sym_DASH, + ACTIONS(733), 1, + anon_sym_PIPE, + STATE(415), 1, + sym_scoped_identifier, + STATE(431), 1, + sym__literal_pattern, + STATE(589), 1, + sym__pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(362), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(741), 3, + sym_self, + sym_super, + sym_crate, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + STATE(451), 8, + sym_tuple_pattern, + sym_slice_pattern, + sym_tuple_struct_pattern, + sym_struct_pattern, + sym_remaining_field_pattern, + sym_range_pattern, + sym_captured_pattern, + sym_or_pattern, + [15676] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(363), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1162), 16, + anon_sym_async, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(1164), 16, + sym_float_literal, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + [15723] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(364), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(481), 14, + sym_float_literal, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(1166), 16, + anon_sym_async, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [15768] = 22, + ACTIONS(37), 1, + anon_sym_COLON_COLON, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(77), 1, + sym_crate, + ACTIONS(1168), 1, + sym_identifier, + ACTIONS(1170), 1, + anon_sym_SEMI, + ACTIONS(1172), 1, + anon_sym_POUND, + ACTIONS(1174), 1, + anon_sym_mod, + ACTIONS(1176), 1, + anon_sym_RBRACE, + ACTIONS(1178), 1, + anon_sym_struct, + ACTIONS(1180), 1, + anon_sym_enum, + ACTIONS(1182), 1, + anon_sym_async, + ACTIONS(1184), 1, + anon_sym_fn, + ACTIONS(1186), 1, + anon_sym_let, + ACTIONS(1188), 1, + anon_sym_use, + STATE(369), 1, + aux_sym_declaration_list_repeat1, + STATE(502), 1, + sym_visibility_modifier, + STATE(686), 1, + sym_scoped_identifier, + ACTIONS(75), 2, + sym_self, + sym_super, + STATE(365), 2, + sym_line_comment, + sym_block_comment, + STATE(420), 10, + sym_empty_statement, + sym_attribute_item, + sym_inner_attribute_item, + sym_mod_item, + sym_struct_item, + sym_enum_item, + sym_function_item, + sym_let_declaration, + sym_use_declaration, + sym_macro_invocation, + [15846] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(366), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1192), 13, + sym_float_literal, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(1190), 16, + anon_sym_async, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [15890] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(367), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(567), 13, + sym_float_literal, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(565), 16, + anon_sym_async, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [15934] = 22, + ACTIONS(37), 1, + anon_sym_COLON_COLON, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(77), 1, + sym_crate, + ACTIONS(1168), 1, + sym_identifier, + ACTIONS(1170), 1, + anon_sym_SEMI, + ACTIONS(1172), 1, + anon_sym_POUND, + ACTIONS(1174), 1, + anon_sym_mod, + ACTIONS(1178), 1, + anon_sym_struct, + ACTIONS(1180), 1, + anon_sym_enum, + ACTIONS(1182), 1, + anon_sym_async, + ACTIONS(1184), 1, + anon_sym_fn, + ACTIONS(1186), 1, + anon_sym_let, + ACTIONS(1188), 1, + anon_sym_use, + ACTIONS(1194), 1, + anon_sym_RBRACE, + STATE(372), 1, + aux_sym_declaration_list_repeat1, + STATE(502), 1, + sym_visibility_modifier, + STATE(686), 1, + sym_scoped_identifier, + ACTIONS(75), 2, + sym_self, + sym_super, + STATE(368), 2, + sym_line_comment, + sym_block_comment, + STATE(420), 10, + sym_empty_statement, + sym_attribute_item, + sym_inner_attribute_item, + sym_mod_item, + sym_struct_item, + sym_enum_item, + sym_function_item, + sym_let_declaration, + sym_use_declaration, + sym_macro_invocation, + [16012] = 22, + ACTIONS(37), 1, + anon_sym_COLON_COLON, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(77), 1, + sym_crate, + ACTIONS(1168), 1, + sym_identifier, + ACTIONS(1170), 1, + anon_sym_SEMI, + ACTIONS(1172), 1, + anon_sym_POUND, + ACTIONS(1174), 1, + anon_sym_mod, + ACTIONS(1178), 1, + anon_sym_struct, + ACTIONS(1180), 1, + anon_sym_enum, + ACTIONS(1182), 1, + anon_sym_async, + ACTIONS(1184), 1, + anon_sym_fn, + ACTIONS(1186), 1, + anon_sym_let, + ACTIONS(1188), 1, + anon_sym_use, + ACTIONS(1196), 1, + anon_sym_RBRACE, + STATE(372), 1, + aux_sym_declaration_list_repeat1, + STATE(502), 1, + sym_visibility_modifier, + STATE(686), 1, + sym_scoped_identifier, + ACTIONS(75), 2, + sym_self, + sym_super, + STATE(369), 2, + sym_line_comment, + sym_block_comment, + STATE(420), 10, + sym_empty_statement, + sym_attribute_item, + sym_inner_attribute_item, + sym_mod_item, + sym_struct_item, + sym_enum_item, + sym_function_item, + sym_let_declaration, + sym_use_declaration, + sym_macro_invocation, + [16090] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(370), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1200), 13, + sym_float_literal, + anon_sym_LBRACK, + anon_sym_BANG, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + ACTIONS(1198), 16, + anon_sym_async, + anon_sym_return, + anon_sym_yield, + anon_sym_if, + anon_sym_match, + anon_sym_while, + anon_sym_loop, + anon_sym_for, + anon_sym_break, + anon_sym_continue, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [16134] = 22, + ACTIONS(37), 1, + anon_sym_COLON_COLON, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(77), 1, + sym_crate, + ACTIONS(1168), 1, + sym_identifier, + ACTIONS(1170), 1, + anon_sym_SEMI, + ACTIONS(1172), 1, + anon_sym_POUND, + ACTIONS(1174), 1, + anon_sym_mod, + ACTIONS(1178), 1, + anon_sym_struct, + ACTIONS(1180), 1, + anon_sym_enum, + ACTIONS(1182), 1, + anon_sym_async, + ACTIONS(1184), 1, + anon_sym_fn, + ACTIONS(1186), 1, + anon_sym_let, + ACTIONS(1188), 1, + anon_sym_use, + ACTIONS(1202), 1, + anon_sym_RBRACE, + STATE(368), 1, + aux_sym_declaration_list_repeat1, + STATE(502), 1, + sym_visibility_modifier, + STATE(686), 1, + sym_scoped_identifier, + ACTIONS(75), 2, + sym_self, + sym_super, + STATE(371), 2, + sym_line_comment, + sym_block_comment, + STATE(420), 10, + sym_empty_statement, + sym_attribute_item, + sym_inner_attribute_item, + sym_mod_item, + sym_struct_item, + sym_enum_item, + sym_function_item, + sym_let_declaration, + sym_use_declaration, + sym_macro_invocation, + [16212] = 21, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1204), 1, + sym_identifier, + ACTIONS(1207), 1, + anon_sym_SEMI, + ACTIONS(1210), 1, + anon_sym_POUND, + ACTIONS(1213), 1, + anon_sym_mod, + ACTIONS(1216), 1, + anon_sym_RBRACE, + ACTIONS(1218), 1, + anon_sym_struct, + ACTIONS(1221), 1, + anon_sym_enum, + ACTIONS(1224), 1, + anon_sym_async, + ACTIONS(1227), 1, + anon_sym_fn, + ACTIONS(1230), 1, + anon_sym_let, + ACTIONS(1233), 1, + anon_sym_use, + ACTIONS(1236), 1, + anon_sym_COLON_COLON, + ACTIONS(1239), 1, + anon_sym_pub, + ACTIONS(1245), 1, + sym_crate, + STATE(502), 1, + sym_visibility_modifier, + STATE(686), 1, + sym_scoped_identifier, + ACTIONS(1242), 2, + sym_self, + sym_super, + STATE(372), 3, + sym_line_comment, + sym_block_comment, + aux_sym_declaration_list_repeat1, + STATE(420), 10, + sym_empty_statement, + sym_attribute_item, + sym_inner_attribute_item, + sym_mod_item, + sym_struct_item, + sym_enum_item, + sym_function_item, + sym_let_declaration, + sym_use_declaration, + sym_macro_invocation, + [16288] = 14, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(731), 1, + anon_sym_DASH, + STATE(444), 1, + sym_scoped_identifier, + STATE(455), 1, + sym__literal_pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(373), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(1252), 3, + anon_sym_EQ, + anon_sym_in, + anon_sym_if, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + ACTIONS(1248), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(1250), 7, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_EQ_GT, + [16349] = 14, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(731), 1, + anon_sym_DASH, + STATE(445), 1, + sym_scoped_identifier, + STATE(446), 1, + sym__literal_pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(374), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + ACTIONS(1258), 3, + anon_sym_EQ, + anon_sym_in, + anon_sym_if, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + ACTIONS(1254), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(1256), 7, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_EQ_GT, + [16410] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1262), 1, + anon_sym_POUND, + STATE(380), 2, + sym_attribute_item, + sym_inner_attribute_item, + STATE(375), 3, + sym_line_comment, + sym_block_comment, + aux_sym_match_arm_repeat1, + ACTIONS(1260), 8, + anon_sym_DOT_DOT, + anon_sym__, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(1265), 11, + sym_float_literal, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_EQ, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + [16452] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1271), 1, + anon_sym_RBRACE, + STATE(376), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1267), 8, + anon_sym_DOT_DOT, + anon_sym__, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(1269), 12, + sym_float_literal, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_EQ, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + [16490] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1277), 1, + anon_sym_RBRACE, + STATE(377), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1273), 8, + anon_sym_DOT_DOT, + anon_sym__, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(1275), 12, + sym_float_literal, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_EQ, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + [16528] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(378), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1273), 8, + anon_sym_DOT_DOT, + anon_sym__, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(1275), 12, + sym_float_literal, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_EQ, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + [16563] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(379), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1267), 8, + anon_sym_DOT_DOT, + anon_sym__, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(1269), 12, + sym_float_literal, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_EQ, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + [16598] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(380), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1279), 8, + anon_sym_DOT_DOT, + anon_sym__, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(1281), 12, + sym_float_literal, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_EQ, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + [16633] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(381), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1283), 8, + anon_sym_DOT_DOT, + anon_sym__, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(1285), 12, + sym_float_literal, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_EQ, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + [16668] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(382), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(611), 8, + anon_sym_DOT_DOT, + anon_sym__, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(609), 12, + sym_float_literal, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_EQ, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + [16703] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(383), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(901), 8, + anon_sym_DOT_DOT, + anon_sym__, + anon_sym_true, + anon_sym_false, + sym_identifier, + sym_self, + sym_super, + sym_crate, + ACTIONS(899), 12, + sym_float_literal, + anon_sym_POUND, + anon_sym_LBRACK, + anon_sym_LPAREN, + anon_sym_COLON_COLON, + anon_sym_DOT_DOT_EQ, + anon_sym_DASH, + anon_sym_PIPE, + sym_integer_literal, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + sym_char_literal, + [16738] = 12, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(731), 1, + anon_sym_DASH, + STATE(445), 1, + sym_scoped_identifier, + STATE(446), 1, + sym__literal_pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(384), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + ACTIONS(1254), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [16785] = 12, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(727), 1, + anon_sym_COLON_COLON, + ACTIONS(731), 1, + anon_sym_DASH, + STATE(444), 1, + sym_scoped_identifier, + STATE(455), 1, + sym__literal_pattern, + ACTIONS(737), 2, + anon_sym_DQUOTE, + aux_sym_string_literal_token1, + ACTIONS(739), 2, + anon_sym_true, + anon_sym_false, + STATE(385), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(735), 3, + sym_float_literal, + sym_integer_literal, + sym_char_literal, + STATE(437), 3, + sym_negative_literal, + sym_string_literal, + sym_boolean_literal, + ACTIONS(1248), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [16832] = 11, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1289), 1, + anon_sym_EQ, + ACTIONS(1291), 1, + anon_sym_LBRACE, + ACTIONS(1293), 1, + anon_sym_LPAREN, + ACTIONS(1295), 1, + anon_sym_COLON_COLON, + ACTIONS(1297), 1, + anon_sym_DOT_DOT, + ACTIONS(1301), 1, + anon_sym_AT, + ACTIONS(1299), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(386), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1287), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [16876] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(387), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(609), 5, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + sym_integer_literal, + ACTIONS(611), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [16908] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(388), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(895), 5, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON_COLON, + ACTIONS(897), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [16940] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(389), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(927), 5, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON_COLON, + ACTIONS(929), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [16972] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(390), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(935), 5, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON_COLON, + ACTIONS(937), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17004] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(391), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(903), 5, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON_COLON, + ACTIONS(905), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17036] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(392), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(907), 5, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON_COLON, + ACTIONS(909), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17068] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(393), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(819), 5, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON_COLON, + ACTIONS(821), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17100] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(394), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(823), 5, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON_COLON, + ACTIONS(825), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17132] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(395), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(835), 5, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_COLON_COLON, + ACTIONS(837), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17164] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(396), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(919), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(921), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17195] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(397), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(883), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(885), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17226] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(398), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(943), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(945), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17257] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(399), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(931), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(933), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17288] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(400), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(947), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(949), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17319] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(401), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(815), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(817), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17350] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(402), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(847), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(849), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17381] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(403), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(851), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(853), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17412] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(404), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(859), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(861), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17443] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(405), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(867), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(869), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17474] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(406), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(871), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(873), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17505] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(407), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(875), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(877), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17536] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(408), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(899), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(901), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17567] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(409), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(923), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(925), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17598] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(563), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + STATE(410), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(561), 14, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_in, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [17629] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(411), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(951), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(953), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17660] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(412), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(939), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(941), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17691] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(413), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(843), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(845), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17722] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(414), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(863), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(865), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17753] = 10, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1289), 1, + anon_sym_EQ, + ACTIONS(1293), 1, + anon_sym_LPAREN, + ACTIONS(1295), 1, + anon_sym_COLON_COLON, + ACTIONS(1297), 1, + anon_sym_DOT_DOT, + ACTIONS(1303), 1, + anon_sym_LBRACE, + ACTIONS(1299), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(415), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1287), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [17794] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(416), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(911), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(913), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17825] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(417), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(807), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(809), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17856] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(418), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(855), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(857), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17887] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(419), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(827), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(829), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17918] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(420), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1307), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(1305), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17949] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(421), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(839), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(841), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [17980] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(575), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + STATE(422), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(573), 14, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COLON_COLON, + anon_sym_in, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18011] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(423), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(879), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(881), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [18042] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(424), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(887), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(889), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [18073] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(425), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(891), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(893), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [18104] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(426), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(915), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(917), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [18135] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(427), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(803), 4, + anon_sym_SEMI, + anon_sym_POUND, + anon_sym_RBRACE, + anon_sym_COLON_COLON, + ACTIONS(805), 12, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_let, + anon_sym_use, + anon_sym_pub, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [18166] = 12, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1311), 1, + anon_sym_LBRACE, + ACTIONS(1313), 1, + anon_sym_RBRACE, + ACTIONS(1315), 1, + anon_sym_COMMA, + ACTIONS(1317), 1, + anon_sym_COLON_COLON, + ACTIONS(1319), 1, + anon_sym_STAR, + STATE(528), 1, + sym_scoped_identifier, + STATE(601), 1, + sym__use_clause, + STATE(428), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1309), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + STATE(615), 4, + sym_scoped_use_list, + sym_use_list, + sym_use_as_clause, + sym_use_wildcard, + [18210] = 11, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1311), 1, + anon_sym_LBRACE, + ACTIONS(1317), 1, + anon_sym_COLON_COLON, + ACTIONS(1319), 1, + anon_sym_STAR, + ACTIONS(1321), 1, + anon_sym_RBRACE, + STATE(528), 1, + sym_scoped_identifier, + STATE(693), 1, + sym__use_clause, + STATE(429), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1309), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + STATE(615), 4, + sym_scoped_use_list, + sym_use_list, + sym_use_as_clause, + sym_use_wildcard, + [18251] = 11, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1311), 1, + anon_sym_LBRACE, + ACTIONS(1317), 1, + anon_sym_COLON_COLON, + ACTIONS(1319), 1, + anon_sym_STAR, + ACTIONS(1323), 1, + anon_sym_RBRACE, + STATE(528), 1, + sym_scoped_identifier, + STATE(693), 1, + sym__use_clause, + STATE(430), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1309), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + STATE(615), 4, + sym_scoped_use_list, + sym_use_list, + sym_use_as_clause, + sym_use_wildcard, + [18292] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1289), 1, + anon_sym_EQ, + ACTIONS(1297), 1, + anon_sym_DOT_DOT, + ACTIONS(1299), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(431), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1287), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18324] = 10, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1311), 1, + anon_sym_LBRACE, + ACTIONS(1317), 1, + anon_sym_COLON_COLON, + ACTIONS(1319), 1, + anon_sym_STAR, + STATE(528), 1, + sym_scoped_identifier, + STATE(756), 1, + sym__use_clause, + STATE(432), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1309), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + STATE(615), 4, + sym_scoped_use_list, + sym_use_list, + sym_use_as_clause, + sym_use_wildcard, + [18362] = 10, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1311), 1, + anon_sym_LBRACE, + ACTIONS(1317), 1, + anon_sym_COLON_COLON, + ACTIONS(1319), 1, + anon_sym_STAR, + STATE(528), 1, + sym_scoped_identifier, + STATE(693), 1, + sym__use_clause, + STATE(433), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1309), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + STATE(615), 4, + sym_scoped_use_list, + sym_use_list, + sym_use_as_clause, + sym_use_wildcard, + [18400] = 10, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1311), 1, + anon_sym_LBRACE, + ACTIONS(1317), 1, + anon_sym_COLON_COLON, + ACTIONS(1319), 1, + anon_sym_STAR, + STATE(528), 1, + sym_scoped_identifier, + STATE(769), 1, + sym__use_clause, + STATE(434), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1309), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + STATE(615), 4, + sym_scoped_use_list, + sym_use_list, + sym_use_as_clause, + sym_use_wildcard, + [18438] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(651), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + STATE(435), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(649), 11, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18466] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1327), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + STATE(436), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1325), 11, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18494] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1331), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + STATE(437), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1329), 11, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18522] = 10, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1311), 1, + anon_sym_LBRACE, + ACTIONS(1317), 1, + anon_sym_COLON_COLON, + ACTIONS(1319), 1, + anon_sym_STAR, + STATE(528), 1, + sym_scoped_identifier, + STATE(728), 1, + sym__use_clause, + STATE(438), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1309), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + STATE(615), 4, + sym_scoped_use_list, + sym_use_list, + sym_use_as_clause, + sym_use_wildcard, + [18560] = 10, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1311), 1, + anon_sym_LBRACE, + ACTIONS(1317), 1, + anon_sym_COLON_COLON, + ACTIONS(1319), 1, + anon_sym_STAR, + STATE(528), 1, + sym_scoped_identifier, + STATE(771), 1, + sym__use_clause, + STATE(439), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1309), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + STATE(615), 4, + sym_scoped_use_list, + sym_use_list, + sym_use_as_clause, + sym_use_wildcard, + [18598] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(687), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + STATE(440), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(685), 11, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18626] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(659), 2, + anon_sym_EQ, + anon_sym_DOT_DOT, + STATE(441), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(657), 11, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18654] = 13, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1287), 1, + anon_sym_RPAREN, + ACTIONS(1291), 1, + anon_sym_LBRACE, + ACTIONS(1293), 1, + anon_sym_LPAREN, + ACTIONS(1295), 1, + anon_sym_COLON_COLON, + ACTIONS(1297), 1, + anon_sym_DOT_DOT, + ACTIONS(1301), 1, + anon_sym_AT, + ACTIONS(1333), 1, + anon_sym_COMMA, + ACTIONS(1336), 1, + anon_sym_PIPE, + STATE(619), 1, + aux_sym_closure_parameters_repeat1, + ACTIONS(1299), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(442), 2, + sym_line_comment, + sym_block_comment, + [18696] = 12, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1339), 1, + sym_identifier, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1343), 1, + anon_sym_RBRACE, + ACTIONS(1345), 1, + anon_sym_COMMA, + ACTIONS(1347), 1, + anon_sym_DOT_DOT, + ACTIONS(1349), 1, + sym_integer_literal, + STATE(518), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(443), 2, + sym_line_comment, + sym_block_comment, + STATE(643), 3, + sym_shorthand_field_initializer, + sym_field_initializer, + sym_base_field_initializer, + [18736] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1295), 1, + anon_sym_COLON_COLON, + ACTIONS(1353), 1, + anon_sym_EQ, + STATE(444), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1351), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18764] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1295), 1, + anon_sym_COLON_COLON, + ACTIONS(1357), 1, + anon_sym_EQ, + STATE(445), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1355), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18792] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1357), 1, + anon_sym_EQ, + STATE(446), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1355), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18817] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1361), 1, + anon_sym_EQ, + STATE(447), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1359), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18842] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1365), 1, + anon_sym_EQ, + STATE(448), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1363), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18867] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1369), 1, + anon_sym_EQ, + STATE(449), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1367), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18892] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1373), 1, + anon_sym_EQ, + STATE(450), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1371), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18917] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1289), 1, + anon_sym_EQ, + STATE(451), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1287), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18942] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1377), 1, + anon_sym_EQ, + STATE(452), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1375), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [18967] = 13, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1381), 1, + anon_sym_RBRACE, + ACTIONS(1383), 1, + anon_sym_COMMA, + ACTIONS(1385), 1, + sym_crate, + STATE(487), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(588), 1, + sym_enum_variant, + STATE(783), 1, + sym_visibility_modifier, + STATE(453), 2, + sym_line_comment, + sym_block_comment, + [19008] = 11, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1339), 1, + sym_identifier, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1347), 1, + anon_sym_DOT_DOT, + ACTIONS(1349), 1, + sym_integer_literal, + ACTIONS(1387), 1, + anon_sym_RBRACE, + STATE(518), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(454), 2, + sym_line_comment, + sym_block_comment, + STATE(648), 3, + sym_shorthand_field_initializer, + sym_field_initializer, + sym_base_field_initializer, + [19045] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1353), 1, + anon_sym_EQ, + STATE(455), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1351), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19070] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1391), 1, + anon_sym_EQ, + STATE(456), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1389), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19095] = 11, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1339), 1, + sym_identifier, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1347), 1, + anon_sym_DOT_DOT, + ACTIONS(1349), 1, + sym_integer_literal, + ACTIONS(1393), 1, + anon_sym_RBRACE, + STATE(518), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(457), 2, + sym_line_comment, + sym_block_comment, + STATE(648), 3, + sym_shorthand_field_initializer, + sym_field_initializer, + sym_base_field_initializer, + [19132] = 13, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1395), 1, + anon_sym_RBRACE, + ACTIONS(1397), 1, + anon_sym_COMMA, + STATE(483), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(623), 1, + sym_enum_variant, + STATE(783), 1, + sym_visibility_modifier, + STATE(458), 2, + sym_line_comment, + sym_block_comment, + [19173] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1401), 1, + anon_sym_EQ, + STATE(459), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1399), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19198] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1405), 1, + anon_sym_EQ, + STATE(460), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1403), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19223] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1409), 1, + anon_sym_EQ, + STATE(461), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1407), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19248] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1413), 1, + anon_sym_EQ, + STATE(462), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1411), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19273] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1417), 1, + anon_sym_EQ, + STATE(463), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1415), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19298] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1421), 1, + anon_sym_EQ, + STATE(464), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1419), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19323] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1425), 1, + anon_sym_EQ, + STATE(465), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1423), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19348] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1429), 1, + anon_sym_EQ, + STATE(466), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1427), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19373] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1433), 1, + anon_sym_EQ, + STATE(467), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1431), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19398] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1437), 1, + anon_sym_EQ, + STATE(468), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1435), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19423] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1441), 1, + anon_sym_EQ, + STATE(469), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1439), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19448] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1445), 1, + anon_sym_EQ, + STATE(470), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1443), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19473] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1449), 1, + anon_sym_EQ, + STATE(471), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1447), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19498] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1453), 1, + anon_sym_EQ, + STATE(472), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1451), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19523] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1457), 1, + anon_sym_EQ, + STATE(473), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1455), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19548] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1461), 1, + anon_sym_EQ, + STATE(474), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1459), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19573] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1465), 1, + anon_sym_EQ, + STATE(475), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1463), 9, + anon_sym_SEMI, + anon_sym_RBRACK, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_in, + anon_sym_PIPE, + anon_sym_if, + anon_sym_EQ_GT, + [19598] = 12, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1467), 1, + anon_sym_RBRACE, + STATE(486), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(658), 1, + sym_enum_variant, + STATE(783), 1, + sym_visibility_modifier, + STATE(476), 2, + sym_line_comment, + sym_block_comment, + [19636] = 12, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1469), 1, + anon_sym_RBRACE, + STATE(486), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(658), 1, + sym_enum_variant, + STATE(783), 1, + sym_visibility_modifier, + STATE(477), 2, + sym_line_comment, + sym_block_comment, + [19674] = 12, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1471), 1, + anon_sym_RBRACE, + STATE(486), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(658), 1, + sym_enum_variant, + STATE(783), 1, + sym_visibility_modifier, + STATE(478), 2, + sym_line_comment, + sym_block_comment, + [19712] = 12, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1473), 1, + anon_sym_RBRACE, + STATE(486), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(658), 1, + sym_enum_variant, + STATE(783), 1, + sym_visibility_modifier, + STATE(479), 2, + sym_line_comment, + sym_block_comment, + [19750] = 12, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1475), 1, + anon_sym_RBRACE, + STATE(486), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(658), 1, + sym_enum_variant, + STATE(783), 1, + sym_visibility_modifier, + STATE(480), 2, + sym_line_comment, + sym_block_comment, + [19788] = 10, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1339), 1, + sym_identifier, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1347), 1, + anon_sym_DOT_DOT, + ACTIONS(1349), 1, + sym_integer_literal, + STATE(518), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(481), 2, + sym_line_comment, + sym_block_comment, + STATE(648), 3, + sym_shorthand_field_initializer, + sym_field_initializer, + sym_base_field_initializer, + [19822] = 12, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1477), 1, + anon_sym_RBRACE, + STATE(486), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(658), 1, + sym_enum_variant, + STATE(783), 1, + sym_visibility_modifier, + STATE(482), 2, + sym_line_comment, + sym_block_comment, + [19860] = 11, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1385), 1, + sym_crate, + STATE(488), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(632), 1, + sym_enum_variant, + STATE(783), 1, + sym_visibility_modifier, + STATE(483), 2, + sym_line_comment, + sym_block_comment, + [19895] = 11, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1385), 1, + sym_crate, + STATE(486), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(658), 1, + sym_enum_variant, + STATE(783), 1, + sym_visibility_modifier, + STATE(484), 2, + sym_line_comment, + sym_block_comment, + [19930] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1481), 1, + anon_sym_LPAREN, + STATE(485), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1479), 7, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_use, + sym_identifier, + [19953] = 11, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1385), 1, + sym_crate, + STATE(488), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(698), 1, + sym_enum_variant, + STATE(783), 1, + sym_visibility_modifier, + STATE(486), 2, + sym_line_comment, + sym_block_comment, + [19988] = 11, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1379), 1, + sym_identifier, + ACTIONS(1385), 1, + sym_crate, + STATE(488), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(573), 1, + sym_enum_variant, + STATE(783), 1, + sym_visibility_modifier, + STATE(487), 2, + sym_line_comment, + sym_block_comment, + [20023] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(359), 1, + sym_integer_literal, + ACTIONS(1483), 1, + anon_sym_POUND, + STATE(531), 1, + sym_attribute_item, + ACTIONS(1154), 3, + anon_sym_pub, + sym_identifier, + sym_crate, + STATE(488), 3, + sym_line_comment, + sym_block_comment, + aux_sym_enum_variant_list_repeat1, + [20049] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(489), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1486), 7, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_use, + sym_identifier, + [20069] = 7, + ACTIONS(37), 1, + anon_sym_COLON_COLON, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(521), 1, + sym_scoped_identifier, + STATE(764), 1, + sym_attribute, + STATE(490), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1488), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [20095] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(559), 1, + anon_sym_COLON_COLON, + STATE(491), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1490), 6, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_use, + [20117] = 7, + ACTIONS(37), 1, + anon_sym_COLON_COLON, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(521), 1, + sym_scoped_identifier, + STATE(722), 1, + sym_attribute, + STATE(492), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1488), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [20143] = 7, + ACTIONS(37), 1, + anon_sym_COLON_COLON, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(521), 1, + sym_scoped_identifier, + STATE(765), 1, + sym_attribute, + STATE(493), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1488), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [20169] = 10, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(1492), 1, + aux_sym_line_comment_token1, + ACTIONS(1494), 1, + aux_sym_line_comment_token3, + ACTIONS(1496), 1, + anon_sym_BANG2, + ACTIONS(1498), 1, + anon_sym_SLASH2, + STATE(726), 1, + sym__outer_line_doc_comment_marker, + STATE(749), 1, + sym__line_doc_comment_marker, + STATE(762), 1, + sym__inner_line_doc_comment_marker, + STATE(494), 2, + sym_line_comment, + sym_block_comment, + [20201] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(495), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1500), 7, + anon_sym_mod, + anon_sym_struct, + anon_sym_enum, + anon_sym_async, + anon_sym_fn, + anon_sym_use, + sym_identifier, + [20221] = 7, + ACTIONS(37), 1, + anon_sym_COLON_COLON, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(521), 1, + sym_scoped_identifier, + STATE(716), 1, + sym_attribute, + STATE(496), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1488), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [20247] = 7, + ACTIONS(37), 1, + anon_sym_COLON_COLON, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(521), 1, + sym_scoped_identifier, + STATE(731), 1, + sym_attribute, + STATE(497), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1488), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [20273] = 7, + ACTIONS(37), 1, + anon_sym_COLON_COLON, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(521), 1, + sym_scoped_identifier, + STATE(763), 1, + sym_attribute, + STATE(498), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1488), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [20299] = 9, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1502), 1, + anon_sym_mod, + ACTIONS(1504), 1, + anon_sym_struct, + ACTIONS(1506), 1, + anon_sym_enum, + ACTIONS(1508), 1, + anon_sym_async, + ACTIONS(1510), 1, + anon_sym_fn, + ACTIONS(1512), 1, + anon_sym_use, + STATE(499), 2, + sym_line_comment, + sym_block_comment, + [20328] = 9, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1514), 1, + sym_identifier, + ACTIONS(1516), 1, + anon_sym_RBRACE, + ACTIONS(1518), 1, + anon_sym_COMMA, + STATE(758), 1, + sym_visibility_modifier, + STATE(500), 2, + sym_line_comment, + sym_block_comment, + [20357] = 9, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1520), 1, + sym_identifier, + ACTIONS(1522), 1, + anon_sym_RBRACE, + ACTIONS(1524), 1, + anon_sym_COMMA, + STATE(710), 1, + sym_visibility_modifier, + STATE(501), 2, + sym_line_comment, + sym_block_comment, + [20386] = 9, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1526), 1, + anon_sym_mod, + ACTIONS(1528), 1, + anon_sym_struct, + ACTIONS(1530), 1, + anon_sym_enum, + ACTIONS(1532), 1, + anon_sym_async, + ACTIONS(1534), 1, + anon_sym_fn, + ACTIONS(1536), 1, + anon_sym_use, + STATE(502), 2, + sym_line_comment, + sym_block_comment, + [20415] = 9, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1538), 1, + sym_identifier, + ACTIONS(1540), 1, + anon_sym_COMMA, + ACTIONS(1542), 1, + anon_sym_RPAREN, + STATE(776), 1, + sym_visibility_modifier, + STATE(503), 2, + sym_line_comment, + sym_block_comment, + [20444] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1544), 1, + anon_sym_LBRACE, + ACTIONS(1548), 1, + anon_sym_LPAREN, + ACTIONS(1546), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(504), 2, + sym_line_comment, + sym_block_comment, + STATE(659), 2, + sym_field_declaration_list, + sym_ordered_field_declaration_list, + [20469] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1544), 1, + anon_sym_LBRACE, + ACTIONS(1548), 1, + anon_sym_LPAREN, + ACTIONS(1550), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(505), 2, + sym_line_comment, + sym_block_comment, + STATE(656), 2, + sym_field_declaration_list, + sym_ordered_field_declaration_list, + [20494] = 6, + ACTIONS(37), 1, + anon_sym_COLON_COLON, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(691), 1, + sym_scoped_identifier, + STATE(506), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1552), 4, + sym_identifier, + sym_self, + sym_super, + sym_crate, + [20517] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1554), 1, + sym_identifier, + ACTIONS(1556), 1, + anon_sym_RBRACE, + ACTIONS(1558), 1, + anon_sym_COMMA, + ACTIONS(1560), 1, + anon_sym_DOT_DOT, + STATE(507), 2, + sym_line_comment, + sym_block_comment, + STATE(618), 2, + sym_field_pattern, + sym_remaining_field_pattern, + [20544] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1554), 1, + sym_identifier, + ACTIONS(1560), 1, + anon_sym_DOT_DOT, + ACTIONS(1562), 1, + anon_sym_RBRACE, + ACTIONS(1564), 1, + anon_sym_COMMA, + STATE(508), 2, + sym_line_comment, + sym_block_comment, + STATE(612), 2, + sym_field_pattern, + sym_remaining_field_pattern, + [20571] = 8, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1566), 1, + sym_identifier, + ACTIONS(1568), 1, + anon_sym_RPAREN, + STATE(794), 1, + sym_visibility_modifier, + STATE(509), 2, + sym_line_comment, + sym_block_comment, + [20597] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1570), 1, + anon_sym_STAR_SLASH, + ACTIONS(1572), 1, + sym__outer_block_doc_comment_marker, + ACTIONS(1574), 1, + sym__inner_block_doc_comment_marker, + ACTIONS(1576), 1, + sym__block_comment_content, + STATE(690), 1, + sym__block_doc_comment_marker, + STATE(510), 2, + sym_line_comment, + sym_block_comment, + [20623] = 8, + ACTIONS(21), 1, + anon_sym_LBRACE, + ACTIONS(43), 1, + anon_sym_PIPE, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1510), 1, + anon_sym_fn, + STATE(36), 1, + sym_block, + STATE(85), 1, + sym_closure_parameters, + STATE(511), 2, + sym_line_comment, + sym_block_comment, + [20649] = 8, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1566), 1, + sym_identifier, + ACTIONS(1578), 1, + anon_sym_RPAREN, + STATE(794), 1, + sym_visibility_modifier, + STATE(512), 2, + sym_line_comment, + sym_block_comment, + [20675] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1554), 1, + sym_identifier, + ACTIONS(1560), 1, + anon_sym_DOT_DOT, + ACTIONS(1580), 1, + anon_sym_RBRACE, + STATE(513), 2, + sym_line_comment, + sym_block_comment, + STATE(709), 2, + sym_field_pattern, + sym_remaining_field_pattern, + [20699] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1554), 1, + sym_identifier, + ACTIONS(1560), 1, + anon_sym_DOT_DOT, + ACTIONS(1582), 1, + anon_sym_RBRACE, + STATE(514), 2, + sym_line_comment, + sym_block_comment, + STATE(709), 2, + sym_field_pattern, + sym_remaining_field_pattern, + [20723] = 8, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1584), 1, + sym_identifier, + ACTIONS(1586), 1, + anon_sym_RBRACE, + STATE(754), 1, + sym_visibility_modifier, + STATE(515), 2, + sym_line_comment, + sym_block_comment, + [20749] = 8, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1584), 1, + sym_identifier, + ACTIONS(1588), 1, + anon_sym_RBRACE, + STATE(754), 1, + sym_visibility_modifier, + STATE(516), 2, + sym_line_comment, + sym_block_comment, + [20775] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1544), 1, + anon_sym_LBRACE, + ACTIONS(1548), 1, + anon_sym_LPAREN, + ACTIONS(1590), 1, + anon_sym_SEMI, + STATE(405), 1, + sym_field_declaration_list, + STATE(741), 1, + sym_ordered_field_declaration_list, + STATE(517), 2, + sym_line_comment, + sym_block_comment, + [20801] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1592), 1, + sym_identifier, + ACTIONS(1594), 1, + sym_integer_literal, + STATE(488), 1, + aux_sym_enum_variant_list_repeat1, + STATE(531), 1, + sym_attribute_item, + STATE(518), 2, + sym_line_comment, + sym_block_comment, + [20827] = 8, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1584), 1, + sym_identifier, + ACTIONS(1596), 1, + anon_sym_RBRACE, + STATE(754), 1, + sym_visibility_modifier, + STATE(519), 2, + sym_line_comment, + sym_block_comment, + [20853] = 8, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1566), 1, + sym_identifier, + ACTIONS(1598), 1, + anon_sym_RPAREN, + STATE(794), 1, + sym_visibility_modifier, + STATE(520), 2, + sym_line_comment, + sym_block_comment, + [20879] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(559), 1, + anon_sym_COLON_COLON, + ACTIONS(583), 1, + anon_sym_LPAREN, + ACTIONS(1600), 1, + anon_sym_RBRACK, + ACTIONS(1602), 1, + anon_sym_EQ, + STATE(717), 1, + sym_arguments, + STATE(521), 2, + sym_line_comment, + sym_block_comment, + [20905] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1604), 1, + sym_identifier, + ACTIONS(1606), 1, + anon_sym_COMMA, + ACTIONS(1608), 1, + anon_sym_RPAREN, + STATE(742), 1, + sym_attribute_item, + STATE(522), 2, + sym_line_comment, + sym_block_comment, + [20931] = 8, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1584), 1, + sym_identifier, + ACTIONS(1610), 1, + anon_sym_RBRACE, + STATE(754), 1, + sym_visibility_modifier, + STATE(523), 2, + sym_line_comment, + sym_block_comment, + [20957] = 8, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1584), 1, + sym_identifier, + ACTIONS(1612), 1, + anon_sym_RBRACE, + STATE(754), 1, + sym_visibility_modifier, + STATE(524), 2, + sym_line_comment, + sym_block_comment, + [20983] = 8, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1584), 1, + sym_identifier, + ACTIONS(1614), 1, + anon_sym_RBRACE, + STATE(754), 1, + sym_visibility_modifier, + STATE(525), 2, + sym_line_comment, + sym_block_comment, + [21009] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1548), 1, + anon_sym_LPAREN, + ACTIONS(1616), 1, + anon_sym_SEMI, + ACTIONS(1618), 1, + anon_sym_LBRACE, + STATE(256), 1, + sym_field_declaration_list, + STATE(747), 1, + sym_ordered_field_declaration_list, + STATE(526), 2, + sym_line_comment, + sym_block_comment, + [21035] = 8, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1584), 1, + sym_identifier, + ACTIONS(1620), 1, + anon_sym_RBRACE, + STATE(754), 1, + sym_visibility_modifier, + STATE(527), 2, + sym_line_comment, + sym_block_comment, + [21061] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1624), 1, + anon_sym_COLON_COLON, + ACTIONS(1626), 1, + anon_sym_as, + STATE(528), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1622), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [21083] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1548), 1, + anon_sym_LPAREN, + ACTIONS(1618), 1, + anon_sym_LBRACE, + ACTIONS(1628), 1, + anon_sym_SEMI, + STATE(244), 1, + sym_field_declaration_list, + STATE(723), 1, + sym_ordered_field_declaration_list, + STATE(529), 2, + sym_line_comment, + sym_block_comment, + [21109] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1554), 1, + sym_identifier, + ACTIONS(1560), 1, + anon_sym_DOT_DOT, + ACTIONS(1630), 1, + anon_sym_RBRACE, + STATE(530), 2, + sym_line_comment, + sym_block_comment, + STATE(709), 2, + sym_field_pattern, + sym_remaining_field_pattern, + [21133] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1164), 2, + anon_sym_POUND, + sym_integer_literal, + STATE(531), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1162), 3, + anon_sym_pub, + sym_identifier, + sym_crate, + [21153] = 8, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1584), 1, + sym_identifier, + ACTIONS(1632), 1, + anon_sym_RBRACE, + STATE(754), 1, + sym_visibility_modifier, + STATE(532), 2, + sym_line_comment, + sym_block_comment, + [21179] = 8, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1544), 1, + anon_sym_LBRACE, + ACTIONS(1548), 1, + anon_sym_LPAREN, + ACTIONS(1634), 1, + anon_sym_SEMI, + STATE(426), 1, + sym_field_declaration_list, + STATE(720), 1, + sym_ordered_field_declaration_list, + STATE(533), 2, + sym_line_comment, + sym_block_comment, + [21205] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1554), 1, + sym_identifier, + ACTIONS(1560), 1, + anon_sym_DOT_DOT, + ACTIONS(1636), 1, + anon_sym_RBRACE, + STATE(534), 2, + sym_line_comment, + sym_block_comment, + STATE(709), 2, + sym_field_pattern, + sym_remaining_field_pattern, + [21229] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1311), 1, + anon_sym_LBRACE, + ACTIONS(1640), 1, + anon_sym_STAR, + STATE(627), 1, + sym_use_list, + ACTIONS(1638), 2, + sym_identifier, + sym_super, + STATE(535), 2, + sym_line_comment, + sym_block_comment, + [21253] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1311), 1, + anon_sym_LBRACE, + ACTIONS(1644), 1, + anon_sym_STAR, + STATE(603), 1, + sym_use_list, + ACTIONS(1642), 2, + sym_identifier, + sym_super, + STATE(536), 2, + sym_line_comment, + sym_block_comment, + [21277] = 7, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1566), 1, + sym_identifier, + STATE(794), 1, + sym_visibility_modifier, + STATE(537), 2, + sym_line_comment, + sym_block_comment, + [21300] = 6, + ACTIONS(21), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1646), 1, + anon_sym_if, + STATE(33), 2, + sym_if_expression, + sym_block, + STATE(538), 2, + sym_line_comment, + sym_block_comment, + [21321] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1648), 1, + anon_sym_DQUOTE, + STATE(559), 1, + aux_sym_string_literal_repeat1, + ACTIONS(1650), 2, + sym_string_content, + sym_escape_sequence, + STATE(539), 2, + sym_line_comment, + sym_block_comment, + [21342] = 7, + ACTIONS(43), 1, + anon_sym_PIPE, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(87), 1, + anon_sym_LBRACE, + STATE(85), 1, + sym_closure_parameters, + STATE(187), 1, + sym_block, + STATE(540), 2, + sym_line_comment, + sym_block_comment, + [21365] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1554), 1, + sym_identifier, + ACTIONS(1560), 1, + anon_sym_DOT_DOT, + STATE(541), 2, + sym_line_comment, + sym_block_comment, + STATE(709), 2, + sym_field_pattern, + sym_remaining_field_pattern, + [21386] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1652), 1, + anon_sym_DQUOTE, + STATE(551), 1, + aux_sym_string_literal_repeat1, + ACTIONS(1650), 2, + sym_string_content, + sym_escape_sequence, + STATE(542), 2, + sym_line_comment, + sym_block_comment, + [21407] = 7, + ACTIONS(43), 1, + anon_sym_PIPE, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(87), 1, + anon_sym_LBRACE, + STATE(92), 1, + sym_closure_parameters, + STATE(187), 1, + sym_block, + STATE(543), 2, + sym_line_comment, + sym_block_comment, + [21430] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1654), 1, + anon_sym_COMMA, + ACTIONS(1656), 1, + anon_sym_RPAREN, + ACTIONS(1658), 1, + anon_sym_PIPE, + STATE(581), 1, + aux_sym_slice_pattern_repeat1, + STATE(544), 2, + sym_line_comment, + sym_block_comment, + [21453] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1660), 1, + anon_sym_COMMA, + ACTIONS(1022), 2, + anon_sym_RBRACK, + anon_sym_RPAREN, + STATE(545), 3, + sym_line_comment, + sym_block_comment, + aux_sym_arguments_repeat1, + [21472] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1663), 1, + sym_identifier, + ACTIONS(1665), 1, + anon_sym_RPAREN, + STATE(743), 1, + sym_attribute_item, + STATE(546), 2, + sym_line_comment, + sym_block_comment, + [21495] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1667), 1, + anon_sym_in, + STATE(547), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1669), 3, + sym_self, + sym_super, + sym_crate, + [21514] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1658), 1, + anon_sym_PIPE, + ACTIONS(1671), 1, + anon_sym_COMMA, + ACTIONS(1673), 1, + anon_sym_RPAREN, + STATE(606), 1, + aux_sym_tuple_pattern_repeat1, + STATE(548), 2, + sym_line_comment, + sym_block_comment, + [21537] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1658), 1, + anon_sym_PIPE, + ACTIONS(1675), 1, + anon_sym_RBRACK, + ACTIONS(1677), 1, + anon_sym_COMMA, + STATE(596), 1, + aux_sym_slice_pattern_repeat1, + STATE(549), 2, + sym_line_comment, + sym_block_comment, + [21560] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1295), 1, + anon_sym_COLON_COLON, + ACTIONS(1297), 1, + anon_sym_DOT_DOT, + ACTIONS(1299), 2, + anon_sym_DOT_DOT_DOT, + anon_sym_DOT_DOT_EQ, + STATE(550), 2, + sym_line_comment, + sym_block_comment, + [21581] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1679), 1, + anon_sym_DQUOTE, + ACTIONS(1681), 2, + sym_string_content, + sym_escape_sequence, + STATE(551), 3, + sym_line_comment, + sym_block_comment, + aux_sym_string_literal_repeat1, + [21600] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1658), 1, + anon_sym_PIPE, + STATE(552), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1684), 3, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + [21619] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(87), 1, + anon_sym_LBRACE, + ACTIONS(1686), 1, + anon_sym_if, + STATE(197), 2, + sym_if_expression, + sym_block, + STATE(553), 2, + sym_line_comment, + sym_block_comment, + [21640] = 7, + ACTIONS(39), 1, + anon_sym_pub, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1385), 1, + sym_crate, + ACTIONS(1584), 1, + sym_identifier, + STATE(754), 1, + sym_visibility_modifier, + STATE(554), 2, + sym_line_comment, + sym_block_comment, + [21663] = 7, + ACTIONS(21), 1, + anon_sym_LBRACE, + ACTIONS(43), 1, + anon_sym_PIPE, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(36), 1, + sym_block, + STATE(85), 1, + sym_closure_parameters, + STATE(555), 2, + sym_line_comment, + sym_block_comment, + [21686] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1688), 1, + anon_sym_DQUOTE, + STATE(542), 1, + aux_sym_string_literal_repeat1, + ACTIONS(1650), 2, + sym_string_content, + sym_escape_sequence, + STATE(556), 2, + sym_line_comment, + sym_block_comment, + [21707] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1690), 1, + anon_sym_COMMA, + ACTIONS(1684), 2, + anon_sym_RBRACK, + anon_sym_RPAREN, + STATE(557), 3, + sym_line_comment, + sym_block_comment, + aux_sym_slice_pattern_repeat1, + [21726] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1663), 1, + sym_identifier, + ACTIONS(1693), 1, + anon_sym_RPAREN, + STATE(743), 1, + sym_attribute_item, + STATE(558), 2, + sym_line_comment, + sym_block_comment, + [21749] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1695), 1, + anon_sym_DQUOTE, + STATE(551), 1, + aux_sym_string_literal_repeat1, + ACTIONS(1650), 2, + sym_string_content, + sym_escape_sequence, + STATE(559), 2, + sym_line_comment, + sym_block_comment, + [21770] = 7, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1663), 1, + sym_identifier, + ACTIONS(1697), 1, + anon_sym_RPAREN, + STATE(743), 1, + sym_attribute_item, + STATE(560), 2, + sym_line_comment, + sym_block_comment, + [21793] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1477), 1, + anon_sym_RBRACE, + ACTIONS(1699), 1, + anon_sym_COMMA, + STATE(604), 1, + aux_sym_enum_variant_list_repeat2, + STATE(561), 2, + sym_line_comment, + sym_block_comment, + [21813] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1701), 1, + anon_sym_SEMI, + ACTIONS(1703), 1, + anon_sym_LBRACE, + STATE(240), 1, + sym_declaration_list, + STATE(562), 2, + sym_line_comment, + sym_block_comment, + [21833] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(563), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1705), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [21849] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(444), 1, + anon_sym_RPAREN, + ACTIONS(1024), 1, + anon_sym_COMMA, + STATE(545), 1, + aux_sym_arguments_repeat1, + STATE(564), 2, + sym_line_comment, + sym_block_comment, + [21869] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(565), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1707), 3, + sym_string_content, + anon_sym_DQUOTE, + sym_escape_sequence, + [21885] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(442), 1, + anon_sym_RBRACK, + ACTIONS(1709), 1, + anon_sym_COMMA, + STATE(545), 1, + aux_sym_arguments_repeat1, + STATE(566), 2, + sym_line_comment, + sym_block_comment, + [21905] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1586), 1, + anon_sym_RBRACE, + ACTIONS(1711), 1, + anon_sym_COMMA, + STATE(594), 1, + aux_sym_field_declaration_list_repeat1, + STATE(567), 2, + sym_line_comment, + sym_block_comment, + [21925] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1713), 1, + anon_sym_RBRACE, + ACTIONS(1715), 1, + anon_sym_COMMA, + STATE(597), 1, + aux_sym_field_declaration_list_repeat1, + STATE(568), 2, + sym_line_comment, + sym_block_comment, + [21945] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(569), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1717), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [21961] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1578), 1, + anon_sym_RPAREN, + ACTIONS(1719), 1, + anon_sym_COMMA, + STATE(599), 1, + aux_sym_ordered_field_declaration_list_repeat1, + STATE(570), 2, + sym_line_comment, + sym_block_comment, + [21981] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1578), 1, + anon_sym_RPAREN, + ACTIONS(1719), 1, + anon_sym_COMMA, + STATE(600), 1, + aux_sym_ordered_field_declaration_list_repeat1, + STATE(571), 2, + sym_line_comment, + sym_block_comment, + [22001] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1469), 1, + anon_sym_RBRACE, + ACTIONS(1721), 1, + anon_sym_COMMA, + STATE(604), 1, + aux_sym_enum_variant_list_repeat2, + STATE(572), 2, + sym_line_comment, + sym_block_comment, + [22021] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1469), 1, + anon_sym_RBRACE, + ACTIONS(1721), 1, + anon_sym_COMMA, + STATE(646), 1, + aux_sym_enum_variant_list_repeat2, + STATE(573), 2, + sym_line_comment, + sym_block_comment, + [22041] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1665), 1, + anon_sym_RPAREN, + ACTIONS(1723), 1, + anon_sym_COMMA, + STATE(608), 1, + aux_sym_parameters_repeat1, + STATE(574), 2, + sym_line_comment, + sym_block_comment, + [22061] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1665), 1, + anon_sym_RPAREN, + ACTIONS(1723), 1, + anon_sym_COMMA, + STATE(610), 1, + aux_sym_parameters_repeat1, + STATE(575), 2, + sym_line_comment, + sym_block_comment, + [22081] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(446), 1, + anon_sym_RBRACK, + ACTIONS(1032), 1, + anon_sym_COMMA, + STATE(545), 1, + aux_sym_arguments_repeat1, + STATE(576), 2, + sym_line_comment, + sym_block_comment, + [22101] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1658), 1, + anon_sym_PIPE, + ACTIONS(1725), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(577), 2, + sym_line_comment, + sym_block_comment, + [22119] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1671), 1, + anon_sym_COMMA, + ACTIONS(1673), 1, + anon_sym_RPAREN, + STATE(606), 1, + aux_sym_tuple_pattern_repeat1, + STATE(578), 2, + sym_line_comment, + sym_block_comment, + [22139] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1725), 1, + anon_sym_RPAREN, + ACTIONS(1727), 1, + anon_sym_COMMA, + STATE(579), 3, + sym_line_comment, + sym_block_comment, + aux_sym_tuple_pattern_repeat1, + [22157] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1580), 1, + anon_sym_RBRACE, + ACTIONS(1730), 1, + anon_sym_COMMA, + STATE(616), 1, + aux_sym_struct_pattern_repeat1, + STATE(580), 2, + sym_line_comment, + sym_block_comment, + [22177] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1156), 1, + anon_sym_RPAREN, + ACTIONS(1732), 1, + anon_sym_COMMA, + STATE(557), 1, + aux_sym_slice_pattern_repeat1, + STATE(581), 2, + sym_line_comment, + sym_block_comment, + [22197] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1630), 1, + anon_sym_RBRACE, + ACTIONS(1734), 1, + anon_sym_COMMA, + STATE(616), 1, + aux_sym_struct_pattern_repeat1, + STATE(582), 2, + sym_line_comment, + sym_block_comment, + [22217] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1736), 1, + anon_sym_RBRACE, + ACTIONS(1738), 1, + anon_sym_COMMA, + STATE(567), 1, + aux_sym_field_declaration_list_repeat1, + STATE(583), 2, + sym_line_comment, + sym_block_comment, + [22237] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(584), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1740), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [22253] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1742), 1, + anon_sym_RBRACE, + ACTIONS(1744), 1, + anon_sym_COMMA, + STATE(585), 3, + sym_line_comment, + sym_block_comment, + aux_sym_use_list_repeat1, + [22271] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(586), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1747), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [22287] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1749), 1, + anon_sym_COMMA, + ACTIONS(1751), 1, + anon_sym_RPAREN, + STATE(570), 1, + aux_sym_ordered_field_declaration_list_repeat1, + STATE(587), 2, + sym_line_comment, + sym_block_comment, + [22307] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1753), 1, + anon_sym_RBRACE, + ACTIONS(1755), 1, + anon_sym_COMMA, + STATE(572), 1, + aux_sym_enum_variant_list_repeat2, + STATE(588), 2, + sym_line_comment, + sym_block_comment, + [22327] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1658), 1, + anon_sym_PIPE, + ACTIONS(1757), 1, + anon_sym_SEMI, + ACTIONS(1759), 1, + anon_sym_EQ, + STATE(589), 2, + sym_line_comment, + sym_block_comment, + [22347] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1761), 1, + anon_sym_RBRACE, + ACTIONS(1763), 1, + anon_sym_COMMA, + STATE(590), 3, + sym_line_comment, + sym_block_comment, + aux_sym_field_initializer_list_repeat1, + [22365] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(591), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1766), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [22381] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(452), 1, + anon_sym_RPAREN, + ACTIONS(1768), 1, + anon_sym_COMMA, + STATE(545), 1, + aux_sym_arguments_repeat1, + STATE(592), 2, + sym_line_comment, + sym_block_comment, + [22401] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1770), 1, + anon_sym_COMMA, + ACTIONS(1772), 1, + anon_sym_RPAREN, + STATE(574), 1, + aux_sym_parameters_repeat1, + STATE(593), 2, + sym_line_comment, + sym_block_comment, + [22421] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1774), 1, + anon_sym_RBRACE, + ACTIONS(1776), 1, + anon_sym_COMMA, + STATE(594), 3, + sym_line_comment, + sym_block_comment, + aux_sym_field_declaration_list_repeat1, + [22439] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(595), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1779), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [22455] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1150), 1, + anon_sym_RBRACK, + ACTIONS(1781), 1, + anon_sym_COMMA, + STATE(557), 1, + aux_sym_slice_pattern_repeat1, + STATE(596), 2, + sym_line_comment, + sym_block_comment, + [22475] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1596), 1, + anon_sym_RBRACE, + ACTIONS(1783), 1, + anon_sym_COMMA, + STATE(594), 1, + aux_sym_field_declaration_list_repeat1, + STATE(597), 2, + sym_line_comment, + sym_block_comment, + [22495] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(598), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1785), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [22511] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1787), 1, + anon_sym_COMMA, + ACTIONS(1790), 1, + anon_sym_RPAREN, + STATE(599), 3, + sym_line_comment, + sym_block_comment, + aux_sym_ordered_field_declaration_list_repeat1, + [22529] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1598), 1, + anon_sym_RPAREN, + ACTIONS(1792), 1, + anon_sym_COMMA, + STATE(599), 1, + aux_sym_ordered_field_declaration_list_repeat1, + STATE(600), 2, + sym_line_comment, + sym_block_comment, + [22549] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1794), 1, + anon_sym_RBRACE, + ACTIONS(1796), 1, + anon_sym_COMMA, + STATE(624), 1, + aux_sym_use_list_repeat1, + STATE(601), 2, + sym_line_comment, + sym_block_comment, + [22569] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(602), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1798), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [22585] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(603), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1800), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [22601] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1802), 1, + anon_sym_RBRACE, + ACTIONS(1804), 1, + anon_sym_COMMA, + STATE(604), 3, + sym_line_comment, + sym_block_comment, + aux_sym_enum_variant_list_repeat2, + [22619] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1809), 1, + anon_sym_COLON, + ACTIONS(1807), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(605), 2, + sym_line_comment, + sym_block_comment, + [22637] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1020), 1, + anon_sym_RPAREN, + ACTIONS(1811), 1, + anon_sym_COMMA, + STATE(579), 1, + aux_sym_tuple_pattern_repeat1, + STATE(606), 2, + sym_line_comment, + sym_block_comment, + [22657] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1813), 1, + sym_identifier, + ACTIONS(1815), 1, + anon_sym_await, + ACTIONS(1817), 1, + sym_integer_literal, + STATE(607), 2, + sym_line_comment, + sym_block_comment, + [22677] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1819), 1, + anon_sym_COMMA, + ACTIONS(1822), 1, + anon_sym_RPAREN, + STATE(608), 3, + sym_line_comment, + sym_block_comment, + aux_sym_parameters_repeat1, + [22695] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1824), 1, + anon_sym_SEMI, + ACTIONS(1826), 1, + anon_sym_LBRACE, + STATE(424), 1, + sym_declaration_list, + STATE(609), 2, + sym_line_comment, + sym_block_comment, + [22715] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1697), 1, + anon_sym_RPAREN, + ACTIONS(1828), 1, + anon_sym_COMMA, + STATE(608), 1, + aux_sym_parameters_repeat1, + STATE(610), 2, + sym_line_comment, + sym_block_comment, + [22735] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1832), 1, + anon_sym_COLON, + ACTIONS(1830), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(611), 2, + sym_line_comment, + sym_block_comment, + [22753] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1834), 1, + anon_sym_RBRACE, + ACTIONS(1836), 1, + anon_sym_COMMA, + STATE(580), 1, + aux_sym_struct_pattern_repeat1, + STATE(612), 2, + sym_line_comment, + sym_block_comment, + [22773] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1658), 1, + anon_sym_PIPE, + ACTIONS(1838), 1, + anon_sym_SEMI, + ACTIONS(1840), 1, + anon_sym_EQ, + STATE(613), 2, + sym_line_comment, + sym_block_comment, + [22793] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1658), 1, + anon_sym_PIPE, + ACTIONS(1842), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(614), 2, + sym_line_comment, + sym_block_comment, + [22811] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(615), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1622), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [22827] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1844), 1, + anon_sym_RBRACE, + ACTIONS(1846), 1, + anon_sym_COMMA, + STATE(616), 3, + sym_line_comment, + sym_block_comment, + aux_sym_struct_pattern_repeat1, + [22845] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(617), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1849), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [22861] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1851), 1, + anon_sym_RBRACE, + ACTIONS(1853), 1, + anon_sym_COMMA, + STATE(582), 1, + aux_sym_struct_pattern_repeat1, + STATE(618), 2, + sym_line_comment, + sym_block_comment, + [22881] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1855), 1, + anon_sym_COMMA, + ACTIONS(1857), 1, + anon_sym_PIPE, + STATE(635), 1, + aux_sym_closure_parameters_repeat1, + STATE(619), 2, + sym_line_comment, + sym_block_comment, + [22901] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1826), 1, + anon_sym_LBRACE, + ACTIONS(1859), 1, + anon_sym_SEMI, + STATE(403), 1, + sym_declaration_list, + STATE(620), 2, + sym_line_comment, + sym_block_comment, + [22921] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(621), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1861), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [22937] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1863), 1, + anon_sym_RBRACE, + ACTIONS(1865), 1, + anon_sym_COMMA, + STATE(629), 1, + aux_sym_field_declaration_list_repeat1, + STATE(622), 2, + sym_line_comment, + sym_block_comment, + [22957] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1867), 1, + anon_sym_RBRACE, + ACTIONS(1869), 1, + anon_sym_COMMA, + STATE(631), 1, + aux_sym_enum_variant_list_repeat2, + STATE(623), 2, + sym_line_comment, + sym_block_comment, + [22977] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1321), 1, + anon_sym_RBRACE, + ACTIONS(1871), 1, + anon_sym_COMMA, + STATE(585), 1, + aux_sym_use_list_repeat1, + STATE(624), 2, + sym_line_comment, + sym_block_comment, + [22997] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(625), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1873), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [23013] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(460), 1, + anon_sym_RPAREN, + ACTIONS(1038), 1, + anon_sym_COMMA, + STATE(545), 1, + aux_sym_arguments_repeat1, + STATE(626), 2, + sym_line_comment, + sym_block_comment, + [23033] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(627), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1875), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [23049] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(628), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1877), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [23065] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1610), 1, + anon_sym_RBRACE, + ACTIONS(1879), 1, + anon_sym_COMMA, + STATE(594), 1, + aux_sym_field_declaration_list_repeat1, + STATE(629), 2, + sym_line_comment, + sym_block_comment, + [23085] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1881), 1, + anon_sym_RBRACE, + ACTIONS(1883), 1, + anon_sym_COMMA, + STATE(634), 1, + aux_sym_field_declaration_list_repeat1, + STATE(630), 2, + sym_line_comment, + sym_block_comment, + [23105] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1473), 1, + anon_sym_RBRACE, + ACTIONS(1885), 1, + anon_sym_COMMA, + STATE(604), 1, + aux_sym_enum_variant_list_repeat2, + STATE(631), 2, + sym_line_comment, + sym_block_comment, + [23125] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1473), 1, + anon_sym_RBRACE, + ACTIONS(1885), 1, + anon_sym_COMMA, + STATE(561), 1, + aux_sym_enum_variant_list_repeat2, + STATE(632), 2, + sym_line_comment, + sym_block_comment, + [23145] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(454), 1, + anon_sym_RPAREN, + ACTIONS(1887), 1, + anon_sym_COMMA, + STATE(545), 1, + aux_sym_arguments_repeat1, + STATE(633), 2, + sym_line_comment, + sym_block_comment, + [23165] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1614), 1, + anon_sym_RBRACE, + ACTIONS(1889), 1, + anon_sym_COMMA, + STATE(594), 1, + aux_sym_field_declaration_list_repeat1, + STATE(634), 2, + sym_line_comment, + sym_block_comment, + [23185] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1891), 1, + anon_sym_COMMA, + ACTIONS(1894), 1, + anon_sym_PIPE, + STATE(635), 3, + sym_line_comment, + sym_block_comment, + aux_sym_closure_parameters_repeat1, + [23203] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(636), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1128), 3, + anon_sym_LBRACE, + anon_sym_AMP_AMP, + anon_sym_EQ_GT, + [23219] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(637), 2, + sym_line_comment, + sym_block_comment, + ACTIONS(1896), 3, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + [23235] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1703), 1, + anon_sym_LBRACE, + ACTIONS(1898), 1, + anon_sym_SEMI, + STATE(249), 1, + sym_declaration_list, + STATE(638), 2, + sym_line_comment, + sym_block_comment, + [23255] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1855), 1, + anon_sym_COMMA, + ACTIONS(1900), 1, + anon_sym_PIPE, + STATE(619), 1, + aux_sym_closure_parameters_repeat1, + STATE(639), 2, + sym_line_comment, + sym_block_comment, + [23275] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1341), 1, + anon_sym_POUND, + ACTIONS(1663), 1, + sym_identifier, + STATE(743), 1, + sym_attribute_item, + STATE(640), 2, + sym_line_comment, + sym_block_comment, + [23295] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1658), 1, + anon_sym_PIPE, + ACTIONS(1902), 1, + anon_sym_if, + ACTIONS(1904), 1, + anon_sym_EQ_GT, + STATE(641), 2, + sym_line_comment, + sym_block_comment, + [23315] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1908), 1, + anon_sym_COLON, + ACTIONS(1906), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(642), 2, + sym_line_comment, + sym_block_comment, + [23333] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1910), 1, + anon_sym_RBRACE, + ACTIONS(1912), 1, + anon_sym_COMMA, + STATE(645), 1, + aux_sym_field_initializer_list_repeat1, + STATE(643), 2, + sym_line_comment, + sym_block_comment, + [23353] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(448), 1, + anon_sym_RBRACK, + ACTIONS(1018), 1, + anon_sym_COMMA, + STATE(545), 1, + aux_sym_arguments_repeat1, + STATE(644), 2, + sym_line_comment, + sym_block_comment, + [23373] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1387), 1, + anon_sym_RBRACE, + ACTIONS(1914), 1, + anon_sym_COMMA, + STATE(590), 1, + aux_sym_field_initializer_list_repeat1, + STATE(645), 2, + sym_line_comment, + sym_block_comment, + [23393] = 6, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1471), 1, + anon_sym_RBRACE, + ACTIONS(1916), 1, + anon_sym_COMMA, + STATE(604), 1, + aux_sym_enum_variant_list_repeat2, + STATE(646), 2, + sym_line_comment, + sym_block_comment, + [23413] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1918), 1, + anon_sym_LBRACE, + ACTIONS(1920), 1, + anon_sym_AMP_AMP, + STATE(647), 2, + sym_line_comment, + sym_block_comment, + [23430] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1761), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(648), 2, + sym_line_comment, + sym_block_comment, + [23445] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1642), 2, + sym_identifier, + sym_super, + STATE(649), 2, + sym_line_comment, + sym_block_comment, + [23460] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1922), 1, + anon_sym_LBRACE, + STATE(228), 1, + sym_block, + STATE(650), 2, + sym_line_comment, + sym_block_comment, + [23477] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1922), 1, + anon_sym_LBRACE, + STATE(265), 1, + sym_block, + STATE(651), 2, + sym_line_comment, + sym_block_comment, + [23494] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1924), 1, + anon_sym_LPAREN, + STATE(650), 1, + sym_parameters, + STATE(652), 2, + sym_line_comment, + sym_block_comment, + [23511] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1924), 1, + anon_sym_LPAREN, + STATE(651), 1, + sym_parameters, + STATE(653), 2, + sym_line_comment, + sym_block_comment, + [23528] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1926), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(654), 2, + sym_line_comment, + sym_block_comment, + [23543] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1118), 1, + anon_sym_LBRACE, + ACTIONS(1920), 1, + anon_sym_AMP_AMP, + STATE(655), 2, + sym_line_comment, + sym_block_comment, + [23560] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1928), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(656), 2, + sym_line_comment, + sym_block_comment, + [23575] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1790), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(657), 2, + sym_line_comment, + sym_block_comment, + [23590] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1802), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(658), 2, + sym_line_comment, + sym_block_comment, + [23605] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1930), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(659), 2, + sym_line_comment, + sym_block_comment, + [23620] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1922), 1, + anon_sym_LBRACE, + STATE(230), 1, + sym_block, + STATE(660), 2, + sym_line_comment, + sym_block_comment, + [23637] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1932), 2, + sym_identifier, + sym_super, + STATE(661), 2, + sym_line_comment, + sym_block_comment, + [23652] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1822), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(662), 2, + sym_line_comment, + sym_block_comment, + [23667] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(87), 1, + anon_sym_LBRACE, + STATE(188), 1, + sym_block, + STATE(663), 2, + sym_line_comment, + sym_block_comment, + [23684] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1250), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(664), 2, + sym_line_comment, + sym_block_comment, + [23699] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1934), 2, + sym__block_comment_content, + anon_sym_STAR_SLASH, + STATE(665), 2, + sym_line_comment, + sym_block_comment, + [23714] = 5, + ACTIONS(21), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(25), 1, + sym_block, + STATE(666), 2, + sym_line_comment, + sym_block_comment, + [23731] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1936), 1, + anon_sym_LBRACE, + STATE(257), 1, + sym_enum_variant_list, + STATE(667), 2, + sym_line_comment, + sym_block_comment, + [23748] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1938), 1, + anon_sym_LBRACE, + STATE(396), 1, + sym_enum_variant_list, + STATE(668), 2, + sym_line_comment, + sym_block_comment, + [23765] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1940), 2, + sym__block_comment_content, + anon_sym_STAR_SLASH, + STATE(669), 2, + sym_line_comment, + sym_block_comment, + [23780] = 5, + ACTIONS(43), 1, + anon_sym_PIPE, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(115), 1, + sym_closure_parameters, + STATE(670), 2, + sym_line_comment, + sym_block_comment, + [23797] = 5, + ACTIONS(21), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(30), 1, + sym_block, + STATE(671), 2, + sym_line_comment, + sym_block_comment, + [23814] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1118), 1, + anon_sym_EQ_GT, + ACTIONS(1942), 1, + anon_sym_AMP_AMP, + STATE(672), 2, + sym_line_comment, + sym_block_comment, + [23831] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1918), 1, + anon_sym_EQ_GT, + ACTIONS(1942), 1, + anon_sym_AMP_AMP, + STATE(673), 2, + sym_line_comment, + sym_block_comment, + [23848] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(87), 1, + anon_sym_LBRACE, + STATE(154), 1, + sym_block, + STATE(674), 2, + sym_line_comment, + sym_block_comment, + [23865] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1924), 1, + anon_sym_LPAREN, + STATE(660), 1, + sym_parameters, + STATE(675), 2, + sym_line_comment, + sym_block_comment, + [23882] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(87), 1, + anon_sym_LBRACE, + STATE(194), 1, + sym_block, + STATE(676), 2, + sym_line_comment, + sym_block_comment, + [23899] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(583), 1, + anon_sym_LPAREN, + STATE(142), 1, + sym_arguments, + STATE(677), 2, + sym_line_comment, + sym_block_comment, + [23916] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1944), 2, + sym_identifier, + sym_super, + STATE(678), 2, + sym_line_comment, + sym_block_comment, + [23931] = 5, + ACTIONS(21), 1, + anon_sym_LBRACE, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + STATE(37), 1, + sym_block, + STATE(679), 2, + sym_line_comment, + sym_block_comment, + [23948] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1725), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(680), 2, + sym_line_comment, + sym_block_comment, + [23963] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(87), 1, + anon_sym_LBRACE, + STATE(401), 1, + sym_block, + STATE(681), 2, + sym_line_comment, + sym_block_comment, + [23980] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1658), 1, + anon_sym_PIPE, + ACTIONS(1946), 1, + anon_sym_EQ, + STATE(682), 2, + sym_line_comment, + sym_block_comment, + [23997] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1658), 1, + anon_sym_PIPE, + ACTIONS(1948), 1, + anon_sym_in, + STATE(683), 2, + sym_line_comment, + sym_block_comment, + [24014] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1658), 1, + anon_sym_PIPE, + ACTIONS(1950), 1, + anon_sym_EQ, + STATE(684), 2, + sym_line_comment, + sym_block_comment, + [24031] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1938), 1, + anon_sym_LBRACE, + STATE(406), 1, + sym_enum_variant_list, + STATE(685), 2, + sym_line_comment, + sym_block_comment, + [24048] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(559), 1, + anon_sym_COLON_COLON, + ACTIONS(1952), 1, + anon_sym_BANG, + STATE(686), 2, + sym_line_comment, + sym_block_comment, + [24065] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(87), 1, + anon_sym_LBRACE, + STATE(412), 1, + sym_block, + STATE(687), 2, + sym_line_comment, + sym_block_comment, + [24082] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1936), 1, + anon_sym_LBRACE, + STATE(245), 1, + sym_enum_variant_list, + STATE(688), 2, + sym_line_comment, + sym_block_comment, + [24099] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1954), 2, + sym_float_literal, + sym_integer_literal, + STATE(689), 2, + sym_line_comment, + sym_block_comment, + [24114] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1956), 1, + anon_sym_STAR_SLASH, + ACTIONS(1958), 1, + sym__block_comment_content, + STATE(690), 2, + sym_line_comment, + sym_block_comment, + [24131] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(559), 1, + anon_sym_COLON_COLON, + ACTIONS(1960), 1, + anon_sym_RPAREN, + STATE(691), 2, + sym_line_comment, + sym_block_comment, + [24148] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(87), 1, + anon_sym_LBRACE, + STATE(417), 1, + sym_block, + STATE(692), 2, + sym_line_comment, + sym_block_comment, + [24165] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1742), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(693), 2, + sym_line_comment, + sym_block_comment, + [24180] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1894), 2, + anon_sym_COMMA, + anon_sym_PIPE, + STATE(694), 2, + sym_line_comment, + sym_block_comment, + [24195] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1962), 1, + anon_sym_LPAREN, + STATE(46), 1, + sym_arguments, + STATE(695), 2, + sym_line_comment, + sym_block_comment, + [24212] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1964), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(696), 2, + sym_line_comment, + sym_block_comment, + [24227] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1966), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(697), 2, + sym_line_comment, + sym_block_comment, + [24242] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1968), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(698), 2, + sym_line_comment, + sym_block_comment, + [24257] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1638), 2, + sym_identifier, + sym_super, + STATE(699), 2, + sym_line_comment, + sym_block_comment, + [24272] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1970), 1, + anon_sym_LBRACK, + ACTIONS(1972), 1, + anon_sym_BANG, + STATE(700), 2, + sym_line_comment, + sym_block_comment, + [24289] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1974), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + STATE(701), 2, + sym_line_comment, + sym_block_comment, + [24304] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1924), 1, + anon_sym_LPAREN, + STATE(681), 1, + sym_parameters, + STATE(702), 2, + sym_line_comment, + sym_block_comment, + [24321] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1976), 1, + sym_identifier, + ACTIONS(1978), 1, + anon_sym_PIPE, + STATE(703), 2, + sym_line_comment, + sym_block_comment, + [24338] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1924), 1, + anon_sym_LPAREN, + STATE(687), 1, + sym_parameters, + STATE(704), 2, + sym_line_comment, + sym_block_comment, + [24355] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1924), 1, + anon_sym_LPAREN, + STATE(692), 1, + sym_parameters, + STATE(705), 2, + sym_line_comment, + sym_block_comment, + [24372] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1980), 1, + anon_sym_LBRACK, + ACTIONS(1982), 1, + anon_sym_BANG, + STATE(706), 2, + sym_line_comment, + sym_block_comment, + [24389] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1658), 1, + anon_sym_PIPE, + ACTIONS(1984), 1, + anon_sym_in, + STATE(707), 2, + sym_line_comment, + sym_block_comment, + [24406] = 5, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1986), 1, + anon_sym_LBRACK, + ACTIONS(1988), 1, + anon_sym_BANG, + STATE(708), 2, + sym_line_comment, + sym_block_comment, + [24423] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1844), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + STATE(709), 2, + sym_line_comment, + sym_block_comment, + [24438] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1990), 1, + sym_identifier, + STATE(710), 2, + sym_line_comment, + sym_block_comment, + [24452] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(559), 1, + anon_sym_COLON_COLON, + STATE(711), 2, + sym_line_comment, + sym_block_comment, + [24466] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1992), 1, + anon_sym_STAR_SLASH, + STATE(712), 2, + sym_line_comment, + sym_block_comment, + [24480] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1994), 1, + sym_identifier, + STATE(713), 2, + sym_line_comment, + sym_block_comment, + [24494] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1996), 1, + anon_sym_RPAREN, + STATE(714), 2, + sym_line_comment, + sym_block_comment, + [24508] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1998), 1, + sym_identifier, + STATE(715), 2, + sym_line_comment, + sym_block_comment, + [24522] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2000), 1, + anon_sym_RBRACK, + STATE(716), 2, + sym_line_comment, + sym_block_comment, + [24536] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2002), 1, + anon_sym_RBRACK, + STATE(717), 2, + sym_line_comment, + sym_block_comment, + [24550] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1851), 1, + anon_sym_RBRACE, + STATE(718), 2, + sym_line_comment, + sym_block_comment, + [24564] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2004), 1, + anon_sym_fn, + STATE(719), 2, + sym_line_comment, + sym_block_comment, + [24578] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2006), 1, + anon_sym_SEMI, + STATE(720), 2, + sym_line_comment, + sym_block_comment, + [24592] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2008), 1, + sym__line_doc_content, + STATE(721), 2, + sym_line_comment, + sym_block_comment, + [24606] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2010), 1, + anon_sym_RBRACK, + STATE(722), 2, + sym_line_comment, + sym_block_comment, + [24620] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2012), 1, + anon_sym_SEMI, + STATE(723), 2, + sym_line_comment, + sym_block_comment, + [24634] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2014), 1, + anon_sym_LBRACE, + STATE(724), 2, + sym_line_comment, + sym_block_comment, + [24648] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2016), 1, + sym__line_doc_content, + STATE(725), 2, + sym_line_comment, + sym_block_comment, + [24662] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2018), 1, + sym__line_doc_content, + STATE(726), 2, + sym_line_comment, + sym_block_comment, + [24676] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1675), 1, + anon_sym_RBRACK, + STATE(727), 2, + sym_line_comment, + sym_block_comment, + [24690] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2020), 1, + anon_sym_SEMI, + STATE(728), 2, + sym_line_comment, + sym_block_comment, + [24704] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1036), 1, + anon_sym_RPAREN, + STATE(729), 2, + sym_line_comment, + sym_block_comment, + [24718] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2022), 1, + anon_sym_EQ_GT, + STATE(730), 2, + sym_line_comment, + sym_block_comment, + [24732] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2024), 1, + anon_sym_RBRACK, + STATE(731), 2, + sym_line_comment, + sym_block_comment, + [24746] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1534), 1, + anon_sym_fn, + STATE(732), 2, + sym_line_comment, + sym_block_comment, + [24760] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2026), 1, + anon_sym_RBRACE, + STATE(733), 2, + sym_line_comment, + sym_block_comment, + [24774] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1834), 1, + anon_sym_RBRACE, + STATE(734), 2, + sym_line_comment, + sym_block_comment, + [24788] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1867), 1, + anon_sym_RBRACE, + STATE(735), 2, + sym_line_comment, + sym_block_comment, + [24802] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2028), 1, + anon_sym_LBRACE, + STATE(736), 2, + sym_line_comment, + sym_block_comment, + [24816] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2030), 1, + anon_sym_EQ_GT, + STATE(737), 2, + sym_line_comment, + sym_block_comment, + [24830] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2032), 1, + ts_builtin_sym_end, + STATE(738), 2, + sym_line_comment, + sym_block_comment, + [24844] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2034), 1, + anon_sym_RBRACE, + STATE(739), 2, + sym_line_comment, + sym_block_comment, + [24858] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2036), 1, + sym_identifier, + STATE(740), 2, + sym_line_comment, + sym_block_comment, + [24872] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2038), 1, + anon_sym_SEMI, + STATE(741), 2, + sym_line_comment, + sym_block_comment, + [24886] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2040), 1, + sym_identifier, + STATE(742), 2, + sym_line_comment, + sym_block_comment, + [24900] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2042), 1, + sym_identifier, + STATE(743), 2, + sym_line_comment, + sym_block_comment, + [24914] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2044), 1, + sym_identifier, + STATE(744), 2, + sym_line_comment, + sym_block_comment, + [24928] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2046), 1, + sym_identifier, + STATE(745), 2, + sym_line_comment, + sym_block_comment, + [24942] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2048), 1, + anon_sym_RBRACE, + STATE(746), 2, + sym_line_comment, + sym_block_comment, + [24956] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2050), 1, + anon_sym_SEMI, + STATE(747), 2, + sym_line_comment, + sym_block_comment, + [24970] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2052), 1, + sym_identifier, + STATE(748), 2, + sym_line_comment, + sym_block_comment, + [24984] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2054), 1, + sym__line_doc_content, + STATE(749), 2, + sym_line_comment, + sym_block_comment, + [24998] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2056), 1, + sym_identifier, + STATE(750), 2, + sym_line_comment, + sym_block_comment, + [25012] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2058), 1, + anon_sym_RBRACE, + STATE(751), 2, + sym_line_comment, + sym_block_comment, + [25026] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2060), 1, + sym_identifier, + STATE(752), 2, + sym_line_comment, + sym_block_comment, + [25040] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2062), 1, + anon_sym_LBRACE, + STATE(753), 2, + sym_line_comment, + sym_block_comment, + [25054] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2064), 1, + sym_identifier, + STATE(754), 2, + sym_line_comment, + sym_block_comment, + [25068] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1490), 1, + sym_identifier, + STATE(755), 2, + sym_line_comment, + sym_block_comment, + [25082] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2066), 1, + anon_sym_SEMI, + STATE(756), 2, + sym_line_comment, + sym_block_comment, + [25096] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1030), 1, + anon_sym_RPAREN, + STATE(757), 2, + sym_line_comment, + sym_block_comment, + [25110] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2068), 1, + sym_identifier, + STATE(758), 2, + sym_line_comment, + sym_block_comment, + [25124] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2070), 1, + anon_sym_STAR_SLASH, + STATE(759), 2, + sym_line_comment, + sym_block_comment, + [25138] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1673), 1, + anon_sym_RPAREN, + STATE(760), 2, + sym_line_comment, + sym_block_comment, + [25152] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1751), 1, + anon_sym_RPAREN, + STATE(761), 2, + sym_line_comment, + sym_block_comment, + [25166] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2072), 1, + sym__line_doc_content, + STATE(762), 2, + sym_line_comment, + sym_block_comment, + [25180] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2074), 1, + anon_sym_RBRACK, + STATE(763), 2, + sym_line_comment, + sym_block_comment, + [25194] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2076), 1, + anon_sym_RBRACK, + STATE(764), 2, + sym_line_comment, + sym_block_comment, + [25208] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2078), 1, + anon_sym_RBRACK, + STATE(765), 2, + sym_line_comment, + sym_block_comment, + [25222] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2080), 1, + sym_identifier, + STATE(766), 2, + sym_line_comment, + sym_block_comment, + [25236] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2082), 1, + sym_identifier, + STATE(767), 2, + sym_line_comment, + sym_block_comment, + [25250] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2084), 1, + sym_identifier, + STATE(768), 2, + sym_line_comment, + sym_block_comment, + [25264] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2086), 1, + anon_sym_SEMI, + STATE(769), 2, + sym_line_comment, + sym_block_comment, + [25278] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2088), 1, + sym_identifier, + STATE(770), 2, + sym_line_comment, + sym_block_comment, + [25292] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2090), 1, + anon_sym_SEMI, + STATE(771), 2, + sym_line_comment, + sym_block_comment, + [25306] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2092), 1, + anon_sym_RBRACE, + STATE(772), 2, + sym_line_comment, + sym_block_comment, + [25320] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2094), 1, + anon_sym_EQ_GT, + STATE(773), 2, + sym_line_comment, + sym_block_comment, + [25334] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1656), 1, + anon_sym_RPAREN, + STATE(774), 2, + sym_line_comment, + sym_block_comment, + [25348] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2096), 1, + anon_sym_LBRACE, + STATE(775), 2, + sym_line_comment, + sym_block_comment, + [25362] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2098), 1, + sym_identifier, + STATE(776), 2, + sym_line_comment, + sym_block_comment, + [25376] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1980), 1, + anon_sym_LBRACK, + STATE(777), 2, + sym_line_comment, + sym_block_comment, + [25390] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2100), 1, + sym_identifier, + STATE(778), 2, + sym_line_comment, + sym_block_comment, + [25404] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2102), 1, + anon_sym_LBRACK, + STATE(779), 2, + sym_line_comment, + sym_block_comment, + [25418] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2104), 1, + sym_identifier, + STATE(780), 2, + sym_line_comment, + sym_block_comment, + [25432] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2106), 1, + sym_identifier, + STATE(781), 2, + sym_line_comment, + sym_block_comment, + [25446] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2108), 1, + sym_identifier, + STATE(782), 2, + sym_line_comment, + sym_block_comment, + [25460] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2110), 1, + sym_identifier, + STATE(783), 2, + sym_line_comment, + sym_block_comment, + [25474] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1910), 1, + anon_sym_RBRACE, + STATE(784), 2, + sym_line_comment, + sym_block_comment, + [25488] = 4, + ACTIONS(3), 1, + anon_sym_SLASH_SLASH, + ACTIONS(5), 1, + anon_sym_SLASH_STAR, + ACTIONS(2112), 1, + aux_sym_line_comment_token2, + STATE(785), 2, + sym_line_comment, + sym_block_comment, + [25502] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2114), 1, + anon_sym_COLON, + STATE(786), 2, + sym_line_comment, + sym_block_comment, + [25516] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2116), 1, + anon_sym_RBRACE, + STATE(787), 2, + sym_line_comment, + sym_block_comment, + [25530] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2118), 1, + sym_identifier, + STATE(788), 2, + sym_line_comment, + sym_block_comment, + [25544] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1970), 1, + anon_sym_LBRACK, + STATE(789), 2, + sym_line_comment, + sym_block_comment, + [25558] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2120), 1, + anon_sym_EQ_GT, + STATE(790), 2, + sym_line_comment, + sym_block_comment, + [25572] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(346), 1, + anon_sym_RBRACK, + STATE(791), 2, + sym_line_comment, + sym_block_comment, + [25586] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2122), 1, + anon_sym_EQ_GT, + STATE(792), 2, + sym_line_comment, + sym_block_comment, + [25600] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(448), 1, + anon_sym_RBRACK, + STATE(793), 2, + sym_line_comment, + sym_block_comment, + [25614] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2124), 1, + sym_identifier, + STATE(794), 2, + sym_line_comment, + sym_block_comment, + [25628] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2126), 1, + sym_identifier, + STATE(795), 2, + sym_line_comment, + sym_block_comment, + [25642] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1753), 1, + anon_sym_RBRACE, + STATE(796), 2, + sym_line_comment, + sym_block_comment, + [25656] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2128), 1, + anon_sym_LBRACK, + STATE(797), 2, + sym_line_comment, + sym_block_comment, + [25670] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2130), 1, + sym_identifier, + STATE(798), 2, + sym_line_comment, + sym_block_comment, + [25684] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1794), 1, + anon_sym_RBRACE, + STATE(799), 2, + sym_line_comment, + sym_block_comment, + [25698] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2132), 1, + sym_identifier, + STATE(800), 2, + sym_line_comment, + sym_block_comment, + [25712] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2134), 1, + anon_sym_LBRACE, + STATE(801), 2, + sym_line_comment, + sym_block_comment, + [25726] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2136), 1, + anon_sym_LBRACK, + STATE(802), 2, + sym_line_comment, + sym_block_comment, + [25740] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2138), 1, + anon_sym_COLON, + STATE(803), 2, + sym_line_comment, + sym_block_comment, + [25754] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(2140), 1, + anon_sym_fn, + STATE(804), 2, + sym_line_comment, + sym_block_comment, + [25768] = 4, + ACTIONS(69), 1, + anon_sym_SLASH_SLASH, + ACTIONS(71), 1, + anon_sym_SLASH_STAR, + ACTIONS(1772), 1, + anon_sym_RPAREN, + STATE(805), 2, + sym_line_comment, + sym_block_comment, + [25782] = 1, + ACTIONS(2142), 1, + ts_builtin_sym_end, + [25786] = 1, + ACTIONS(2144), 1, + ts_builtin_sym_end, + [25790] = 1, + ACTIONS(2146), 1, + ts_builtin_sym_end, + [25794] = 1, + ACTIONS(2148), 1, + ts_builtin_sym_end, + [25798] = 1, + ACTIONS(2150), 1, + ts_builtin_sym_end, + [25802] = 1, + ACTIONS(2152), 1, + ts_builtin_sym_end, + [25806] = 1, + ACTIONS(2154), 1, + ts_builtin_sym_end, +}; + +static const uint32_t ts_small_parse_table_map[] = { + [SMALL_STATE(138)] = 0, + [SMALL_STATE(139)] = 72, + [SMALL_STATE(140)] = 144, + [SMALL_STATE(141)] = 216, + [SMALL_STATE(142)] = 287, + [SMALL_STATE(143)] = 358, + [SMALL_STATE(144)] = 429, + [SMALL_STATE(145)] = 500, + [SMALL_STATE(146)] = 571, + [SMALL_STATE(147)] = 642, + [SMALL_STATE(148)] = 712, + [SMALL_STATE(149)] = 782, + [SMALL_STATE(150)] = 850, + [SMALL_STATE(151)] = 918, + [SMALL_STATE(152)] = 978, + [SMALL_STATE(153)] = 1052, + [SMALL_STATE(154)] = 1112, + [SMALL_STATE(155)] = 1175, + [SMALL_STATE(156)] = 1235, + [SMALL_STATE(157)] = 1297, + [SMALL_STATE(158)] = 1358, + [SMALL_STATE(159)] = 1419, + [SMALL_STATE(160)] = 1476, + [SMALL_STATE(161)] = 1533, + [SMALL_STATE(162)] = 1590, + [SMALL_STATE(163)] = 1647, + [SMALL_STATE(164)] = 1704, + [SMALL_STATE(165)] = 1761, + [SMALL_STATE(166)] = 1818, + [SMALL_STATE(167)] = 1875, + [SMALL_STATE(168)] = 1932, + [SMALL_STATE(169)] = 1989, + [SMALL_STATE(170)] = 2046, + [SMALL_STATE(171)] = 2103, + [SMALL_STATE(172)] = 2160, + [SMALL_STATE(173)] = 2217, + [SMALL_STATE(174)] = 2274, + [SMALL_STATE(175)] = 2331, + [SMALL_STATE(176)] = 2388, + [SMALL_STATE(177)] = 2445, + [SMALL_STATE(178)] = 2502, + [SMALL_STATE(179)] = 2559, + [SMALL_STATE(180)] = 2616, + [SMALL_STATE(181)] = 2673, + [SMALL_STATE(182)] = 2730, + [SMALL_STATE(183)] = 2787, + [SMALL_STATE(184)] = 2844, + [SMALL_STATE(185)] = 2901, + [SMALL_STATE(186)] = 2958, + [SMALL_STATE(187)] = 3015, + [SMALL_STATE(188)] = 3072, + [SMALL_STATE(189)] = 3129, + [SMALL_STATE(190)] = 3186, + [SMALL_STATE(191)] = 3243, + [SMALL_STATE(192)] = 3300, + [SMALL_STATE(193)] = 3357, + [SMALL_STATE(194)] = 3414, + [SMALL_STATE(195)] = 3471, + [SMALL_STATE(196)] = 3528, + [SMALL_STATE(197)] = 3585, + [SMALL_STATE(198)] = 3642, + [SMALL_STATE(199)] = 3699, + [SMALL_STATE(200)] = 3756, + [SMALL_STATE(201)] = 3813, + [SMALL_STATE(202)] = 3870, + [SMALL_STATE(203)] = 3927, + [SMALL_STATE(204)] = 3984, + [SMALL_STATE(205)] = 4089, + [SMALL_STATE(206)] = 4194, + [SMALL_STATE(207)] = 4278, + [SMALL_STATE(208)] = 4362, + [SMALL_STATE(209)] = 4432, + [SMALL_STATE(210)] = 4516, + [SMALL_STATE(211)] = 4580, + [SMALL_STATE(212)] = 4648, + [SMALL_STATE(213)] = 4720, + [SMALL_STATE(214)] = 4822, + [SMALL_STATE(215)] = 4886, + [SMALL_STATE(216)] = 4950, + [SMALL_STATE(217)] = 5036, + [SMALL_STATE(218)] = 5120, + [SMALL_STATE(219)] = 5204, + [SMALL_STATE(220)] = 5266, + [SMALL_STATE(221)] = 5342, + [SMALL_STATE(222)] = 5420, + [SMALL_STATE(223)] = 5500, + [SMALL_STATE(224)] = 5586, + [SMALL_STATE(225)] = 5688, + [SMALL_STATE(226)] = 5768, + [SMALL_STATE(227)] = 5834, + [SMALL_STATE(228)] = 5889, + [SMALL_STATE(229)] = 5944, + [SMALL_STATE(230)] = 5999, + [SMALL_STATE(231)] = 6054, + [SMALL_STATE(232)] = 6109, + [SMALL_STATE(233)] = 6164, + [SMALL_STATE(234)] = 6219, + [SMALL_STATE(235)] = 6274, + [SMALL_STATE(236)] = 6329, + [SMALL_STATE(237)] = 6384, + [SMALL_STATE(238)] = 6439, + [SMALL_STATE(239)] = 6494, + [SMALL_STATE(240)] = 6549, + [SMALL_STATE(241)] = 6604, + [SMALL_STATE(242)] = 6659, + [SMALL_STATE(243)] = 6714, + [SMALL_STATE(244)] = 6769, + [SMALL_STATE(245)] = 6824, + [SMALL_STATE(246)] = 6879, + [SMALL_STATE(247)] = 6934, + [SMALL_STATE(248)] = 6989, + [SMALL_STATE(249)] = 7044, + [SMALL_STATE(250)] = 7099, + [SMALL_STATE(251)] = 7154, + [SMALL_STATE(252)] = 7209, + [SMALL_STATE(253)] = 7264, + [SMALL_STATE(254)] = 7319, + [SMALL_STATE(255)] = 7374, + [SMALL_STATE(256)] = 7429, + [SMALL_STATE(257)] = 7484, + [SMALL_STATE(258)] = 7539, + [SMALL_STATE(259)] = 7594, + [SMALL_STATE(260)] = 7649, + [SMALL_STATE(261)] = 7704, + [SMALL_STATE(262)] = 7759, + [SMALL_STATE(263)] = 7814, + [SMALL_STATE(264)] = 7869, + [SMALL_STATE(265)] = 7924, + [SMALL_STATE(266)] = 7979, + [SMALL_STATE(267)] = 8034, + [SMALL_STATE(268)] = 8089, + [SMALL_STATE(269)] = 8144, + [SMALL_STATE(270)] = 8241, + [SMALL_STATE(271)] = 8301, + [SMALL_STATE(272)] = 8363, + [SMALL_STATE(273)] = 8456, + [SMALL_STATE(274)] = 8549, + [SMALL_STATE(275)] = 8638, + [SMALL_STATE(276)] = 8733, + [SMALL_STATE(277)] = 8822, + [SMALL_STATE(278)] = 8914, + [SMALL_STATE(279)] = 8996, + [SMALL_STATE(280)] = 9082, + [SMALL_STATE(281)] = 9174, + [SMALL_STATE(282)] = 9260, + [SMALL_STATE(283)] = 9346, + [SMALL_STATE(284)] = 9432, + [SMALL_STATE(285)] = 9518, + [SMALL_STATE(286)] = 9600, + [SMALL_STATE(287)] = 9683, + [SMALL_STATE(288)] = 9764, + [SMALL_STATE(289)] = 9845, + [SMALL_STATE(290)] = 9926, + [SMALL_STATE(291)] = 10007, + [SMALL_STATE(292)] = 10090, + [SMALL_STATE(293)] = 10171, + [SMALL_STATE(294)] = 10252, + [SMALL_STATE(295)] = 10331, + [SMALL_STATE(296)] = 10406, + [SMALL_STATE(297)] = 10463, + [SMALL_STATE(298)] = 10534, + [SMALL_STATE(299)] = 10607, + [SMALL_STATE(300)] = 10668, + [SMALL_STATE(301)] = 10733, + [SMALL_STATE(302)] = 10796, + [SMALL_STATE(303)] = 10863, + [SMALL_STATE(304)] = 10922, + [SMALL_STATE(305)] = 11001, + [SMALL_STATE(306)] = 11084, + [SMALL_STATE(307)] = 11167, + [SMALL_STATE(308)] = 11250, + [SMALL_STATE(309)] = 11333, + [SMALL_STATE(310)] = 11416, + [SMALL_STATE(311)] = 11497, + [SMALL_STATE(312)] = 11578, + [SMALL_STATE(313)] = 11661, + [SMALL_STATE(314)] = 11744, + [SMALL_STATE(315)] = 11819, + [SMALL_STATE(316)] = 11898, + [SMALL_STATE(317)] = 11977, + [SMALL_STATE(318)] = 12060, + [SMALL_STATE(319)] = 12139, + [SMALL_STATE(320)] = 12222, + [SMALL_STATE(321)] = 12311, + [SMALL_STATE(322)] = 12394, + [SMALL_STATE(323)] = 12477, + [SMALL_STATE(324)] = 12560, + [SMALL_STATE(325)] = 12643, + [SMALL_STATE(326)] = 12724, + [SMALL_STATE(327)] = 12807, + [SMALL_STATE(328)] = 12887, + [SMALL_STATE(329)] = 12967, + [SMALL_STATE(330)] = 13045, + [SMALL_STATE(331)] = 13125, + [SMALL_STATE(332)] = 13205, + [SMALL_STATE(333)] = 13285, + [SMALL_STATE(334)] = 13371, + [SMALL_STATE(335)] = 13449, + [SMALL_STATE(336)] = 13529, + [SMALL_STATE(337)] = 13609, + [SMALL_STATE(338)] = 13689, + [SMALL_STATE(339)] = 13769, + [SMALL_STATE(340)] = 13849, + [SMALL_STATE(341)] = 13929, + [SMALL_STATE(342)] = 14009, + [SMALL_STATE(343)] = 14095, + [SMALL_STATE(344)] = 14175, + [SMALL_STATE(345)] = 14253, + [SMALL_STATE(346)] = 14331, + [SMALL_STATE(347)] = 14414, + [SMALL_STATE(348)] = 14497, + [SMALL_STATE(349)] = 14580, + [SMALL_STATE(350)] = 14633, + [SMALL_STATE(351)] = 14716, + [SMALL_STATE(352)] = 14796, + [SMALL_STATE(353)] = 14876, + [SMALL_STATE(354)] = 14956, + [SMALL_STATE(355)] = 15036, + [SMALL_STATE(356)] = 15116, + [SMALL_STATE(357)] = 15196, + [SMALL_STATE(358)] = 15276, + [SMALL_STATE(359)] = 15356, + [SMALL_STATE(360)] = 15436, + [SMALL_STATE(361)] = 15516, + [SMALL_STATE(362)] = 15596, + [SMALL_STATE(363)] = 15676, + [SMALL_STATE(364)] = 15723, + [SMALL_STATE(365)] = 15768, + [SMALL_STATE(366)] = 15846, + [SMALL_STATE(367)] = 15890, + [SMALL_STATE(368)] = 15934, + [SMALL_STATE(369)] = 16012, + [SMALL_STATE(370)] = 16090, + [SMALL_STATE(371)] = 16134, + [SMALL_STATE(372)] = 16212, + [SMALL_STATE(373)] = 16288, + [SMALL_STATE(374)] = 16349, + [SMALL_STATE(375)] = 16410, + [SMALL_STATE(376)] = 16452, + [SMALL_STATE(377)] = 16490, + [SMALL_STATE(378)] = 16528, + [SMALL_STATE(379)] = 16563, + [SMALL_STATE(380)] = 16598, + [SMALL_STATE(381)] = 16633, + [SMALL_STATE(382)] = 16668, + [SMALL_STATE(383)] = 16703, + [SMALL_STATE(384)] = 16738, + [SMALL_STATE(385)] = 16785, + [SMALL_STATE(386)] = 16832, + [SMALL_STATE(387)] = 16876, + [SMALL_STATE(388)] = 16908, + [SMALL_STATE(389)] = 16940, + [SMALL_STATE(390)] = 16972, + [SMALL_STATE(391)] = 17004, + [SMALL_STATE(392)] = 17036, + [SMALL_STATE(393)] = 17068, + [SMALL_STATE(394)] = 17100, + [SMALL_STATE(395)] = 17132, + [SMALL_STATE(396)] = 17164, + [SMALL_STATE(397)] = 17195, + [SMALL_STATE(398)] = 17226, + [SMALL_STATE(399)] = 17257, + [SMALL_STATE(400)] = 17288, + [SMALL_STATE(401)] = 17319, + [SMALL_STATE(402)] = 17350, + [SMALL_STATE(403)] = 17381, + [SMALL_STATE(404)] = 17412, + [SMALL_STATE(405)] = 17443, + [SMALL_STATE(406)] = 17474, + [SMALL_STATE(407)] = 17505, + [SMALL_STATE(408)] = 17536, + [SMALL_STATE(409)] = 17567, + [SMALL_STATE(410)] = 17598, + [SMALL_STATE(411)] = 17629, + [SMALL_STATE(412)] = 17660, + [SMALL_STATE(413)] = 17691, + [SMALL_STATE(414)] = 17722, + [SMALL_STATE(415)] = 17753, + [SMALL_STATE(416)] = 17794, + [SMALL_STATE(417)] = 17825, + [SMALL_STATE(418)] = 17856, + [SMALL_STATE(419)] = 17887, + [SMALL_STATE(420)] = 17918, + [SMALL_STATE(421)] = 17949, + [SMALL_STATE(422)] = 17980, + [SMALL_STATE(423)] = 18011, + [SMALL_STATE(424)] = 18042, + [SMALL_STATE(425)] = 18073, + [SMALL_STATE(426)] = 18104, + [SMALL_STATE(427)] = 18135, + [SMALL_STATE(428)] = 18166, + [SMALL_STATE(429)] = 18210, + [SMALL_STATE(430)] = 18251, + [SMALL_STATE(431)] = 18292, + [SMALL_STATE(432)] = 18324, + [SMALL_STATE(433)] = 18362, + [SMALL_STATE(434)] = 18400, + [SMALL_STATE(435)] = 18438, + [SMALL_STATE(436)] = 18466, + [SMALL_STATE(437)] = 18494, + [SMALL_STATE(438)] = 18522, + [SMALL_STATE(439)] = 18560, + [SMALL_STATE(440)] = 18598, + [SMALL_STATE(441)] = 18626, + [SMALL_STATE(442)] = 18654, + [SMALL_STATE(443)] = 18696, + [SMALL_STATE(444)] = 18736, + [SMALL_STATE(445)] = 18764, + [SMALL_STATE(446)] = 18792, + [SMALL_STATE(447)] = 18817, + [SMALL_STATE(448)] = 18842, + [SMALL_STATE(449)] = 18867, + [SMALL_STATE(450)] = 18892, + [SMALL_STATE(451)] = 18917, + [SMALL_STATE(452)] = 18942, + [SMALL_STATE(453)] = 18967, + [SMALL_STATE(454)] = 19008, + [SMALL_STATE(455)] = 19045, + [SMALL_STATE(456)] = 19070, + [SMALL_STATE(457)] = 19095, + [SMALL_STATE(458)] = 19132, + [SMALL_STATE(459)] = 19173, + [SMALL_STATE(460)] = 19198, + [SMALL_STATE(461)] = 19223, + [SMALL_STATE(462)] = 19248, + [SMALL_STATE(463)] = 19273, + [SMALL_STATE(464)] = 19298, + [SMALL_STATE(465)] = 19323, + [SMALL_STATE(466)] = 19348, + [SMALL_STATE(467)] = 19373, + [SMALL_STATE(468)] = 19398, + [SMALL_STATE(469)] = 19423, + [SMALL_STATE(470)] = 19448, + [SMALL_STATE(471)] = 19473, + [SMALL_STATE(472)] = 19498, + [SMALL_STATE(473)] = 19523, + [SMALL_STATE(474)] = 19548, + [SMALL_STATE(475)] = 19573, + [SMALL_STATE(476)] = 19598, + [SMALL_STATE(477)] = 19636, + [SMALL_STATE(478)] = 19674, + [SMALL_STATE(479)] = 19712, + [SMALL_STATE(480)] = 19750, + [SMALL_STATE(481)] = 19788, + [SMALL_STATE(482)] = 19822, + [SMALL_STATE(483)] = 19860, + [SMALL_STATE(484)] = 19895, + [SMALL_STATE(485)] = 19930, + [SMALL_STATE(486)] = 19953, + [SMALL_STATE(487)] = 19988, + [SMALL_STATE(488)] = 20023, + [SMALL_STATE(489)] = 20049, + [SMALL_STATE(490)] = 20069, + [SMALL_STATE(491)] = 20095, + [SMALL_STATE(492)] = 20117, + [SMALL_STATE(493)] = 20143, + [SMALL_STATE(494)] = 20169, + [SMALL_STATE(495)] = 20201, + [SMALL_STATE(496)] = 20221, + [SMALL_STATE(497)] = 20247, + [SMALL_STATE(498)] = 20273, + [SMALL_STATE(499)] = 20299, + [SMALL_STATE(500)] = 20328, + [SMALL_STATE(501)] = 20357, + [SMALL_STATE(502)] = 20386, + [SMALL_STATE(503)] = 20415, + [SMALL_STATE(504)] = 20444, + [SMALL_STATE(505)] = 20469, + [SMALL_STATE(506)] = 20494, + [SMALL_STATE(507)] = 20517, + [SMALL_STATE(508)] = 20544, + [SMALL_STATE(509)] = 20571, + [SMALL_STATE(510)] = 20597, + [SMALL_STATE(511)] = 20623, + [SMALL_STATE(512)] = 20649, + [SMALL_STATE(513)] = 20675, + [SMALL_STATE(514)] = 20699, + [SMALL_STATE(515)] = 20723, + [SMALL_STATE(516)] = 20749, + [SMALL_STATE(517)] = 20775, + [SMALL_STATE(518)] = 20801, + [SMALL_STATE(519)] = 20827, + [SMALL_STATE(520)] = 20853, + [SMALL_STATE(521)] = 20879, + [SMALL_STATE(522)] = 20905, + [SMALL_STATE(523)] = 20931, + [SMALL_STATE(524)] = 20957, + [SMALL_STATE(525)] = 20983, + [SMALL_STATE(526)] = 21009, + [SMALL_STATE(527)] = 21035, + [SMALL_STATE(528)] = 21061, + [SMALL_STATE(529)] = 21083, + [SMALL_STATE(530)] = 21109, + [SMALL_STATE(531)] = 21133, + [SMALL_STATE(532)] = 21153, + [SMALL_STATE(533)] = 21179, + [SMALL_STATE(534)] = 21205, + [SMALL_STATE(535)] = 21229, + [SMALL_STATE(536)] = 21253, + [SMALL_STATE(537)] = 21277, + [SMALL_STATE(538)] = 21300, + [SMALL_STATE(539)] = 21321, + [SMALL_STATE(540)] = 21342, + [SMALL_STATE(541)] = 21365, + [SMALL_STATE(542)] = 21386, + [SMALL_STATE(543)] = 21407, + [SMALL_STATE(544)] = 21430, + [SMALL_STATE(545)] = 21453, + [SMALL_STATE(546)] = 21472, + [SMALL_STATE(547)] = 21495, + [SMALL_STATE(548)] = 21514, + [SMALL_STATE(549)] = 21537, + [SMALL_STATE(550)] = 21560, + [SMALL_STATE(551)] = 21581, + [SMALL_STATE(552)] = 21600, + [SMALL_STATE(553)] = 21619, + [SMALL_STATE(554)] = 21640, + [SMALL_STATE(555)] = 21663, + [SMALL_STATE(556)] = 21686, + [SMALL_STATE(557)] = 21707, + [SMALL_STATE(558)] = 21726, + [SMALL_STATE(559)] = 21749, + [SMALL_STATE(560)] = 21770, + [SMALL_STATE(561)] = 21793, + [SMALL_STATE(562)] = 21813, + [SMALL_STATE(563)] = 21833, + [SMALL_STATE(564)] = 21849, + [SMALL_STATE(565)] = 21869, + [SMALL_STATE(566)] = 21885, + [SMALL_STATE(567)] = 21905, + [SMALL_STATE(568)] = 21925, + [SMALL_STATE(569)] = 21945, + [SMALL_STATE(570)] = 21961, + [SMALL_STATE(571)] = 21981, + [SMALL_STATE(572)] = 22001, + [SMALL_STATE(573)] = 22021, + [SMALL_STATE(574)] = 22041, + [SMALL_STATE(575)] = 22061, + [SMALL_STATE(576)] = 22081, + [SMALL_STATE(577)] = 22101, + [SMALL_STATE(578)] = 22119, + [SMALL_STATE(579)] = 22139, + [SMALL_STATE(580)] = 22157, + [SMALL_STATE(581)] = 22177, + [SMALL_STATE(582)] = 22197, + [SMALL_STATE(583)] = 22217, + [SMALL_STATE(584)] = 22237, + [SMALL_STATE(585)] = 22253, + [SMALL_STATE(586)] = 22271, + [SMALL_STATE(587)] = 22287, + [SMALL_STATE(588)] = 22307, + [SMALL_STATE(589)] = 22327, + [SMALL_STATE(590)] = 22347, + [SMALL_STATE(591)] = 22365, + [SMALL_STATE(592)] = 22381, + [SMALL_STATE(593)] = 22401, + [SMALL_STATE(594)] = 22421, + [SMALL_STATE(595)] = 22439, + [SMALL_STATE(596)] = 22455, + [SMALL_STATE(597)] = 22475, + [SMALL_STATE(598)] = 22495, + [SMALL_STATE(599)] = 22511, + [SMALL_STATE(600)] = 22529, + [SMALL_STATE(601)] = 22549, + [SMALL_STATE(602)] = 22569, + [SMALL_STATE(603)] = 22585, + [SMALL_STATE(604)] = 22601, + [SMALL_STATE(605)] = 22619, + [SMALL_STATE(606)] = 22637, + [SMALL_STATE(607)] = 22657, + [SMALL_STATE(608)] = 22677, + [SMALL_STATE(609)] = 22695, + [SMALL_STATE(610)] = 22715, + [SMALL_STATE(611)] = 22735, + [SMALL_STATE(612)] = 22753, + [SMALL_STATE(613)] = 22773, + [SMALL_STATE(614)] = 22793, + [SMALL_STATE(615)] = 22811, + [SMALL_STATE(616)] = 22827, + [SMALL_STATE(617)] = 22845, + [SMALL_STATE(618)] = 22861, + [SMALL_STATE(619)] = 22881, + [SMALL_STATE(620)] = 22901, + [SMALL_STATE(621)] = 22921, + [SMALL_STATE(622)] = 22937, + [SMALL_STATE(623)] = 22957, + [SMALL_STATE(624)] = 22977, + [SMALL_STATE(625)] = 22997, + [SMALL_STATE(626)] = 23013, + [SMALL_STATE(627)] = 23033, + [SMALL_STATE(628)] = 23049, + [SMALL_STATE(629)] = 23065, + [SMALL_STATE(630)] = 23085, + [SMALL_STATE(631)] = 23105, + [SMALL_STATE(632)] = 23125, + [SMALL_STATE(633)] = 23145, + [SMALL_STATE(634)] = 23165, + [SMALL_STATE(635)] = 23185, + [SMALL_STATE(636)] = 23203, + [SMALL_STATE(637)] = 23219, + [SMALL_STATE(638)] = 23235, + [SMALL_STATE(639)] = 23255, + [SMALL_STATE(640)] = 23275, + [SMALL_STATE(641)] = 23295, + [SMALL_STATE(642)] = 23315, + [SMALL_STATE(643)] = 23333, + [SMALL_STATE(644)] = 23353, + [SMALL_STATE(645)] = 23373, + [SMALL_STATE(646)] = 23393, + [SMALL_STATE(647)] = 23413, + [SMALL_STATE(648)] = 23430, + [SMALL_STATE(649)] = 23445, + [SMALL_STATE(650)] = 23460, + [SMALL_STATE(651)] = 23477, + [SMALL_STATE(652)] = 23494, + [SMALL_STATE(653)] = 23511, + [SMALL_STATE(654)] = 23528, + [SMALL_STATE(655)] = 23543, + [SMALL_STATE(656)] = 23560, + [SMALL_STATE(657)] = 23575, + [SMALL_STATE(658)] = 23590, + [SMALL_STATE(659)] = 23605, + [SMALL_STATE(660)] = 23620, + [SMALL_STATE(661)] = 23637, + [SMALL_STATE(662)] = 23652, + [SMALL_STATE(663)] = 23667, + [SMALL_STATE(664)] = 23684, + [SMALL_STATE(665)] = 23699, + [SMALL_STATE(666)] = 23714, + [SMALL_STATE(667)] = 23731, + [SMALL_STATE(668)] = 23748, + [SMALL_STATE(669)] = 23765, + [SMALL_STATE(670)] = 23780, + [SMALL_STATE(671)] = 23797, + [SMALL_STATE(672)] = 23814, + [SMALL_STATE(673)] = 23831, + [SMALL_STATE(674)] = 23848, + [SMALL_STATE(675)] = 23865, + [SMALL_STATE(676)] = 23882, + [SMALL_STATE(677)] = 23899, + [SMALL_STATE(678)] = 23916, + [SMALL_STATE(679)] = 23931, + [SMALL_STATE(680)] = 23948, + [SMALL_STATE(681)] = 23963, + [SMALL_STATE(682)] = 23980, + [SMALL_STATE(683)] = 23997, + [SMALL_STATE(684)] = 24014, + [SMALL_STATE(685)] = 24031, + [SMALL_STATE(686)] = 24048, + [SMALL_STATE(687)] = 24065, + [SMALL_STATE(688)] = 24082, + [SMALL_STATE(689)] = 24099, + [SMALL_STATE(690)] = 24114, + [SMALL_STATE(691)] = 24131, + [SMALL_STATE(692)] = 24148, + [SMALL_STATE(693)] = 24165, + [SMALL_STATE(694)] = 24180, + [SMALL_STATE(695)] = 24195, + [SMALL_STATE(696)] = 24212, + [SMALL_STATE(697)] = 24227, + [SMALL_STATE(698)] = 24242, + [SMALL_STATE(699)] = 24257, + [SMALL_STATE(700)] = 24272, + [SMALL_STATE(701)] = 24289, + [SMALL_STATE(702)] = 24304, + [SMALL_STATE(703)] = 24321, + [SMALL_STATE(704)] = 24338, + [SMALL_STATE(705)] = 24355, + [SMALL_STATE(706)] = 24372, + [SMALL_STATE(707)] = 24389, + [SMALL_STATE(708)] = 24406, + [SMALL_STATE(709)] = 24423, + [SMALL_STATE(710)] = 24438, + [SMALL_STATE(711)] = 24452, + [SMALL_STATE(712)] = 24466, + [SMALL_STATE(713)] = 24480, + [SMALL_STATE(714)] = 24494, + [SMALL_STATE(715)] = 24508, + [SMALL_STATE(716)] = 24522, + [SMALL_STATE(717)] = 24536, + [SMALL_STATE(718)] = 24550, + [SMALL_STATE(719)] = 24564, + [SMALL_STATE(720)] = 24578, + [SMALL_STATE(721)] = 24592, + [SMALL_STATE(722)] = 24606, + [SMALL_STATE(723)] = 24620, + [SMALL_STATE(724)] = 24634, + [SMALL_STATE(725)] = 24648, + [SMALL_STATE(726)] = 24662, + [SMALL_STATE(727)] = 24676, + [SMALL_STATE(728)] = 24690, + [SMALL_STATE(729)] = 24704, + [SMALL_STATE(730)] = 24718, + [SMALL_STATE(731)] = 24732, + [SMALL_STATE(732)] = 24746, + [SMALL_STATE(733)] = 24760, + [SMALL_STATE(734)] = 24774, + [SMALL_STATE(735)] = 24788, + [SMALL_STATE(736)] = 24802, + [SMALL_STATE(737)] = 24816, + [SMALL_STATE(738)] = 24830, + [SMALL_STATE(739)] = 24844, + [SMALL_STATE(740)] = 24858, + [SMALL_STATE(741)] = 24872, + [SMALL_STATE(742)] = 24886, + [SMALL_STATE(743)] = 24900, + [SMALL_STATE(744)] = 24914, + [SMALL_STATE(745)] = 24928, + [SMALL_STATE(746)] = 24942, + [SMALL_STATE(747)] = 24956, + [SMALL_STATE(748)] = 24970, + [SMALL_STATE(749)] = 24984, + [SMALL_STATE(750)] = 24998, + [SMALL_STATE(751)] = 25012, + [SMALL_STATE(752)] = 25026, + [SMALL_STATE(753)] = 25040, + [SMALL_STATE(754)] = 25054, + [SMALL_STATE(755)] = 25068, + [SMALL_STATE(756)] = 25082, + [SMALL_STATE(757)] = 25096, + [SMALL_STATE(758)] = 25110, + [SMALL_STATE(759)] = 25124, + [SMALL_STATE(760)] = 25138, + [SMALL_STATE(761)] = 25152, + [SMALL_STATE(762)] = 25166, + [SMALL_STATE(763)] = 25180, + [SMALL_STATE(764)] = 25194, + [SMALL_STATE(765)] = 25208, + [SMALL_STATE(766)] = 25222, + [SMALL_STATE(767)] = 25236, + [SMALL_STATE(768)] = 25250, + [SMALL_STATE(769)] = 25264, + [SMALL_STATE(770)] = 25278, + [SMALL_STATE(771)] = 25292, + [SMALL_STATE(772)] = 25306, + [SMALL_STATE(773)] = 25320, + [SMALL_STATE(774)] = 25334, + [SMALL_STATE(775)] = 25348, + [SMALL_STATE(776)] = 25362, + [SMALL_STATE(777)] = 25376, + [SMALL_STATE(778)] = 25390, + [SMALL_STATE(779)] = 25404, + [SMALL_STATE(780)] = 25418, + [SMALL_STATE(781)] = 25432, + [SMALL_STATE(782)] = 25446, + [SMALL_STATE(783)] = 25460, + [SMALL_STATE(784)] = 25474, + [SMALL_STATE(785)] = 25488, + [SMALL_STATE(786)] = 25502, + [SMALL_STATE(787)] = 25516, + [SMALL_STATE(788)] = 25530, + [SMALL_STATE(789)] = 25544, + [SMALL_STATE(790)] = 25558, + [SMALL_STATE(791)] = 25572, + [SMALL_STATE(792)] = 25586, + [SMALL_STATE(793)] = 25600, + [SMALL_STATE(794)] = 25614, + [SMALL_STATE(795)] = 25628, + [SMALL_STATE(796)] = 25642, + [SMALL_STATE(797)] = 25656, + [SMALL_STATE(798)] = 25670, + [SMALL_STATE(799)] = 25684, + [SMALL_STATE(800)] = 25698, + [SMALL_STATE(801)] = 25712, + [SMALL_STATE(802)] = 25726, + [SMALL_STATE(803)] = 25740, + [SMALL_STATE(804)] = 25754, + [SMALL_STATE(805)] = 25768, + [SMALL_STATE(806)] = 25782, + [SMALL_STATE(807)] = 25786, + [SMALL_STATE(808)] = 25790, + [SMALL_STATE(809)] = 25794, + [SMALL_STATE(810)] = 25798, + [SMALL_STATE(811)] = 25802, + [SMALL_STATE(812)] = 25806, +}; + +static const TSParseActionEntry ts_parse_actions[] = { + [0] = {.entry = {.count = 0, .reusable = false}}, + [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), + [3] = {.entry = {.count = 1, .reusable = false}}, SHIFT(494), + [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(510), + [7] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(210), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(700), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(748), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(788), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(740), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(511), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(745), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(362), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(432), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(649), + [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(485), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(703), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(3), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(4), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(679), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(355), + [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(5), + [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556), + [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172), + [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(510), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(711), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(491), + [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), + [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 1, 0, 0), + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), + [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 1, 0, 0), + [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(540), + [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(133), + [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), + [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(663), + [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(360), + [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_expression, 1, 0, 0), + [103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_expression, 1, 0, 0), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(7), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(703), + [109] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield_expression, 1, 0, 0), + [111] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield_expression, 1, 0, 0), + [113] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_expression, 1, 0, 0), + [115] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_expression, 1, 0, 0), + [117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 2, 0, 0), + [119] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 2, 0, 0), + [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(270), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(120), + [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(543), + [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), + [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), + [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), + [135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(210), + [142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(241), + [145] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(700), + [148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(50), + [151] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(110), + [154] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(748), + [157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(19), + [160] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(788), + [163] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(740), + [166] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(72), + [169] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(511), + [172] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(745), + [175] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(362), + [178] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(432), + [181] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(649), + [184] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(485), + [187] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(2), + [190] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(703), + [193] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(3), + [196] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(4), + [199] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(53), + [202] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(89), + [205] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(67), + [208] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(679), + [211] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(355), + [214] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(5), + [217] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(167), + [220] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(184), + [223] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(556), + [226] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(172), + [229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(155), + [232] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(711), + [235] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(491), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 3, 0, 21), + [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 3, 0, 21), + [254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(538), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4, 0, 0), + [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4, 0, 0), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), + [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_expression, 3, 0, 22), + [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_expression, 3, 0, 22), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 3, 0, 23), + [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_expression, 3, 0, 23), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, 0, 39), + [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_expression, 4, 0, 39), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_block, 2, 0, 0), + [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_block, 2, 0, 0), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2, 0, 0), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 2, 0, 0), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_block, 3, 0, 0), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_block, 3, 0, 0), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 5, 0, 50), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expression, 5, 0, 50), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_async_block, 2, 0, 0), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_async_block, 2, 0, 0), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_loop_expression, 2, 0, 5), + [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_loop_expression, 2, 0, 5), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_block, 4, 0, 0), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_block, 4, 0, 0), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 1, 0, 0), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 1, 0, 0), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_except_range, 1, 0, 0), + [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_except_range, 1, 0, 0), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2, 0, 0), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2, 0, 0), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4, 0, 0), + [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4, 0, 0), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 1, 0, 0), + [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 1, 0, 0), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 6, 0, 0), + [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 6, 0, 0), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 5, 0, 0), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 5, 0, 0), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 3, 0, 0), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 3, 0, 0), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_macro_invocation, 3, 0, 24), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_macro_invocation, 3, 0, 24), + [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(789), + [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(793), + [350] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(149), + [353] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT_REPEAT(789), + [356] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(50), + [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), + [361] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(110), + [364] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(22), + [367] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(72), + [370] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(540), + [373] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(649), + [376] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(2), + [379] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(703), + [382] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(3), + [385] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(4), + [388] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(65), + [391] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(133), + [394] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(66), + [397] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(663), + [400] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(360), + [403] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(5), + [406] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(167), + [409] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(184), + [412] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(556), + [415] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(172), + [418] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(155), + [421] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT(711), + [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(791), + [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(729), + [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(757), + [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [438] = {.entry = {.count = 1, .reusable = false}}, SHIFT(354), + [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [450] = {.entry = {.count = 1, .reusable = false}}, SHIFT(351), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [466] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(149), + [469] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(50), + [472] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(110), + [475] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(22), + [478] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(72), + [481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), + [483] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(540), + [486] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(649), + [489] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(2), + [492] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(703), + [495] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(3), + [498] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(4), + [501] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(65), + [504] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(133), + [507] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(66), + [510] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(663), + [513] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(360), + [516] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(5), + [519] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(167), + [522] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(184), + [525] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(556), + [528] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(172), + [531] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(155), + [534] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(711), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [545] = {.entry = {.count = 1, .reusable = false}}, SHIFT(555), + [547] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_arm, 4, 0, 49), + [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 4, 0, 49), + [551] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_arm, 3, 0, 56), + [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 3, 0, 56), + [555] = {.entry = {.count = 1, .reusable = false}}, SHIFT(677), + [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(699), + [561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_scoped_identifier, 3, 0, 25), + [563] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_scoped_identifier, 3, 0, 25), + [565] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_closure_parameters, 2, 0, 0), + [567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closure_parameters, 2, 0, 0), + [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [571] = {.entry = {.count = 1, .reusable = false}}, SHIFT(451), + [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_scoped_identifier, 2, 0, 3), + [575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_scoped_identifier, 2, 0, 3), + [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(553), + [579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), + [581] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), + [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 0), + [587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [589] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 0), + [591] = {.entry = {.count = 1, .reusable = false}}, SHIFT(607), + [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 27), + [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 27), + [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_await_expression, 3, 0, 0), + [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_await_expression, 3, 0, 0), + [601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expression, 3, 0, 28), + [603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_expression, 3, 0, 28), + [605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_expression, 3, 0, 29), + [607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_expression, 3, 0, 29), + [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_item, 4, 0, 0), + [611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attribute_item, 4, 0, 0), + [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 4, 0, 0), + [615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_expression, 4, 0, 0), + [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 4, 0, 0), + [619] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 4, 0, 0), + [621] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer_list, 2, 0, 0), + [623] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_initializer_list, 2, 0, 0), + [625] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer_list, 3, 0, 0), + [627] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_initializer_list, 3, 0, 0), + [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_expression, 1, 0, 0), + [631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_expression, 1, 0, 0), + [633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 4, 0, 0), + [635] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 4, 0, 0), + [637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 5, 0, 46), + [639] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_expression, 5, 0, 46), + [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 5, 0, 0), + [643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_expression, 5, 0, 0), + [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 5, 0, 0), + [647] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 5, 0, 0), + [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer_list, 4, 0, 0), + [655] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_initializer_list, 4, 0, 0), + [657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2, 0, 0), + [659] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2, 0, 0), + [661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, 0, 53), + [663] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_expression, 6, 0, 53), + [665] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, 0, 0), + [667] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_expression, 6, 0, 0), + [669] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_expression, 2, 0, 6), + [671] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_expression, 2, 0, 6), + [673] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 6, 0, 0), + [675] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 6, 0, 0), + [677] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, 0, 7), + [679] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, 0, 7), + [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer_list, 5, 0, 0), + [683] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_initializer_list, 5, 0, 0), + [685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3, 0, 0), + [687] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3, 0, 0), + [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 7, 0, 0), + [691] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_expression, 7, 0, 0), + [693] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 7, 0, 0), + [695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 7, 0, 0), + [697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal, 1, 0, 0), + [699] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__literal, 1, 0, 0), + [701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_expression, 2, 0, 8), + [703] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_expression, 2, 0, 8), + [705] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 3, 0, 0), + [707] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_expression, 3, 0, 0), + [709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 2, 0, 0), + [711] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_expression, 2, 0, 0), + [713] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [715] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [717] = {.entry = {.count = 1, .reusable = false}}, SHIFT(386), + [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(708), + [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), + [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(661), + [729] = {.entry = {.count = 1, .reusable = false}}, SHIFT(373), + [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(689), + [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), + [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [739] = {.entry = {.count = 1, .reusable = false}}, SHIFT(435), + [741] = {.entry = {.count = 1, .reusable = false}}, SHIFT(550), + [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [745] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_expression, 2, 0, 0), + [747] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_expression, 2, 0, 0), + [749] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), + [751] = {.entry = {.count = 1, .reusable = false}}, SHIFT(8), + [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [755] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [761] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), + [763] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), + [765] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), + [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [769] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [771] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield_expression, 2, 0, 0), + [775] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield_expression, 2, 0, 0), + [777] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_expression, 2, 0, 0), + [779] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_expression, 2, 0, 0), + [781] = {.entry = {.count = 1, .reusable = false}}, SHIFT(695), + [783] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closure_expression, 2, 0, 9), + [785] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [789] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, 0, 26), + [791] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, 0, 26), + [793] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_assignment_expr, 3, 0, 27), + [795] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_assignment_expr, 3, 0, 27), + [797] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closure_expression, 3, 0, 15), + [799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_expression, 3, 0, 0), + [801] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_expression, 3, 0, 0), + [803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant_list, 3, 0, 0), + [805] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_variant_list, 3, 0, 0), + [807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_item, 6, 0, 60), + [809] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_item, 6, 0, 60), + [811] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), + [813] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), + [815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_item, 4, 0, 33), + [817] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_item, 4, 0, 33), + [819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 5, 0, 47), + [821] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 5, 0, 47), + [823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 5, 0, 54), + [825] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 5, 0, 54), + [827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant_list, 5, 0, 0), + [829] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_variant_list, 5, 0, 0), + [831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 1, 0, 0), + [833] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 1, 0, 0), + [835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 6, 0, 54), + [837] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 6, 0, 54), + [839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant_list, 6, 0, 0), + [841] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_variant_list, 6, 0, 0), + [843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_declaration, 5, 0, 49), + [845] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_declaration, 5, 0, 49), + [847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_mod_item, 4, 0, 40), + [849] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_mod_item, 4, 0, 40), + [851] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_mod_item, 4, 0, 41), + [853] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_mod_item, 4, 0, 41), + [855] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_empty_statement, 1, 0, 0), + [857] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_empty_statement, 1, 0, 0), + [859] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_item, 4, 0, 42), + [861] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_item, 4, 0, 42), + [863] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_item, 5, 0, 43), + [865] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_item, 5, 0, 43), + [867] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_item, 4, 0, 43), + [869] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_item, 4, 0, 43), + [871] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_item, 4, 0, 43), + [873] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_item, 4, 0, 43), + [875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_declaration, 4, 0, 44), + [877] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_use_declaration, 4, 0, 44), + [879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_mod_item, 3, 0, 3), + [881] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_mod_item, 3, 0, 3), + [883] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 2, 0, 0), + [885] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 2, 0, 0), + [887] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_mod_item, 3, 0, 12), + [889] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_mod_item, 3, 0, 12), + [891] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_item, 3, 0, 13), + [893] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_item, 3, 0, 13), + [895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 2, 0, 0), + [897] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 2, 0, 0), + [899] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_inner_attribute_item, 5, 0, 0), + [901] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_inner_attribute_item, 5, 0, 0), + [903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 4, 0, 47), + [905] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 4, 0, 47), + [907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 4, 0, 54), + [909] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 4, 0, 54), + [911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant_list, 4, 0, 0), + [913] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_variant_list, 4, 0, 0), + [915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_item, 3, 0, 14), + [917] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_item, 3, 0, 14), + [919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_item, 3, 0, 14), + [921] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_item, 3, 0, 14), + [923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_list, 3, 0, 0), + [925] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_declaration_list, 3, 0, 0), + [927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 3, 0, 0), + [929] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 3, 0, 0), + [931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_item, 4, 0, 14), + [933] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_item, 4, 0, 14), + [935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_declaration_list, 3, 0, 47), + [937] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_declaration_list, 3, 0, 47), + [939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_item, 5, 0, 48), + [941] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_item, 5, 0, 48), + [943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_declaration, 3, 0, 18), + [945] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_declaration, 3, 0, 18), + [947] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant_list, 2, 0, 0), + [949] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_variant_list, 2, 0, 0), + [951] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_declaration, 3, 0, 20), + [953] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_use_declaration, 3, 0, 20), + [955] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(386), + [958] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(708), + [961] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(333), + [964] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(275), + [967] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(661), + [970] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(373), + [973] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(385), + [976] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(689), + [979] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(357), + [982] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(451), + [985] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(437), + [988] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(539), + [991] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(435), + [994] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_block_repeat1, 2, 0, 0), SHIFT_REPEAT(550), + [997] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__expression_except_range, 1, 0, 0), SHIFT(443), + [1000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [1002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [1004] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), + [1006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(760), + [1010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [1012] = {.entry = {.count = 1, .reusable = false}}, SHIFT(670), + [1014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [1016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [1018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [1020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [1022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arguments_repeat1, 2, 0, 0), + [1024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [1026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [1028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [1030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [1032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [1036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [1040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_arguments_repeat1, 3, 0, 0), + [1042] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [1046] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), + [1048] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), + [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [1052] = {.entry = {.count = 1, .reusable = false}}, SHIFT(97), + [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [1058] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), + [1060] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [1062] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [1066] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [1068] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), + [1070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [1072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer, 4, 0, 58), + [1074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer, 4, 0, 59), + [1076] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), + [1078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [1080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [1082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer, 3, 0, 51), + [1084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_initializer, 3, 0, 52), + [1086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [1088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [1090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_last_match_arm, 4, 0, 49), + [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), + [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [1098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [1100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [1102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [1104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_last_match_arm, 3, 0, 56), + [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [1110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_field_initializer, 2, 0, 0), + [1112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, 0, 45), + [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [1116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_condition, 4, 0, 49), + [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__condition, 1, 0, 0), + [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), + [1126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(727), + [1128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__let_chain, 3, 0, 0), + [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [1132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), + [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [1138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [1140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [1142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(774), + [1144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), + [1146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), + [1152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), + [1154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), + [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [1158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(442), + [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [1162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_enum_variant_list_repeat1, 1, 0, 0), + [1164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 1, 0, 0), + [1166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), + [1168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(686), + [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(706), + [1174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(766), + [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [1178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(767), + [1180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(768), + [1182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(732), + [1184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(795), + [1186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(356), + [1188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(439), + [1190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_closure_parameters, 4, 0, 0), + [1192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closure_parameters, 4, 0, 0), + [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), + [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [1198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_closure_parameters, 3, 0, 0), + [1200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_closure_parameters, 3, 0, 0), + [1202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [1204] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(686), + [1207] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(418), + [1210] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(706), + [1213] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(766), + [1216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), + [1218] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(767), + [1221] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(768), + [1224] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(732), + [1227] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(795), + [1230] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(356), + [1233] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(439), + [1236] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(649), + [1239] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(485), + [1242] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(711), + [1245] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(491), + [1248] = {.entry = {.count = 1, .reusable = false}}, SHIFT(444), + [1250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_remaining_field_pattern, 1, 0, 0), + [1252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_remaining_field_pattern, 1, 0, 0), + [1254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(445), + [1256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_pattern, 2, 0, 17), + [1258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_pattern, 2, 0, 17), + [1260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_arm_repeat1, 2, 0, 0), + [1262] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_arm_repeat1, 2, 0, 0), SHIFT_REPEAT(708), + [1265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_arm_repeat1, 2, 0, 0), + [1267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_arm, 5, 0, 49), + [1269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 5, 0, 49), + [1271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_last_match_arm, 5, 0, 49), + [1273] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_arm, 4, 0, 56), + [1275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_arm, 4, 0, 56), + [1277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_last_match_arm, 4, 0, 56), + [1279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_arm_repeat1, 1, 0, 0), + [1281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_arm_repeat1, 1, 0, 0), + [1283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_block_repeat1, 1, 0, 0), + [1285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_block_repeat1, 1, 0, 0), + [1287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__pattern, 1, 0, 0), + [1289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__pattern, 1, 0, 0), + [1291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508), + [1293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), + [1295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(678), + [1297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(374), + [1299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [1301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [1303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), + [1305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_declaration_list_repeat1, 1, 0, 0), + [1307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_list_repeat1, 1, 0, 0), + [1309] = {.entry = {.count = 1, .reusable = false}}, SHIFT(528), + [1311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), + [1313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), + [1315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(799), + [1317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536), + [1319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591), + [1321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), + [1323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(617), + [1325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_negative_literal, 2, 0, 0), + [1327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_negative_literal, 2, 0, 0), + [1329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__literal_pattern, 1, 0, 0), + [1331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__literal_pattern, 1, 0, 0), + [1333] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__pattern, 1, 0, 0), SHIFT(715), + [1336] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__pattern, 1, 0, 0), SHIFT(370), + [1339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(642), + [1341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(777), + [1343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [1345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(784), + [1347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [1349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(786), + [1351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_pattern, 2, 0, 16), + [1353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_pattern, 2, 0, 16), + [1355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_pattern, 3, 0, 26), + [1357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_range_pattern, 3, 0, 26), + [1359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 2, 0, 0), + [1361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_pattern, 2, 0, 0), + [1363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_pattern, 4, 0, 0), + [1365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slice_pattern, 4, 0, 0), + [1367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_pattern, 5, 0, 36), + [1369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_pattern, 5, 0, 36), + [1371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_pattern, 3, 0, 36), + [1373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_pattern, 3, 0, 36), + [1375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_or_pattern, 3, 0, 0), + [1377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_or_pattern, 3, 0, 0), + [1379] = {.entry = {.count = 1, .reusable = false}}, SHIFT(505), + [1381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [1383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(796), + [1385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(755), + [1387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [1389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_pattern, 4, 0, 34), + [1391] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_pattern, 4, 0, 34), + [1393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), + [1395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [1397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(735), + [1399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_pattern, 3, 0, 0), + [1401] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slice_pattern, 3, 0, 0), + [1403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_struct_pattern, 6, 0, 36), + [1405] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_struct_pattern, 6, 0, 36), + [1407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 3, 0, 0), + [1409] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_pattern, 3, 0, 0), + [1411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_or_pattern, 2, 0, 0), + [1413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_or_pattern, 2, 0, 0), + [1415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_struct_pattern, 4, 0, 36), + [1417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_struct_pattern, 4, 0, 36), + [1419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_pattern, 5, 0, 0), + [1421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slice_pattern, 5, 0, 0), + [1423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_pattern, 4, 0, 36), + [1425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_pattern, 4, 0, 36), + [1427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 4, 0, 0), + [1429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_pattern, 4, 0, 0), + [1431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 5, 0, 0), + [1433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_pattern, 5, 0, 0), + [1435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_pattern, 6, 0, 34), + [1437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_pattern, 6, 0, 34), + [1439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_pattern, 3, 0, 34), + [1441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_pattern, 3, 0, 34), + [1443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_pattern, 6, 0, 36), + [1445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_pattern, 6, 0, 36), + [1447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_pattern, 5, 0, 34), + [1449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_pattern, 5, 0, 34), + [1451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_captured_pattern, 3, 0, 0), + [1453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_captured_pattern, 3, 0, 0), + [1455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_struct_pattern, 5, 0, 36), + [1457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_struct_pattern, 5, 0, 36), + [1459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_struct_pattern, 3, 0, 36), + [1461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_struct_pattern, 3, 0, 36), + [1463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_pattern, 2, 0, 0), + [1465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slice_pattern, 2, 0, 0), + [1467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), + [1469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [1471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [1473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [1475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [1477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [1479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility_modifier, 1, 0, 0), + [1481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547), + [1483] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat1, 2, 0, 0), SHIFT_REPEAT(777), + [1486] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility_modifier, 5, 0, 0), + [1488] = {.entry = {.count = 1, .reusable = false}}, SHIFT(521), + [1490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_visibility_modifier, 1, 0, 0), + [1492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(785), + [1494] = {.entry = {.count = 1, .reusable = false}}, SHIFT(807), + [1496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(721), + [1498] = {.entry = {.count = 1, .reusable = false}}, SHIFT(725), + [1500] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_visibility_modifier, 4, 0, 0), + [1502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(752), + [1504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(770), + [1506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(713), + [1508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(719), + [1510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(744), + [1512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [1514] = {.entry = {.count = 1, .reusable = false}}, SHIFT(583), + [1516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [1518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(746), + [1520] = {.entry = {.count = 1, .reusable = false}}, SHIFT(622), + [1522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [1524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(733), + [1526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(780), + [1528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(781), + [1530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(782), + [1532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(804), + [1534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(798), + [1536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [1538] = {.entry = {.count = 1, .reusable = false}}, SHIFT(587), + [1540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(761), + [1542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586), + [1544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), + [1546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 2, 0, 3), + [1548] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), + [1550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 1, 0, 32), + [1552] = {.entry = {.count = 1, .reusable = false}}, SHIFT(691), + [1554] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), + [1556] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [1558] = {.entry = {.count = 1, .reusable = true}}, SHIFT(718), + [1560] = {.entry = {.count = 1, .reusable = true}}, SHIFT(664), + [1562] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), + [1564] = {.entry = {.count = 1, .reusable = true}}, SHIFT(734), + [1566] = {.entry = {.count = 1, .reusable = false}}, SHIFT(657), + [1568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563), + [1570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(812), + [1572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665), + [1574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(669), + [1576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(712), + [1578] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), + [1580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [1582] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [1584] = {.entry = {.count = 1, .reusable = false}}, SHIFT(654), + [1586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [1588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [1590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [1592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(605), + [1594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(803), + [1596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [1598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637), + [1600] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 1, 0, 0), + [1602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [1604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(593), + [1606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(805), + [1608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(724), + [1610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [1612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [1614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), + [1616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [1618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500), + [1620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [1622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__use_clause, 1, 0, 0), + [1624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(535), + [1626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(778), + [1628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [1630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [1632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [1634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [1636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [1638] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), + [1640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(625), + [1642] = {.entry = {.count = 1, .reusable = false}}, SHIFT(153), + [1644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), + [1646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [1648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [1650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565), + [1652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [1654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [1656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [1658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [1660] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_arguments_repeat1, 2, 0, 0), SHIFT_REPEAT(70), + [1663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(662), + [1665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(736), + [1667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506), + [1669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(714), + [1671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [1673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), + [1675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), + [1677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [1679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), + [1681] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(565), + [1684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_slice_pattern_repeat1, 2, 0, 0), + [1686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [1688] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [1690] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_slice_pattern_repeat1, 2, 0, 0), SHIFT_REPEAT(358), + [1693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(801), + [1695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), + [1697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(775), + [1699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), + [1701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), + [1703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [1705] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ordered_field_declaration_list, 6, 0, 0), + [1707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 1, 0, 0), + [1709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [1711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), + [1713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [1715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), + [1717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ordered_field_declaration_list, 3, 0, 0), + [1719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520), + [1721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), + [1723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), + [1725] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, 0, 0), + [1727] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, 0, 0), SHIFT_REPEAT(320), + [1730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), + [1732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), + [1734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534), + [1736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [1738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), + [1740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_list, 4, 0, 0), + [1742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_use_list_repeat1, 2, 0, 0), + [1744] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_use_list_repeat1, 2, 0, 0), SHIFT_REPEAT(433), + [1747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ordered_field_declaration_list, 2, 0, 0), + [1749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512), + [1751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), + [1753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [1755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), + [1757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), + [1759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [1761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_initializer_list_repeat1, 2, 0, 0), + [1763] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_initializer_list_repeat1, 2, 0, 0), SHIFT_REPEAT(481), + [1766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_wildcard, 1, 0, 0), + [1768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [1770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546), + [1772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(753), + [1774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declaration_list_repeat1, 2, 0, 0), + [1776] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(554), + [1779] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_list, 2, 0, 0), + [1781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), + [1783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(532), + [1785] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ordered_field_declaration_list, 4, 0, 0), + [1787] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_ordered_field_declaration_list_repeat1, 2, 0, 0), SHIFT_REPEAT(537), + [1790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_ordered_field_declaration_list_repeat1, 2, 0, 0), + [1792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509), + [1794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(621), + [1796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [1798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_wildcard, 2, 0, 0), + [1800] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_scoped_use_list, 2, 0, 19), + [1802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat2, 2, 0, 0), + [1804] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat2, 2, 0, 0), SHIFT_REPEAT(484), + [1807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shorthand_field_initializer, 2, 0, 0), + [1809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [1811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [1813] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), + [1815] = {.entry = {.count = 1, .reusable = false}}, SHIFT(159), + [1817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [1819] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, 0, 0), SHIFT_REPEAT(640), + [1822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, 0, 0), + [1824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [1826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [1828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), + [1830] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_pattern, 1, 0, 35), + [1832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [1834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [1836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(513), + [1838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), + [1840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [1842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_pattern, 3, 0, 55), + [1844] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_pattern_repeat1, 2, 0, 0), + [1846] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_pattern_repeat1, 2, 0, 0), SHIFT_REPEAT(541), + [1849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_list, 5, 0, 0), + [1851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), + [1853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), + [1855] = {.entry = {.count = 1, .reusable = true}}, SHIFT(715), + [1857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), + [1859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [1861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_list, 3, 0, 0), + [1863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [1865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523), + [1867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [1869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), + [1871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), + [1873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_wildcard, 3, 0, 0), + [1875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_scoped_use_list, 3, 0, 37), + [1877] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_as_clause, 3, 0, 38), + [1879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524), + [1881] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [1883] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), + [1885] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [1887] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [1889] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), + [1891] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_closure_parameters_repeat1, 2, 0, 0), SHIFT_REPEAT(715), + [1894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_closure_parameters_repeat1, 2, 0, 0), + [1896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ordered_field_declaration_list, 5, 0, 0), + [1898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [1900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [1902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [1904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_pattern, 1, 0, 0), + [1906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_shorthand_field_initializer, 1, 0, 0), + [1908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [1910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [1912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), + [1914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), + [1916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480), + [1918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__condition, 1, 0, 4), + [1920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [1922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [1924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522), + [1926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declaration_list_repeat1, 2, 0, 47), + [1928] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 2, 0, 8), + [1930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_variant, 3, 0, 12), + [1932] = {.entry = {.count = 1, .reusable = false}}, SHIFT(422), + [1934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block_doc_comment_marker, 1, 0, 2), + [1936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), + [1938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(458), + [1940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__block_doc_comment_marker, 1, 0, 1), + [1942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [1944] = {.entry = {.count = 1, .reusable = false}}, SHIFT(410), + [1946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [1948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [1950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [1952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(677), + [1954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [1956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(811), + [1958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(759), + [1960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489), + [1962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [1964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_field_declaration_list_repeat1, 3, 0, 54), + [1966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_ordered_field_declaration_list_repeat1, 3, 0, 0), + [1968] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_variant_list_repeat2, 3, 0, 0), + [1970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490), + [1972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(779), + [1974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 3, 0, 0), + [1976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(639), + [1978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [1980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), + [1982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(797), + [1984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [1986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498), + [1988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(802), + [1990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(630), + [1992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(808), + [1994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(688), + [1996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495), + [1998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(694), + [2000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [2002] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 2, 0, 31), + [2004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(750), + [2006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), + [2008] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__inner_line_doc_comment_marker, 1, 0, 0), + [2010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [2012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [2014] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2, 0, 0), + [2016] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__outer_line_doc_comment_marker, 1, 0, 0), + [2018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__line_doc_comment_marker, 1, 0, 2), + [2020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), + [2022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_pattern, 3, 0, 57), + [2024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [2026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [2028] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 4, 0, 0), + [2030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [2032] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [2034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [2036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(667), + [2038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), + [2040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575), + [2042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(701), + [2044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(653), + [2046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(675), + [2048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [2050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [2052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(638), + [2054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(809), + [2056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(652), + [2058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [2060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), + [2062] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, 0, 0), + [2064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(696), + [2066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [2068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(568), + [2070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(806), + [2072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__line_doc_comment_marker, 1, 0, 1), + [2074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), + [2076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [2078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [2080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), + [2082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(533), + [2084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(668), + [2086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [2088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), + [2090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [2092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [2094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [2096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 5, 0, 0), + [2098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571), + [2100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(628), + [2102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(492), + [2104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620), + [2106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517), + [2108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(685), + [2110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(504), + [2112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(810), + [2114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [2116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [2118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526), + [2120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [2122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [2124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(697), + [2126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(702), + [2128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(497), + [2130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(704), + [2132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(705), + [2134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 6, 0, 0), + [2136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(493), + [2138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [2140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(800), + [2142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 4, 0, 30), + [2144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 2, 0, 0), + [2146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 3, 0, 0), + [2148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 3, 0, 10), + [2150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_line_comment, 3, 0, 0), + [2152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 3, 0, 11), + [2154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_comment, 2, 0, 0), +}; + +enum ts_external_scanner_symbol_identifiers { + ts_external_token_string_content = 0, + ts_external_token__raw_string_literal_start = 1, + ts_external_token_raw_string_literal_content = 2, + ts_external_token__raw_string_literal_end = 3, + ts_external_token_float_literal = 4, + ts_external_token__outer_block_doc_comment_marker = 5, + ts_external_token__inner_block_doc_comment_marker = 6, + ts_external_token__block_comment_content = 7, + ts_external_token__line_doc_content = 8, + ts_external_token__error_sentinel = 9, +}; + +static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { + [ts_external_token_string_content] = sym_string_content, + [ts_external_token__raw_string_literal_start] = sym__raw_string_literal_start, + [ts_external_token_raw_string_literal_content] = sym_raw_string_literal_content, + [ts_external_token__raw_string_literal_end] = sym__raw_string_literal_end, + [ts_external_token_float_literal] = sym_float_literal, + [ts_external_token__outer_block_doc_comment_marker] = sym__outer_block_doc_comment_marker, + [ts_external_token__inner_block_doc_comment_marker] = sym__inner_block_doc_comment_marker, + [ts_external_token__block_comment_content] = sym__block_comment_content, + [ts_external_token__line_doc_content] = sym__line_doc_content, + [ts_external_token__error_sentinel] = sym__error_sentinel, +}; + +static const bool ts_external_scanner_states[7][EXTERNAL_TOKEN_COUNT] = { + [1] = { + [ts_external_token_string_content] = true, + [ts_external_token__raw_string_literal_start] = true, + [ts_external_token_raw_string_literal_content] = true, + [ts_external_token__raw_string_literal_end] = true, + [ts_external_token_float_literal] = true, + [ts_external_token__outer_block_doc_comment_marker] = true, + [ts_external_token__inner_block_doc_comment_marker] = true, + [ts_external_token__block_comment_content] = true, + [ts_external_token__line_doc_content] = true, + [ts_external_token__error_sentinel] = true, + }, + [2] = { + [ts_external_token_float_literal] = true, + }, + [3] = { + [ts_external_token__outer_block_doc_comment_marker] = true, + [ts_external_token__inner_block_doc_comment_marker] = true, + [ts_external_token__block_comment_content] = true, + }, + [4] = { + [ts_external_token_string_content] = true, + }, + [5] = { + [ts_external_token__block_comment_content] = true, + }, + [6] = { + [ts_external_token__line_doc_content] = true, + }, +}; + +#ifdef __cplusplus +extern "C" { +#endif +void *tree_sitter_rune_external_scanner_create(void); +void tree_sitter_rune_external_scanner_destroy(void *); +bool tree_sitter_rune_external_scanner_scan(void *, TSLexer *, const bool *); +unsigned tree_sitter_rune_external_scanner_serialize(void *, char *); +void tree_sitter_rune_external_scanner_deserialize(void *, const char *, unsigned); + +#ifdef TREE_SITTER_HIDE_SYMBOLS +#define TS_PUBLIC +#elif defined(_WIN32) +#define TS_PUBLIC __declspec(dllexport) +#else +#define TS_PUBLIC __attribute__((visibility("default"))) +#endif + +TS_PUBLIC const TSLanguage *tree_sitter_rune(void) { + static const TSLanguage language = { + .abi_version = LANGUAGE_VERSION, + .symbol_count = SYMBOL_COUNT, + .alias_count = ALIAS_COUNT, + .token_count = TOKEN_COUNT, + .external_token_count = EXTERNAL_TOKEN_COUNT, + .state_count = STATE_COUNT, + .large_state_count = LARGE_STATE_COUNT, + .production_id_count = PRODUCTION_ID_COUNT, + .supertype_count = SUPERTYPE_COUNT, + .field_count = FIELD_COUNT, + .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, + .parse_table = &ts_parse_table[0][0], + .small_parse_table = ts_small_parse_table, + .small_parse_table_map = ts_small_parse_table_map, + .parse_actions = ts_parse_actions, + .symbol_names = ts_symbol_names, + .field_names = ts_field_names, + .field_map_slices = ts_field_map_slices, + .field_map_entries = ts_field_map_entries, + .supertype_map_slices = ts_supertype_map_slices, + .supertype_map_entries = ts_supertype_map_entries, + .supertype_symbols = ts_supertype_symbols, + .symbol_metadata = ts_symbol_metadata, + .public_symbol_map = ts_symbol_map, + .alias_map = ts_non_terminal_alias_map, + .alias_sequences = &ts_alias_sequences[0][0], + .lex_modes = (const void*)ts_lex_modes, + .lex_fn = ts_lex, + .keyword_lex_fn = ts_lex_keywords, + .keyword_capture_token = sym_identifier, + .external_scanner = { + &ts_external_scanner_states[0][0], + ts_external_scanner_symbol_map, + tree_sitter_rune_external_scanner_create, + tree_sitter_rune_external_scanner_destroy, + tree_sitter_rune_external_scanner_scan, + tree_sitter_rune_external_scanner_serialize, + tree_sitter_rune_external_scanner_deserialize, + }, + .primary_state_ids = ts_primary_state_ids, + .name = "rune", + .max_reserved_word_set_size = 0, + .metadata = { + .major_version = 0, + .minor_version = 1, + .patch_version = 0, + }, + }; + return &language; +} +#ifdef __cplusplus +} +#endif diff --git a/src/scanner.c b/src/scanner.c index 269f6b2..27aff5f 100644 --- a/src/scanner.c +++ b/src/scanner.c @@ -20,17 +20,17 @@ typedef struct { uint8_t opening_hash_count; } Scanner; -void *tree_sitter_rust_external_scanner_create() { return ts_calloc(1, sizeof(Scanner)); } +void *tree_sitter_rune_external_scanner_create() { return ts_calloc(1, sizeof(Scanner)); } -void tree_sitter_rust_external_scanner_destroy(void *payload) { ts_free((Scanner *)payload); } +void tree_sitter_rune_external_scanner_destroy(void *payload) { ts_free((Scanner *)payload); } -unsigned tree_sitter_rust_external_scanner_serialize(void *payload, char *buffer) { +unsigned tree_sitter_rune_external_scanner_serialize(void *payload, char *buffer) { Scanner *scanner = (Scanner *)payload; buffer[0] = (char)scanner->opening_hash_count; return 1; } -void tree_sitter_rust_external_scanner_deserialize(void *payload, const char *buffer, unsigned length) { +void tree_sitter_rune_external_scanner_deserialize(void *payload, const char *buffer, unsigned length) { Scanner *scanner = (Scanner *)payload; scanner->opening_hash_count = 0; if (length == 1) { @@ -331,7 +331,7 @@ static inline bool process_block_comment(TSLexer *lexer, const bool *valid_symbo return false; } -bool tree_sitter_rust_external_scanner_scan(void *payload, TSLexer *lexer, const bool *valid_symbols) { +bool tree_sitter_rune_external_scanner_scan(void *payload, TSLexer *lexer, const bool *valid_symbols) { // The documentation states that if the lexical analysis fails for some reason // they will mark every state as valid and pass it to the external scanner // However, we can't do anything to help them recover in that case so we diff --git a/src/tree_sitter/alloc.h b/src/tree_sitter/alloc.h new file mode 100644 index 0000000..1abdd12 --- /dev/null +++ b/src/tree_sitter/alloc.h @@ -0,0 +1,54 @@ +#ifndef TREE_SITTER_ALLOC_H_ +#define TREE_SITTER_ALLOC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +// Allow clients to override allocation functions +#ifdef TREE_SITTER_REUSE_ALLOCATOR + +extern void *(*ts_current_malloc)(size_t size); +extern void *(*ts_current_calloc)(size_t count, size_t size); +extern void *(*ts_current_realloc)(void *ptr, size_t size); +extern void (*ts_current_free)(void *ptr); + +#ifndef ts_malloc +#define ts_malloc ts_current_malloc +#endif +#ifndef ts_calloc +#define ts_calloc ts_current_calloc +#endif +#ifndef ts_realloc +#define ts_realloc ts_current_realloc +#endif +#ifndef ts_free +#define ts_free ts_current_free +#endif + +#else + +#ifndef ts_malloc +#define ts_malloc malloc +#endif +#ifndef ts_calloc +#define ts_calloc calloc +#endif +#ifndef ts_realloc +#define ts_realloc realloc +#endif +#ifndef ts_free +#define ts_free free +#endif + +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ALLOC_H_ diff --git a/src/tree_sitter/array.h b/src/tree_sitter/array.h new file mode 100644 index 0000000..56fc8cd --- /dev/null +++ b/src/tree_sitter/array.h @@ -0,0 +1,330 @@ +#ifndef TREE_SITTER_ARRAY_H_ +#define TREE_SITTER_ARRAY_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./alloc.h" + +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +#pragma warning(push) +#pragma warning(disable : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#endif + +#define Array(T) \ + struct { \ + T *contents; \ + uint32_t size; \ + uint32_t capacity; \ + } + +/// Initialize an array. +#define array_init(self) \ + ((self)->size = 0, (self)->capacity = 0, (self)->contents = NULL) + +/// Create an empty array. +#define array_new() \ + { NULL, 0, 0 } + +/// Get a pointer to the element at a given `index` in the array. +#define array_get(self, _index) \ + (assert((uint32_t)(_index) < (self)->size), &(self)->contents[_index]) + +/// Get a pointer to the first element in the array. +#define array_front(self) array_get(self, 0) + +/// Get a pointer to the last element in the array. +#define array_back(self) array_get(self, (self)->size - 1) + +/// Clear the array, setting its size to zero. Note that this does not free any +/// memory allocated for the array's contents. +#define array_clear(self) ((self)->size = 0) + +/// Reserve `new_capacity` elements of space in the array. If `new_capacity` is +/// less than the array's current capacity, this function has no effect. +#define array_reserve(self, new_capacity) \ + ((self)->contents = _array__reserve( \ + (void *)(self)->contents, &(self)->capacity, \ + array_elem_size(self), new_capacity) \ + ) + +/// Free any memory allocated for this array. Note that this does not free any +/// memory allocated for the array's contents. +#define array_delete(self) \ + do { \ + if ((self)->contents) ts_free((self)->contents); \ + (self)->contents = NULL; \ + (self)->size = 0; \ + (self)->capacity = 0; \ + } while (0) + +/// Push a new `element` onto the end of the array. +#define array_push(self, element) \ + do { \ + (self)->contents = _array__grow( \ + (void *)(self)->contents, (self)->size, &(self)->capacity, \ + 1, array_elem_size(self) \ + ); \ + (self)->contents[(self)->size++] = (element); \ + } while(0) + +/// Increase the array's size by `count` elements. +/// New elements are zero-initialized. +#define array_grow_by(self, count) \ + do { \ + if ((count) == 0) break; \ + (self)->contents = _array__grow( \ + (self)->contents, (self)->size, &(self)->capacity, \ + count, array_elem_size(self) \ + ); \ + memset((self)->contents + (self)->size, 0, (count) * array_elem_size(self)); \ + (self)->size += (count); \ + } while (0) + +/// Append all elements from one array to the end of another. +#define array_push_all(self, other) \ + array_extend((self), (other)->size, (other)->contents) + +/// Append `count` elements to the end of the array, reading their values from the +/// `contents` pointer. +#define array_extend(self, count, other_contents) \ + (self)->contents = _array__splice( \ + (void*)(self)->contents, &(self)->size, &(self)->capacity, \ + array_elem_size(self), (self)->size, 0, count, other_contents \ + ) + +/// Remove `old_count` elements from the array starting at the given `index`. At +/// the same index, insert `new_count` new elements, reading their values from the +/// `new_contents` pointer. +#define array_splice(self, _index, old_count, new_count, new_contents) \ + (self)->contents = _array__splice( \ + (void *)(self)->contents, &(self)->size, &(self)->capacity, \ + array_elem_size(self), _index, old_count, new_count, new_contents \ + ) + +/// Insert one `element` into the array at the given `index`. +#define array_insert(self, _index, element) \ + (self)->contents = _array__splice( \ + (void *)(self)->contents, &(self)->size, &(self)->capacity, \ + array_elem_size(self), _index, 0, 1, &(element) \ + ) + +/// Remove one element from the array at the given `index`. +#define array_erase(self, _index) \ + _array__erase((void *)(self)->contents, &(self)->size, array_elem_size(self), _index) + +/// Pop the last element off the array, returning the element by value. +#define array_pop(self) ((self)->contents[--(self)->size]) + +/// Assign the contents of one array to another, reallocating if necessary. +#define array_assign(self, other) \ + (self)->contents = _array__assign( \ + (void *)(self)->contents, &(self)->size, &(self)->capacity, \ + (const void *)(other)->contents, (other)->size, array_elem_size(self) \ + ) + +/// Swap one array with another +#define array_swap(self, other) \ + do { \ + void *_array_swap_tmp = (void *)(self)->contents; \ + (self)->contents = (other)->contents; \ + (other)->contents = _array_swap_tmp; \ + _array__swap(&(self)->size, &(self)->capacity, \ + &(other)->size, &(other)->capacity); \ + } while (0) + +/// Get the size of the array contents +#define array_elem_size(self) (sizeof *(self)->contents) + +/// Search a sorted array for a given `needle` value, using the given `compare` +/// callback to determine the order. +/// +/// If an existing element is found to be equal to `needle`, then the `index` +/// out-parameter is set to the existing value's index, and the `exists` +/// out-parameter is set to true. Otherwise, `index` is set to an index where +/// `needle` should be inserted in order to preserve the sorting, and `exists` +/// is set to false. +#define array_search_sorted_with(self, compare, needle, _index, _exists) \ + _array__search_sorted(self, 0, compare, , needle, _index, _exists) + +/// Search a sorted array for a given `needle` value, using integer comparisons +/// of a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_with`. +#define array_search_sorted_by(self, field, needle, _index, _exists) \ + _array__search_sorted(self, 0, _compare_int, field, needle, _index, _exists) + +/// Insert a given `value` into a sorted array, using the given `compare` +/// callback to determine the order. +#define array_insert_sorted_with(self, compare, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_with(self, compare, &(value), &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +/// Insert a given `value` into a sorted array, using integer comparisons of +/// a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_by`. +#define array_insert_sorted_by(self, field, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_by(self, field, (value) field, &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +// Private + +// Pointers to individual `Array` fields (rather than the entire `Array` itself) +// are passed to the various `_array__*` functions below to address strict aliasing +// violations that arises when the _entire_ `Array` struct is passed as `Array(void)*`. +// +// The `Array` type itself was not altered as a solution in order to avoid breakage +// with existing consumers (in particular, parsers with external scanners). + +/// This is not what you're looking for, see `array_erase`. +static inline void _array__erase(void* self_contents, uint32_t *size, + size_t element_size, uint32_t index) { + assert(index < *size); + char *contents = (char *)self_contents; + memmove(contents + index * element_size, contents + (index + 1) * element_size, + (*size - index - 1) * element_size); + (*size)--; +} + +/// This is not what you're looking for, see `array_reserve`. +static inline void *_array__reserve(void *contents, uint32_t *capacity, + size_t element_size, uint32_t new_capacity) { + void *new_contents = contents; + if (new_capacity > *capacity) { + if (contents) { + new_contents = ts_realloc(contents, new_capacity * element_size); + } else { + new_contents = ts_malloc(new_capacity * element_size); + } + *capacity = new_capacity; + } + return new_contents; +} + +/// This is not what you're looking for, see `array_assign`. +static inline void *_array__assign(void* self_contents, uint32_t *self_size, uint32_t *self_capacity, + const void *other_contents, uint32_t other_size, size_t element_size) { + void *new_contents = _array__reserve(self_contents, self_capacity, element_size, other_size); + *self_size = other_size; + memcpy(new_contents, other_contents, *self_size * element_size); + return new_contents; +} + +/// This is not what you're looking for, see `array_swap`. +static inline void _array__swap(uint32_t *self_size, uint32_t *self_capacity, + uint32_t *other_size, uint32_t *other_capacity) { + uint32_t tmp_size = *self_size; + uint32_t tmp_capacity = *self_capacity; + *self_size = *other_size; + *self_capacity = *other_capacity; + *other_size = tmp_size; + *other_capacity = tmp_capacity; +} + +/// This is not what you're looking for, see `array_push` or `array_grow_by`. +static inline void *_array__grow(void *contents, uint32_t size, uint32_t *capacity, + uint32_t count, size_t element_size) { + void *new_contents = contents; + uint32_t new_size = size + count; + if (new_size > *capacity) { + uint32_t new_capacity = *capacity * 2; + if (new_capacity < 8) new_capacity = 8; + if (new_capacity < new_size) new_capacity = new_size; + new_contents = _array__reserve(contents, capacity, element_size, new_capacity); + } + return new_contents; +} + +/// This is not what you're looking for, see `array_splice`. +static inline void *_array__splice(void *self_contents, uint32_t *size, uint32_t *capacity, + size_t element_size, + uint32_t index, uint32_t old_count, + uint32_t new_count, const void *elements) { + uint32_t new_size = *size + new_count - old_count; + uint32_t old_end = index + old_count; + uint32_t new_end = index + new_count; + assert(old_end <= *size); + + void *new_contents = _array__reserve(self_contents, capacity, element_size, new_size); + + char *contents = (char *)new_contents; + if (*size > old_end) { + memmove( + contents + new_end * element_size, + contents + old_end * element_size, + (*size - old_end) * element_size + ); + } + if (new_count > 0) { + if (elements) { + memcpy( + (contents + index * element_size), + elements, + new_count * element_size + ); + } else { + memset( + (contents + index * element_size), + 0, + new_count * element_size + ); + } + } + *size += new_count - old_count; + + return new_contents; +} + +/// A binary search routine, based on Rust's `std::slice::binary_search_by`. +/// This is not what you're looking for, see `array_search_sorted_with` or `array_search_sorted_by`. +#define _array__search_sorted(self, start, compare, suffix, needle, _index, _exists) \ + do { \ + *(_index) = start; \ + *(_exists) = false; \ + uint32_t size = (self)->size - *(_index); \ + if (size == 0) break; \ + int comparison; \ + while (size > 1) { \ + uint32_t half_size = size / 2; \ + uint32_t mid_index = *(_index) + half_size; \ + comparison = compare(&((self)->contents[mid_index] suffix), (needle)); \ + if (comparison <= 0) *(_index) = mid_index; \ + size -= half_size; \ + } \ + comparison = compare(&((self)->contents[*(_index)] suffix), (needle)); \ + if (comparison == 0) *(_exists) = true; \ + else if (comparison < 0) *(_index) += 1; \ + } while (0) + +/// Helper macro for the `_sorted_by` routines below. This takes the left (existing) +/// parameter by reference in order to work with the generic sorting function above. +#define _compare_int(a, b) ((int)*(a) - (int)(b)) + +#ifdef _MSC_VER +#pragma warning(pop) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ARRAY_H_ diff --git a/src/tree_sitter/parser.h b/src/tree_sitter/parser.h new file mode 100644 index 0000000..858107d --- /dev/null +++ b/src/tree_sitter/parser.h @@ -0,0 +1,286 @@ +#ifndef TREE_SITTER_PARSER_H_ +#define TREE_SITTER_PARSER_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +#define ts_builtin_sym_error ((TSSymbol)-1) +#define ts_builtin_sym_end 0 +#define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 + +#ifndef TREE_SITTER_API_H_ +typedef uint16_t TSStateId; +typedef uint16_t TSSymbol; +typedef uint16_t TSFieldId; +typedef struct TSLanguage TSLanguage; +typedef struct TSLanguageMetadata { + uint8_t major_version; + uint8_t minor_version; + uint8_t patch_version; +} TSLanguageMetadata; +#endif + +typedef struct { + TSFieldId field_id; + uint8_t child_index; + bool inherited; +} TSFieldMapEntry; + +// Used to index the field and supertype maps. +typedef struct { + uint16_t index; + uint16_t length; +} TSMapSlice; + +typedef struct { + bool visible; + bool named; + bool supertype; +} TSSymbolMetadata; + +typedef struct TSLexer TSLexer; + +struct TSLexer { + int32_t lookahead; + TSSymbol result_symbol; + void (*advance)(TSLexer *, bool); + void (*mark_end)(TSLexer *); + uint32_t (*get_column)(TSLexer *); + bool (*is_at_included_range_start)(const TSLexer *); + bool (*eof)(const TSLexer *); + void (*log)(const TSLexer *, const char *, ...); +}; + +typedef enum { + TSParseActionTypeShift, + TSParseActionTypeReduce, + TSParseActionTypeAccept, + TSParseActionTypeRecover, +} TSParseActionType; + +typedef union { + struct { + uint8_t type; + TSStateId state; + bool extra; + bool repetition; + } shift; + struct { + uint8_t type; + uint8_t child_count; + TSSymbol symbol; + int16_t dynamic_precedence; + uint16_t production_id; + } reduce; + uint8_t type; +} TSParseAction; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; +} TSLexMode; + +typedef struct { + uint16_t lex_state; + uint16_t external_lex_state; + uint16_t reserved_word_set_id; +} TSLexerMode; + +typedef union { + TSParseAction action; + struct { + uint8_t count; + bool reusable; + } entry; +} TSParseActionEntry; + +typedef struct { + int32_t start; + int32_t end; +} TSCharacterRange; + +struct TSLanguage { + uint32_t abi_version; + uint32_t symbol_count; + uint32_t alias_count; + uint32_t token_count; + uint32_t external_token_count; + uint32_t state_count; + uint32_t large_state_count; + uint32_t production_id_count; + uint32_t field_count; + uint16_t max_alias_sequence_length; + const uint16_t *parse_table; + const uint16_t *small_parse_table; + const uint32_t *small_parse_table_map; + const TSParseActionEntry *parse_actions; + const char * const *symbol_names; + const char * const *field_names; + const TSMapSlice *field_map_slices; + const TSFieldMapEntry *field_map_entries; + const TSSymbolMetadata *symbol_metadata; + const TSSymbol *public_symbol_map; + const uint16_t *alias_map; + const TSSymbol *alias_sequences; + const TSLexerMode *lex_modes; + bool (*lex_fn)(TSLexer *, TSStateId); + bool (*keyword_lex_fn)(TSLexer *, TSStateId); + TSSymbol keyword_capture_token; + struct { + const bool *states; + const TSSymbol *symbol_map; + void *(*create)(void); + void (*destroy)(void *); + bool (*scan)(void *, TSLexer *, const bool *symbol_whitelist); + unsigned (*serialize)(void *, char *); + void (*deserialize)(void *, const char *, unsigned); + } external_scanner; + const TSStateId *primary_state_ids; + const char *name; + const TSSymbol *reserved_words; + uint16_t max_reserved_word_set_size; + uint32_t supertype_count; + const TSSymbol *supertype_symbols; + const TSMapSlice *supertype_map_slices; + const TSSymbol *supertype_map_entries; + TSLanguageMetadata metadata; +}; + +static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { + uint32_t index = 0; + uint32_t size = len - index; + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = index + half_size; + const TSCharacterRange *range = &ranges[mid_index]; + if (lookahead >= range->start && lookahead <= range->end) { + return true; + } else if (lookahead > range->end) { + index = mid_index; + } + size -= half_size; + } + const TSCharacterRange *range = &ranges[index]; + return (lookahead >= range->start && lookahead <= range->end); +} + +/* + * Lexer Macros + */ + +#ifdef _MSC_VER +#define UNUSED __pragma(warning(suppress : 4101)) +#else +#define UNUSED __attribute__((unused)) +#endif + +#define START_LEXER() \ + bool result = false; \ + bool skip = false; \ + UNUSED \ + bool eof = false; \ + int32_t lookahead; \ + goto start; \ + next_state: \ + lexer->advance(lexer, skip); \ + start: \ + skip = false; \ + lookahead = lexer->lookahead; + +#define ADVANCE(state_value) \ + { \ + state = state_value; \ + goto next_state; \ + } + +#define ADVANCE_MAP(...) \ + { \ + static const uint16_t map[] = { __VA_ARGS__ }; \ + for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ + if (map[i] == lookahead) { \ + state = map[i + 1]; \ + goto next_state; \ + } \ + } \ + } + +#define SKIP(state_value) \ + { \ + skip = true; \ + state = state_value; \ + goto next_state; \ + } + +#define ACCEPT_TOKEN(symbol_value) \ + result = true; \ + lexer->result_symbol = symbol_value; \ + lexer->mark_end(lexer); + +#define END_STATE() return result; + +/* + * Parse Table Macros + */ + +#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) + +#define STATE(id) id + +#define ACTIONS(id) id + +#define SHIFT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value) \ + } \ + }} + +#define SHIFT_REPEAT(state_value) \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .state = (state_value), \ + .repetition = true \ + } \ + }} + +#define SHIFT_EXTRA() \ + {{ \ + .shift = { \ + .type = TSParseActionTypeShift, \ + .extra = true \ + } \ + }} + +#define REDUCE(symbol_name, children, precedence, prod_id) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_name, \ + .child_count = children, \ + .dynamic_precedence = precedence, \ + .production_id = prod_id \ + }, \ + }} + +#define RECOVER() \ + {{ \ + .type = TSParseActionTypeRecover \ + }} + +#define ACCEPT_INPUT() \ + {{ \ + .type = TSParseActionTypeAccept \ + }} + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_PARSER_H_