diff --git a/tree-sitter-ora/README.md b/tree-sitter-ora/README.md index 89cc4bc..4dcf36a 100644 --- a/tree-sitter-ora/README.md +++ b/tree-sitter-ora/README.md @@ -45,9 +45,9 @@ From repo root: Add parser config: ```lua -local parser_config = require("nvim-treesitter.parsers").get_parser_configs() +local parsers = require("nvim-treesitter.parsers") -parser_config.ora = { +parsers.ora = { install_info = { url = "/Users/logic/Ora/Ora/tree-sitter-ora", files = { "src/parser.c" }, @@ -59,9 +59,8 @@ parser_config.ora = { vim.filetype.add({ extension = { ora = "ora" } }) -require("nvim-treesitter.configs").setup({ - highlight = { enable = true }, -}) +require("nvim-treesitter").setup({}) +require("nvim-treesitter").install({ "ora" }) ``` Then run in Neovim: @@ -70,6 +69,58 @@ Then run in Neovim: :TSInstall ora ``` +## Highlight coverage + +`queries/highlights.scm` includes captures for: + +- Core language: contracts, structs, enums, errors, functions, operators. +- Regions: `storage`, `memory`, `tstore`, `calldata` with dedicated variable captures. +- Formal verification: `requires`, `ensures`, `invariant`, `decreases`, quantifiers. +- Comptime: comptime keyword, comptime parameters, and comptime functions. +- Builtins: `std.*` namespaces (`constants`, `msg`, `transaction`, `block`) and intrinsic calls (`@addWithOverflow`, `@lock`, etc.). +- Ghost and verification constructs. + +Useful custom links in Neovim: + +```lua +vim.api.nvim_set_hl(0, "@function.comptime.ora", { bold = true }) +vim.api.nvim_set_hl(0, "@module.builtin.ora", { italic = true }) +vim.api.nvim_set_hl(0, "@function.builtin.ora", { bold = true }) +vim.api.nvim_set_hl(0, "@constant.builtin.ora", { bold = true }) +vim.api.nvim_set_hl(0, "@keyword.fv.ora", { italic = true }) +vim.api.nvim_set_hl(0, "@keyword.ghost.ora", { italic = true }) +``` + +## Shareable Neovim Highlight File + +Full example file: + +- `examples/nvim/ora_highlights.lua` + +Usage from your `init.lua`: + +```lua +local ora_hl = dofile("/absolute/path/to/tree-sitter-ora/examples/nvim/ora_highlights.lua") +ora_hl.autocmd() +``` + +Optional palette override: + +```lua +local ora_hl = dofile("/absolute/path/to/tree-sitter-ora/examples/nvim/ora_highlights.lua") +ora_hl.autocmd({ + palette = { + red = "#ff6b6b", + cyan = "#63e6be", + }, +}) +``` + +Notes: + +- By default, highlights are scoped to `.ora` captures only (`@capture.ora`). +- Pass `{ global = true }` to also set non-language-scoped captures (affects other filetypes). + ## Project layout - `grammar.js`: grammar definition diff --git a/tree-sitter-ora/canary-files.txt b/tree-sitter-ora/canary-files.txt index 3d79ac6..4d099b1 100644 --- a/tree-sitter-ora/canary-files.txt +++ b/tree-sitter-ora/canary-files.txt @@ -1,2 +1,6 @@ ora-example/smoke.ora ora-example/apps/counter.ora +ora-example/comptime/comptime_param_probe.ora +ora-example/apps/erc20_bitfield_comptime_generics.ora +ora-example/switch/switch_labeled.ora +ora-example/smt/verification/assume_havoc.ora diff --git a/tree-sitter-ora/examples/nvim/ora_highlights.lua b/tree-sitter-ora/examples/nvim/ora_highlights.lua new file mode 100644 index 0000000..0d6ccb7 --- /dev/null +++ b/tree-sitter-ora/examples/nvim/ora_highlights.lua @@ -0,0 +1,93 @@ +local M = {} + +M.default_palette = { + red = "#E67E80", + orange = "#E69875", + yellow = "#DBBC7F", + green = "#A7C080", + aqua = "#83C092", + cyan = "#7FBBB3", + blue = "#7F9FB3", + purple = "#D699B6", + fg = "#D3C6AA", +} + +local function merge_palette(overrides) + if type(vim) == "table" and vim.tbl_extend then + return vim.tbl_extend("force", M.default_palette, overrides or {}) + end + + local out = {} + for k, v in pairs(M.default_palette) do + out[k] = v + end + for k, v in pairs(overrides or {}) do + out[k] = v + end + return out +end + +local function set_capture(group, spec, opts) + vim.api.nvim_set_hl(0, group .. ".ora", spec) + if opts.global then + vim.api.nvim_set_hl(0, group, spec) + end +end + +function M.setup(opts) + opts = opts or {} + local c = merge_palette(opts.palette) + + -- Core language polish + set_capture("@type", { fg = c.blue }, opts) + set_capture("@type.builtin", { fg = c.aqua }, opts) + set_capture("@function", { fg = c.blue }, opts) + set_capture("@function.call", { fg = c.blue }, opts) + set_capture("@property", { fg = c.fg }, opts) + set_capture("@label", { fg = c.aqua, bold = true }, opts) + set_capture("@string.special", { fg = c.orange }, opts) + + -- Comptime + set_capture("@keyword.comptime", { fg = c.orange, bold = true }, opts) + set_capture("@function.comptime", { fg = c.red, bold = true }, opts) + set_capture("@variable.parameter.comptime", { fg = c.yellow, italic = true }, opts) + + -- Builtins and intrinsics + set_capture("@module.builtin", { fg = c.cyan, italic = true }, opts) + set_capture("@function.builtin", { fg = c.green, bold = true }, opts) + set_capture("@constant.builtin", { fg = c.aqua, bold = true }, opts) + set_capture("@variable.builtin", { fg = c.cyan }, opts) + set_capture("@keyword.directive", { fg = c.red, bold = true }, opts) + + -- Formal verification and ghosts + set_capture("@keyword.fv", { fg = c.green, italic = true }, opts) + set_capture("@keyword.ghost", { fg = c.purple, italic = true }, opts) + set_capture("@function.ghost", { fg = c.purple }, opts) + set_capture("@variable.ghost", { fg = c.purple }, opts) + + -- Region-specific cues + set_capture("@keyword.storage", { fg = c.yellow, bold = true }, opts) + set_capture("@variable.storage", { fg = c.yellow }, opts) + + set_capture("@keyword.memory", { fg = c.green, bold = true }, opts) + set_capture("@variable.memory", { fg = c.green }, opts) + + set_capture("@keyword.tstore", { fg = c.red, bold = true }, opts) + set_capture("@variable.tstore", { fg = c.red }, opts) + + set_capture("@keyword.calldata", { fg = c.cyan, bold = true }, opts) + set_capture("@variable.calldata", { fg = c.cyan }, opts) +end + +function M.autocmd(opts) + local group = vim.api.nvim_create_augroup("OraHighlights", { clear = true }) + vim.api.nvim_create_autocmd("ColorScheme", { + group = group, + callback = function() + M.setup(opts) + end, + }) + M.setup(opts) +end + +return M diff --git a/tree-sitter-ora/grammar.js b/tree-sitter-ora/grammar.js index 6adaa59..a22c3c0 100644 --- a/tree-sitter-ora/grammar.js +++ b/tree-sitter-ora/grammar.js @@ -7,18 +7,20 @@ const PREC = { ASSIGN: 1, - LOGICAL_OR: 2, - LOGICAL_AND: 3, - BIT_OR: 4, - BIT_XOR: 5, - BIT_AND: 6, - EQUALITY: 7, - RELATIONAL: 8, - SHIFT: 9, - ADDITIVE: 10, - MULTIPLICATIVE: 11, - UNARY: 12, - POSTFIX: 13, + RANGE: 2, + LOGICAL_OR: 3, + LOGICAL_AND: 4, + BIT_OR: 5, + BIT_XOR: 6, + BIT_AND: 7, + EQUALITY: 8, + RELATIONAL: 9, + SHIFT: 10, + ADDITIVE: 11, + MULTIPLICATIVE: 12, + EXPONENT: 13, + UNARY: 14, + POSTFIX: 15, } module.exports = grammar({ @@ -37,6 +39,9 @@ module.exports = grammar({ [$.assignment_statement, $.assignment_operator], [$.compound_operator, $.assignment_operator], [$.switch_statement, $.switch_expression], + [$.generic_type, $.primary_expression], + [$.plain_type, $.generic_type], + [$.error_expression, $.error_identifier], ], rules: { @@ -74,6 +79,7 @@ module.exports = grammar({ contract_declaration: ($) => seq( "contract", field("name", $.identifier), + optional(field("type_parameters", $.generic_parameter_clause)), "{", repeat($.contract_member), "}", @@ -101,7 +107,10 @@ module.exports = grammar({ optional($.return_type), repeat($.requires_clause), repeat($.ensures_clause), - field("body", $.block), + field("body", choice( + $.block, + $.return_statement, + )), ), parameter_list: ($) => seq( @@ -111,35 +120,62 @@ module.exports = grammar({ ), parameter: ($) => seq( + optional(field("modifier", $.parameter_modifier)), field("name", $.identifier), ":", field("type", $.type), ), + parameter_modifier: (_) => "comptime", + return_type: ($) => seq("->", field("type", $.type)), requires_clause: ($) => seq("requires", "(", field("condition", $._expression), ")"), ensures_clause: ($) => seq("ensures", "(", field("condition", $._expression), ")"), - variable_declaration: ($) => seq( - optional($.memory_region), - field("kind", $.variable_kind), - field("name", $.identifier), - optional(seq(":", field("type", $.type))), - optional(seq("=", field("value", $._expression))), - ";", + variable_declaration: ($) => choice( + seq( + optional($.memory_region), + field("kind", $.variable_kind), + field("name", $.identifier), + optional(seq(":", field("type", $.type))), + optional(seq("=", field("value", $._expression))), + ";", + ), + seq( + field("region", $.memory_region), + field("name", $.identifier), + ":", + field("type", $.type), + optional(seq("=", field("value", $._expression))), + ";", + ), + seq( + field("name", $.identifier), + ":", + field("type", $.type), + optional(seq("=", field("value", $._expression))), + ";", + ), ), - memory_region: (_) => choice("storage", "memory", "tstore"), + memory_region: (_) => choice("storage", "memory", "tstore", "calldata"), variable_kind: (_) => choice("var", "let", "const", "immutable"), struct_declaration: ($) => seq( "struct", field("name", $.identifier), + optional(field("type_parameters", $.generic_parameter_clause)), "{", repeat($.struct_field), "}", ), + generic_parameter_clause: ($) => seq( + "(", + optional($.parameter_list), + ")", + ), + struct_field: ($) => seq( field("name", $.identifier), ":", @@ -254,6 +290,7 @@ module.exports = grammar({ $.map_type, $.array_type, $.slice_type, + $.tuple_type, $.anonymous_struct_type, $.generic_type, $.identifier, @@ -272,19 +309,43 @@ module.exports = grammar({ generic_type: ($) => seq( field("name", $.identifier), + field("arguments", choice( + $.type_argument_list_angle, + $.type_argument_list_paren, + )), + ), + + type_argument_list_angle: ($) => seq( "<", commaSep1($.type_argument), optional(","), ">", ), - map_type: ($) => seq( - "map", - "<", - field("key", $.type), - ",", - field("value", $.type), - ">", + type_argument_list_paren: ($) => seq( + "(", + commaSep1($.type_argument), + optional(","), + ")", + ), + + map_type: ($) => choice( + seq( + "map", + "<", + field("key", $.type), + ",", + field("value", $.type), + ">", + ), + seq( + "map", + "(", + field("key", $.type), + ",", + field("value", $.type), + ")", + ), ), array_type: ($) => seq( @@ -302,6 +363,16 @@ module.exports = grammar({ "]", ), + tuple_type: ($) => seq( + "(", + $.type, + ",", + $.type, + repeat(seq(",", $.type)), + optional(","), + ")", + ), + anonymous_struct_type: ($) => seq( "struct", "{", @@ -323,10 +394,16 @@ module.exports = grammar({ _statement: ($) => choice( $.variable_declaration, + $.tuple_variable_declaration, $.assignment_statement, $.compound_assignment_statement, $.destructuring_assignment, + $.requires_statement, + $.ensures_statement, + $.assume_statement, + $.havoc_statement, $.expression_statement, + $.comptime_statement, $.if_statement, $.while_statement, $.for_statement, @@ -367,6 +444,22 @@ module.exports = grammar({ ";", ), + tuple_variable_declaration: ($) => seq( + field("kind", $.variable_kind), + field("pattern", $.tuple_pattern), + optional(seq(":", field("type", $.type))), + optional(seq("=", field("value", $._expression))), + ";", + ), + + tuple_pattern: ($) => seq( + "(", + $.identifier, + repeat(seq(",", $.identifier)), + optional(","), + ")", + ), + destructuring_pattern: ($) => seq( ".", "{", @@ -387,6 +480,45 @@ module.exports = grammar({ expression_statement: ($) => seq($._expression, ";"), + requires_statement: ($) => seq( + "requires", + "(", + field("condition", $._expression), + ")", + optional(";"), + ), + + ensures_statement: ($) => seq( + "ensures", + "(", + field("condition", $._expression), + ")", + optional(";"), + ), + + assume_statement: ($) => seq( + "assume", + "(", + field("condition", $._expression), + ")", + ";", + ), + + havoc_statement: ($) => seq( + "havoc", + field("target", $.lvalue), + ";", + ), + + comptime_statement: ($) => seq( + "comptime", + choice( + $.while_statement, + $.for_statement, + $.if_statement, + ), + ), + if_statement: ($) => prec.right(seq( "if", "(", @@ -401,7 +533,10 @@ module.exports = grammar({ "(", field("condition", $._expression), ")", - repeat($.invariant_clause), + repeat(choice( + $.invariant_clause, + $.decreases_clause, + )), field("body", $._statement), ), @@ -413,7 +548,10 @@ module.exports = grammar({ "|", field("pattern", $.for_pattern), "|", - repeat($.invariant_clause), + repeat(choice( + $.invariant_clause, + $.decreases_clause, + )), field("body", $._statement), ), @@ -423,6 +561,7 @@ module.exports = grammar({ ), invariant_clause: ($) => seq("invariant", "(", field("condition", $._expression), ")"), + decreases_clause: ($) => seq("decreases", "(", field("measure", $._expression), ")"), return_statement: ($) => seq("return", optional($._expression), ";"), @@ -434,7 +573,7 @@ module.exports = grammar({ continue_statement: ($) => seq( "continue", - optional(seq(":", $.identifier)), + optional(seq(":", $.identifier, optional($._expression))), ";", ), @@ -464,14 +603,26 @@ module.exports = grammar({ field("body", $.block), optional(seq( "catch", - optional(seq("(", field("error", $.identifier), ")")), + optional(seq("(", field("error", choice( + $.identifier, + "error", + )), ")")), field("catch_body", $.block), )), ), block: ($) => seq("{", repeat($._statement), "}"), - labeled_block: ($) => seq(field("label", $.identifier), ":", field("body", $.block)), + labeled_block: ($) => seq( + field("label", $.identifier), + ":", + field("body", choice( + $.block, + $.for_statement, + $.while_statement, + $.switch_statement, + )), + ), switch_statement: ($) => seq( "switch", @@ -510,6 +661,7 @@ module.exports = grammar({ switch_body: ($) => choice( seq($._expression, ";"), + $.labeled_block, $.block, ), @@ -530,6 +682,7 @@ module.exports = grammar({ assignment_operator: (_) => choice("=", "+=", "-=", "*=", "/=", "%="), binary_expression: ($) => choice( + prec.right(PREC.RANGE, seq($._expression, "..", $._expression)), prec.left(PREC.LOGICAL_OR, seq($._expression, "||", $._expression)), prec.left(PREC.LOGICAL_AND, seq($._expression, "&&", $._expression)), prec.left(PREC.BIT_OR, seq($._expression, "|", $._expression)), @@ -540,6 +693,7 @@ module.exports = grammar({ prec.left(PREC.SHIFT, seq($._expression, choice("<<", ">>", "<<%", ">>%"), $._expression)), prec.left(PREC.ADDITIVE, seq($._expression, choice("+", "-", "+%", "-%"), $._expression)), prec.left(PREC.MULTIPLICATIVE, seq($._expression, choice("*", "/", "%", "*%"), $._expression)), + prec.right(PREC.EXPONENT, seq($._expression, choice("**", "**%"), $._expression)), ), unary_expression: ($) => prec(PREC.UNARY, seq(choice("!", "-", "+"), $._expression)), @@ -550,7 +704,7 @@ module.exports = grammar({ )), postfix_operator: ($) => choice( - seq(".", $.identifier), + seq(".", choice($.identifier, $.field_index)), seq("[", $._expression, "]"), seq("(", optional($.expression_list), ")"), ), @@ -561,7 +715,7 @@ module.exports = grammar({ seq("(", $.lvalue, ")"), ), repeat(choice( - seq(".", $.identifier), + seq(".", choice($.identifier, $.field_index)), seq("[", $._expression, "]"), )), ), @@ -569,11 +723,14 @@ module.exports = grammar({ primary_expression: ($) => choice( $.literal, $.identifier, + $.error_identifier, $.parenthesized_expression, + $.tuple_expression, $.try_expression, $.old_expression, $.comptime_expression, $.cast_expression, + $.intrinsic_expression, $.error_expression, $.quantified_expression, $.anonymous_struct_literal, @@ -585,6 +742,7 @@ module.exports = grammar({ literal: ($) => choice( $.bool_literal, $.number_literal, + $.bytes_literal, $.string_literal, ), @@ -593,6 +751,13 @@ module.exports = grammar({ old_expression: ($) => seq("old", "(", $._expression, ")"), comptime_expression: ($) => seq("comptime", $.block), cast_expression: ($) => seq("@", "cast", "(", $.type, ",", $._expression, ")"), + intrinsic_expression: ($) => seq( + "@", + field("name", $.identifier), + "(", + optional($.expression_list), + ")", + ), error_expression: ($) => seq( "error", @@ -600,6 +765,8 @@ module.exports = grammar({ field("name", $.identifier), ), + error_identifier: (_) => "error", + quantified_expression: ($) => seq( choice("forall", "exists"), field("name", $.identifier), @@ -611,7 +778,10 @@ module.exports = grammar({ ), struct_literal: ($) => seq( - field("name", $.identifier), + field("name", choice( + $.identifier, + $.generic_type, + )), field("fields", $.struct_literal_fields), ), @@ -628,14 +798,32 @@ module.exports = grammar({ optional(","), ), - struct_literal_field: ($) => seq( - field("name", $.identifier), - ":", - field("value", $._expression), + struct_literal_field: ($) => choice( + seq( + field("name", $.identifier), + ":", + field("value", $._expression), + ), + seq( + ".", + field("name", $.identifier), + "=", + field("value", $._expression), + ), ), array_literal: ($) => seq("[", optional($.expression_list), "]"), + tuple_expression: ($) => seq( + "(", + $._expression, + ",", + $._expression, + repeat(seq(",", $._expression)), + optional(","), + ")", + ), + expression_list: ($) => seq( $._expression, repeat(seq(",", $._expression)), @@ -655,6 +843,10 @@ module.exports = grammar({ /[0-9][0-9_]*/, ), + bytes_literal: (_) => /hex"(?:[0-9A-Fa-f_])*"/, + + field_index: (_) => /[0-9]+/, + string_literal: (_) => /"(?:[^"\\]|\\.)*"/, identifier: (_) => /[A-Za-z_][A-Za-z0-9_]*/, diff --git a/tree-sitter-ora/queries/highlights.scm b/tree-sitter-ora/queries/highlights.scm index d8ed92a..cf4f150 100644 --- a/tree-sitter-ora/queries/highlights.scm +++ b/tree-sitter-ora/queries/highlights.scm @@ -1,25 +1,160 @@ (comment) @comment (string_literal) @string +(bytes_literal) @string.special (number_literal) @number (bool_literal) @boolean +(field_index) @number +;; Types and declarations (primitive_type) @type.builtin - (contract_declaration name: (identifier) @type) (struct_declaration name: (identifier) @type) (enum_declaration name: (identifier) @type) (bitfield_declaration name: (identifier) @type) (error_declaration name: (identifier) @type) +(type (plain_type (identifier) @type)) +(generic_type name: (identifier) @type) +(struct_literal name: (identifier) @type) +;; Functions and calls (function_declaration name: (identifier) @function) (log_declaration name: (identifier) @function) +((postfix_expression + (primary_expression (identifier) @function.call) + (postfix_operator "(")) + (#set! "priority" 85)) + +;; Distinct style for functions with comptime parameters +((function_declaration + name: (identifier) @function.comptime + (parameter_list + (parameter (parameter_modifier)))) + (#set! "priority" 125)) + +;; Region-aware variables +((variable_declaration + (memory_region) @keyword.storage + name: (identifier) @variable.storage) + (#eq? @keyword.storage "storage") + (#set! "priority" 120)) + +((variable_declaration + (memory_region) @keyword.memory + name: (identifier) @variable.memory) + (#eq? @keyword.memory "memory") + (#set! "priority" 120)) + +((variable_declaration + (memory_region) @keyword.tstore + name: (identifier) @variable.tstore) + (#eq? @keyword.tstore "tstore") + (#set! "priority" 120)) + +((variable_declaration + (memory_region) @keyword.calldata + name: (identifier) @variable.calldata) + (#eq? @keyword.calldata "calldata") + (#set! "priority" 120)) + +;; Ghost declarations +(ghost_declaration "ghost" @keyword.ghost) +((ghost_declaration + (variable_declaration name: (identifier) @variable.ghost)) + (#set! "priority" 120)) +((ghost_declaration + (function_declaration name: (identifier) @function.ghost)) + (#set! "priority" 120)) + +;; Formal verification constructs +(requires_clause "requires" @keyword.fv) +(ensures_clause "ensures" @keyword.fv) +(invariant_clause "invariant" @keyword.fv) +(decreases_clause "decreases" @keyword.fv) +(contract_invariant "invariant" @keyword.fv) +(requires_statement "requires" @keyword.fv) +(ensures_statement "ensures" @keyword.fv) +(quantified_expression ["forall" "exists" "where"] @keyword.fv) + +;; Comptime constructs +((comptime_expression "comptime" @keyword.comptime) + (#set! "priority" 120)) +((comptime_statement "comptime" @keyword.comptime) + (#set! "priority" 120)) +((parameter_modifier) @keyword.comptime + (#set! "priority" 120)) +((parameter + modifier: (parameter_modifier) + name: (identifier) @variable.parameter.comptime) + (#set! "priority" 120)) + +;; Builtins: std namespace +((postfix_expression + (primary_expression (identifier) @module.builtin) + (postfix_operator "." (identifier))) + (#eq? @module.builtin "std") + (#set! "priority" 130)) + +((postfix_expression + (primary_expression (identifier) @_std_root) + (postfix_operator "." (identifier) @module.builtin)) + (#eq? @_std_root "std") + (#set! "priority" 130)) + +((postfix_expression + (primary_expression (identifier) @_std_root) + (postfix_operator "." (identifier) @_std_ns) + (postfix_operator "." (identifier) @constant.builtin)) + (#eq? @_std_root "std") + (#eq? @_std_ns "constants") + (#set! "priority" 130)) + +((postfix_expression + (primary_expression (identifier) @_std_root) + (postfix_operator "." (identifier) @_std_ns) + (postfix_operator "." (identifier) @function.builtin)) + (#eq? @_std_root "std") + (#match? @_std_ns "^(msg|transaction)$") + (#set! "priority" 130)) + +((postfix_expression + (primary_expression (identifier) @_std_root) + (postfix_operator "." (identifier) @_std_ns) + (postfix_operator "." (identifier) @variable.builtin)) + (#eq? @_std_root "std") + (#eq? @_std_ns "block") + (#set! "priority" 130)) + +;; Builtins: intrinsic calls and error payloads +((intrinsic_expression name: (identifier) @function.builtin) + (#set! "priority" 130)) + +((intrinsic_expression name: (identifier) @keyword.directive) + (#match? @keyword.directive "^(lock|unlock)$") + (#set! "priority" 135)) +(error_expression "error" @module.builtin) +(error_expression name: (identifier) @constant.builtin) + +;; Symbols and locals (parameter name: (identifier) @variable.parameter) +(tuple_pattern (identifier) @variable) +(tuple_variable_declaration pattern: (tuple_pattern (identifier) @variable)) (variable_declaration name: (identifier) @variable) (struct_field name: (identifier) @property) (struct_literal_field name: (identifier) @property) (log_parameter name: (identifier) @property) +(enum_member name: (identifier) @constant) +(labeled_block label: (identifier) @label) +(break_statement (identifier) @label) +(continue_statement (identifier) @label) + +;; Memory-region keywords in non-declaration contexts +((memory_region) @keyword.storage (#eq? @keyword.storage "storage")) +((memory_region) @keyword.memory (#eq? @keyword.memory "memory")) +((memory_region) @keyword.tstore (#eq? @keyword.tstore "tstore")) +((memory_region) @keyword.calldata (#eq? @keyword.calldata "calldata")) +;; Keywords [ "contract" "fn" @@ -30,9 +165,6 @@ "log" "error" "ghost" - "invariant" - "requires" - "ensures" "if" "else" "while" @@ -44,19 +176,31 @@ "try" "catch" "assert" - "forall" - "exists" - "where" "const" "let" "var" "immutable" - "storage" - "memory" - "tstore" + "invariant" + "decreases" + "requires" + "ensures" + "forall" + "exists" + "where" + "assume" + "havoc" + "old" + "calldata" "indexed" + "map" + "slice" ] @keyword +(lock_statement "lock" @keyword.directive) +(unlock_statement "unlock" @keyword.directive) +(import_declaration "import" @include) + +;; Operators [ "=" "+=" @@ -77,16 +221,25 @@ ">=" "<<" ">>" + "<<%" + ">>%" "+" "-" "*" "/" "%" + "+%" + "-%" + "*%" + "**" + "**%" "->" "=>" + ".." "..." ] @operator +;; Punctuation [ "(" ")" diff --git a/tree-sitter-ora/src/grammar.json b/tree-sitter-ora/src/grammar.json index 9aa913b..4c7a045 100644 --- a/tree-sitter-ora/src/grammar.json +++ b/tree-sitter-ora/src/grammar.json @@ -161,6 +161,22 @@ "name": "identifier" } }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "type_parameters", + "content": { + "type": "SYMBOL", + "name": "generic_parameter_clause" + } + }, + { + "type": "BLANK" + } + ] + }, { "type": "STRING", "value": "{" @@ -305,8 +321,17 @@ "type": "FIELD", "name": "body", "content": { - "type": "SYMBOL", - "name": "block" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "block" + }, + { + "type": "SYMBOL", + "name": "return_statement" + } + ] } } ] @@ -351,6 +376,22 @@ "parameter": { "type": "SEQ", "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "modifier", + "content": { + "type": "SYMBOL", + "name": "parameter_modifier" + } + }, + { + "type": "BLANK" + } + ] + }, { "type": "FIELD", "name": "name", @@ -373,6 +414,10 @@ } ] }, + "parameter_modifier": { + "type": "STRING", + "value": "comptime" + }, "return_type": { "type": "SEQ", "members": [ @@ -441,89 +486,210 @@ ] }, "variable_declaration": { - "type": "SEQ", + "type": "CHOICE", "members": [ { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "memory_region" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "memory_region" + }, + { + "type": "BLANK" + } + ] }, { - "type": "BLANK" + "type": "FIELD", + "name": "kind", + "content": { + "type": "SYMBOL", + "name": "variable_kind" + } + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" } ] }, { - "type": "FIELD", - "name": "kind", - "content": { - "type": "SYMBOL", - "name": "variable_kind" - } - }, - { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SEQ", + "type": "FIELD", + "name": "region", + "content": { + "type": "SYMBOL", + "name": "memory_region" + } + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type" + } + }, + { + "type": "CHOICE", "members": [ { - "type": "STRING", - "value": ":" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] }, { - "type": "FIELD", - "name": "type", - "content": { - "type": "SYMBOL", - "name": "type" - } + "type": "BLANK" } ] }, { - "type": "BLANK" + "type": "STRING", + "value": ";" } ] }, { - "type": "CHOICE", + "type": "SEQ", "members": [ { - "type": "SEQ", + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type" + } + }, + { + "type": "CHOICE", "members": [ { - "type": "STRING", - "value": "=" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] }, { - "type": "FIELD", - "name": "value", - "content": { - "type": "SYMBOL", - "name": "_expression" - } + "type": "BLANK" } ] }, { - "type": "BLANK" + "type": "STRING", + "value": ";" } ] - }, - { - "type": "STRING", - "value": ";" } ] }, @@ -541,6 +707,10 @@ { "type": "STRING", "value": "tstore" + }, + { + "type": "STRING", + "value": "calldata" } ] }, @@ -580,6 +750,22 @@ "name": "identifier" } }, + { + "type": "CHOICE", + "members": [ + { + "type": "FIELD", + "name": "type_parameters", + "content": { + "type": "SYMBOL", + "name": "generic_parameter_clause" + } + }, + { + "type": "BLANK" + } + ] + }, { "type": "STRING", "value": "{" @@ -597,23 +783,48 @@ } ] }, - "struct_field": { + "generic_parameter_clause": { "type": "SEQ", "members": [ { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "identifier" - } + "type": "STRING", + "value": "(" }, { - "type": "STRING", - "value": ":" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "parameter_list" + }, + { + "type": "BLANK" + } + ] }, { - "type": "FIELD", + "type": "STRING", + "value": ")" + } + ] + }, + "struct_field": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", "name": "type", "content": { "type": "SYMBOL", @@ -1233,6 +1444,10 @@ "type": "SYMBOL", "name": "slice_type" }, + { + "type": "SYMBOL", + "name": "tuple_type" + }, { "type": "SYMBOL", "name": "anonymous_struct_type" @@ -1344,6 +1559,28 @@ "name": "identifier" } }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "type_argument_list_angle" + }, + { + "type": "SYMBOL", + "name": "type_argument_list_paren" + } + ] + } + } + ] + }, + "type_argument_list_angle": { + "type": "SEQ", + "members": [ { "type": "STRING", "value": "<" @@ -1391,40 +1628,132 @@ } ] }, - "map_type": { + "type_argument_list_paren": { "type": "SEQ", "members": [ { "type": "STRING", - "value": "map" + "value": "(" }, { - "type": "STRING", - "value": "<" + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_argument" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "type_argument" + } + ] + } + } + ] }, { - "type": "FIELD", - "name": "key", - "content": { - "type": "SYMBOL", - "name": "type" - } + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] }, { "type": "STRING", - "value": "," - }, + "value": ")" + } + ] + }, + "map_type": { + "type": "CHOICE", + "members": [ { - "type": "FIELD", - "name": "value", - "content": { - "type": "SYMBOL", - "name": "type" - } + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "map" + }, + { + "type": "STRING", + "value": "<" + }, + { + "type": "FIELD", + "name": "key", + "content": { + "type": "SYMBOL", + "name": "type" + } + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "type" + } + }, + { + "type": "STRING", + "value": ">" + } + ] }, { - "type": "STRING", - "value": ">" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "map" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "key", + "content": { + "type": "SYMBOL", + "name": "type" + } + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "type" + } + }, + { + "type": "STRING", + "value": ")" + } + ] } ] }, @@ -1486,6 +1815,59 @@ } ] }, + "tuple_type": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "type" + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "type" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "type" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, "anonymous_struct_type": { "type": "SEQ", "members": [ @@ -1584,6 +1966,10 @@ "type": "SYMBOL", "name": "variable_declaration" }, + { + "type": "SYMBOL", + "name": "tuple_variable_declaration" + }, { "type": "SYMBOL", "name": "assignment_statement" @@ -1596,10 +1982,30 @@ "type": "SYMBOL", "name": "destructuring_assignment" }, + { + "type": "SYMBOL", + "name": "requires_statement" + }, + { + "type": "SYMBOL", + "name": "ensures_statement" + }, + { + "type": "SYMBOL", + "name": "assume_statement" + }, + { + "type": "SYMBOL", + "name": "havoc_statement" + }, { "type": "SYMBOL", "name": "expression_statement" }, + { + "type": "SYMBOL", + "name": "comptime_statement" + }, { "type": "SYMBOL", "name": "if_statement" @@ -1761,16 +2167,136 @@ "value": "=" }, { - "type": "FIELD", - "name": "value", + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "tuple_variable_declaration": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "kind", + "content": { + "type": "SYMBOL", + "name": "variable_kind" + } + }, + { + "type": "FIELD", + "name": "pattern", + "content": { + "type": "SYMBOL", + "name": "tuple_pattern" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "type", + "content": { + "type": "SYMBOL", + "name": "type" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "tuple_pattern": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "REPEAT", "content": { - "type": "SYMBOL", - "name": "_expression" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] } }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, { "type": "STRING", - "value": ";" + "value": ")" } ] }, @@ -1887,6 +2413,156 @@ } ] }, + "requires_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "requires" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "ensures_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "ensures" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + "assume_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "assume" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "condition", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "STRING", + "value": ")" + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "havoc_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "havoc" + }, + { + "type": "FIELD", + "name": "target", + "content": { + "type": "SYMBOL", + "name": "lvalue" + } + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "comptime_statement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "comptime" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "while_statement" + }, + { + "type": "SYMBOL", + "name": "for_statement" + }, + { + "type": "SYMBOL", + "name": "if_statement" + } + ] + } + ] + }, "if_statement": { "type": "PREC_RIGHT", "value": 0, @@ -1975,8 +2651,17 @@ { "type": "REPEAT", "content": { - "type": "SYMBOL", - "name": "invariant_clause" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "invariant_clause" + }, + { + "type": "SYMBOL", + "name": "decreases_clause" + } + ] } }, { @@ -2031,8 +2716,17 @@ { "type": "REPEAT", "content": { - "type": "SYMBOL", - "name": "invariant_clause" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "invariant_clause" + }, + { + "type": "SYMBOL", + "name": "decreases_clause" + } + ] } }, { @@ -2109,6 +2803,31 @@ } ] }, + "decreases_clause": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "decreases" + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "measure", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, "return_statement": { "type": "SEQ", "members": [ @@ -2200,6 +2919,18 @@ { "type": "SYMBOL", "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "BLANK" + } + ] } ] }, @@ -2414,8 +3145,17 @@ "type": "FIELD", "name": "error", "content": { - "type": "SYMBOL", - "name": "identifier" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "STRING", + "value": "error" + } + ] } }, { @@ -2485,8 +3225,25 @@ "type": "FIELD", "name": "body", "content": { - "type": "SYMBOL", - "name": "block" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "block" + }, + { + "type": "SYMBOL", + "name": "for_statement" + }, + { + "type": "SYMBOL", + "name": "while_statement" + }, + { + "type": "SYMBOL", + "name": "switch_statement" + } + ] } } ] @@ -2691,6 +3448,10 @@ } ] }, + { + "type": "SYMBOL", + "name": "labeled_block" + }, { "type": "SYMBOL", "name": "block" @@ -2787,9 +3548,30 @@ "binary_expression": { "type": "CHOICE", "members": [ + { + "type": "PREC_RIGHT", + "value": 2, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "STRING", + "value": ".." + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + } + }, { "type": "PREC_LEFT", - "value": 2, + "value": 3, "content": { "type": "SEQ", "members": [ @@ -2810,7 +3592,7 @@ }, { "type": "PREC_LEFT", - "value": 3, + "value": 4, "content": { "type": "SEQ", "members": [ @@ -2831,7 +3613,7 @@ }, { "type": "PREC_LEFT", - "value": 4, + "value": 5, "content": { "type": "SEQ", "members": [ @@ -2852,7 +3634,7 @@ }, { "type": "PREC_LEFT", - "value": 5, + "value": 6, "content": { "type": "SEQ", "members": [ @@ -2873,7 +3655,7 @@ }, { "type": "PREC_LEFT", - "value": 6, + "value": 7, "content": { "type": "SEQ", "members": [ @@ -2894,7 +3676,7 @@ }, { "type": "PREC_LEFT", - "value": 7, + "value": 8, "content": { "type": "SEQ", "members": [ @@ -2924,7 +3706,7 @@ }, { "type": "PREC_LEFT", - "value": 8, + "value": 9, "content": { "type": "SEQ", "members": [ @@ -2962,7 +3744,7 @@ }, { "type": "PREC_LEFT", - "value": 9, + "value": 10, "content": { "type": "SEQ", "members": [ @@ -3000,7 +3782,7 @@ }, { "type": "PREC_LEFT", - "value": 10, + "value": 11, "content": { "type": "SEQ", "members": [ @@ -3038,7 +3820,7 @@ }, { "type": "PREC_LEFT", - "value": 11, + "value": 12, "content": { "type": "SEQ", "members": [ @@ -3073,12 +3855,42 @@ } ] } + }, + { + "type": "PREC_RIGHT", + "value": 13, + "content": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "**" + }, + { + "type": "STRING", + "value": "**%" + } + ] + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + } } ] }, "unary_expression": { "type": "PREC", - "value": 12, + "value": 14, "content": { "type": "SEQ", "members": [ @@ -3108,7 +3920,7 @@ }, "postfix_expression": { "type": "PREC_LEFT", - "value": 13, + "value": 15, "content": { "type": "SEQ", "members": [ @@ -3137,8 +3949,17 @@ "value": "." }, { - "type": "SYMBOL", - "name": "identifier" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "field_index" + } + ] } ] }, @@ -3228,8 +4049,17 @@ "value": "." }, { - "type": "SYMBOL", - "name": "identifier" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "field_index" + } + ] } ] }, @@ -3266,10 +4096,18 @@ "type": "SYMBOL", "name": "identifier" }, + { + "type": "SYMBOL", + "name": "error_identifier" + }, { "type": "SYMBOL", "name": "parenthesized_expression" }, + { + "type": "SYMBOL", + "name": "tuple_expression" + }, { "type": "SYMBOL", "name": "try_expression" @@ -3286,6 +4124,10 @@ "type": "SYMBOL", "name": "cast_expression" }, + { + "type": "SYMBOL", + "name": "intrinsic_expression" + }, { "type": "SYMBOL", "name": "error_expression" @@ -3323,6 +4165,10 @@ "type": "SYMBOL", "name": "number_literal" }, + { + "type": "SYMBOL", + "name": "bytes_literal" + }, { "type": "SYMBOL", "name": "string_literal" @@ -3426,6 +4272,43 @@ } ] }, + "intrinsic_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "@" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "expression_list" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, "error_expression": { "type": "SEQ", "members": [ @@ -3447,6 +4330,10 @@ } ] }, + "error_identifier": { + "type": "STRING", + "value": "error" + }, "quantified_expression": { "type": "SEQ", "members": [ @@ -3529,8 +4416,17 @@ "type": "FIELD", "name": "name", "content": { - "type": "SYMBOL", - "name": "identifier" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "SYMBOL", + "name": "generic_type" + } + ] } }, { @@ -3623,27 +4519,61 @@ ] }, "struct_literal_field": { - "type": "SEQ", + "type": "CHOICE", "members": [ { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - }, - { - "type": "STRING", - "value": ":" + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] }, { - "type": "FIELD", - "name": "value", - "content": { - "type": "SYMBOL", - "name": "_expression" - } + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] } ] }, @@ -3672,6 +4602,59 @@ } ] }, + "tuple_expression": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "_expression" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, "expression_list": { "type": "SEQ", "members": [ @@ -3777,6 +4760,14 @@ } ] }, + "bytes_literal": { + "type": "PATTERN", + "value": "hex\"(?:[0-9A-Fa-f_])*\"" + }, + "field_index": { + "type": "PATTERN", + "value": "[0-9]+" + }, "string_literal": { "type": "PATTERN", "value": "\"(?:[^\"\\\\]|\\\\.)*\"" @@ -3816,6 +4807,18 @@ [ "switch_statement", "switch_expression" + ], + [ + "generic_type", + "primary_expression" + ], + [ + "plain_type", + "generic_type" + ], + [ + "error_expression", + "error_identifier" ] ], "precedences": [], diff --git a/tree-sitter-ora/src/node-types.json b/tree-sitter-ora/src/node-types.json index 94d9145..fbb4bf4 100644 --- a/tree-sitter-ora/src/node-types.json +++ b/tree-sitter-ora/src/node-types.json @@ -269,6 +269,38 @@ } } }, + { + "type": "assume_statement", + "named": true, + "fields": { + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "postfix_expression", + "named": true + }, + { + "type": "primary_expression", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + } + }, { "type": "binary_expression", "named": true, @@ -403,6 +435,10 @@ "type": "assignment_statement", "named": true }, + { + "type": "assume_statement", + "named": true + }, { "type": "block", "named": true @@ -415,6 +451,10 @@ "type": "compound_assignment_statement", "named": true }, + { + "type": "comptime_statement", + "named": true + }, { "type": "continue_statement", "named": true @@ -423,6 +463,10 @@ "type": "destructuring_assignment", "named": true }, + { + "type": "ensures_statement", + "named": true + }, { "type": "expression_statement", "named": true @@ -431,6 +475,10 @@ "type": "for_statement", "named": true }, + { + "type": "havoc_statement", + "named": true + }, { "type": "if_statement", "named": true @@ -447,6 +495,10 @@ "type": "log_statement", "named": true }, + { + "type": "requires_statement", + "named": true + }, { "type": "return_statement", "named": true @@ -459,6 +511,10 @@ "type": "try_statement", "named": true }, + { + "type": "tuple_variable_declaration", + "named": true + }, { "type": "unlock_statement", "named": true @@ -622,16 +678,59 @@ } }, { - "type": "continue_statement", + "type": "comptime_statement", "named": true, "fields": {}, "children": { "multiple": false, + "required": true, + "types": [ + { + "type": "for_statement", + "named": true + }, + { + "type": "if_statement", + "named": true + }, + { + "type": "while_statement", + "named": true + } + ] + } + }, + { + "type": "continue_statement", + "named": true, + "fields": {}, + "children": { + "multiple": true, "required": false, "types": [ + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, { "type": "identifier", "named": true + }, + { + "type": "postfix_expression", + "named": true + }, + { + "type": "primary_expression", + "named": true + }, + { + "type": "unary_expression", + "named": true } ] } @@ -649,6 +748,16 @@ "named": true } ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "generic_parameter_clause", + "named": true + } + ] } }, "children": { @@ -751,6 +860,38 @@ ] } }, + { + "type": "decreases_clause", + "named": true, + "fields": { + "measure": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "postfix_expression", + "named": true + }, + { + "type": "primary_expression", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + } + }, { "type": "destructuring_assignment", "named": true, @@ -891,6 +1032,38 @@ } } }, + { + "type": "ensures_statement", + "named": true, + "fields": { + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "postfix_expression", + "named": true + }, + { + "type": "primary_expression", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + } + }, { "type": "enum_declaration", "named": true, @@ -1026,6 +1199,11 @@ } } }, + { + "type": "error_identifier", + "named": true, + "fields": {} + }, { "type": "error_union_type", "named": true, @@ -1139,6 +1317,10 @@ "type": "assignment_statement", "named": true }, + { + "type": "assume_statement", + "named": true + }, { "type": "block", "named": true @@ -1151,6 +1333,10 @@ "type": "compound_assignment_statement", "named": true }, + { + "type": "comptime_statement", + "named": true + }, { "type": "continue_statement", "named": true @@ -1159,6 +1345,10 @@ "type": "destructuring_assignment", "named": true }, + { + "type": "ensures_statement", + "named": true + }, { "type": "expression_statement", "named": true @@ -1167,6 +1357,10 @@ "type": "for_statement", "named": true }, + { + "type": "havoc_statement", + "named": true + }, { "type": "if_statement", "named": true @@ -1183,6 +1377,10 @@ "type": "log_statement", "named": true }, + { + "type": "requires_statement", + "named": true + }, { "type": "return_statement", "named": true @@ -1195,6 +1393,10 @@ "type": "try_statement", "named": true }, + { + "type": "tuple_variable_declaration", + "named": true + }, { "type": "unlock_statement", "named": true @@ -1250,6 +1452,10 @@ "multiple": true, "required": false, "types": [ + { + "type": "decreases_clause", + "named": true + }, { "type": "invariant_clause", "named": true @@ -1268,6 +1474,10 @@ { "type": "block", "named": true + }, + { + "type": "return_statement", + "named": true } ] }, @@ -1309,10 +1519,39 @@ ] } }, + { + "type": "generic_parameter_clause", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + } + }, { "type": "generic_type", "named": true, "fields": { + "arguments": { + "multiple": false, + "required": true, + "types": [ + { + "type": "type_argument_list_angle", + "named": true + }, + { + "type": "type_argument_list_paren", + "named": true + } + ] + }, "name": { "multiple": false, "required": true, @@ -1323,16 +1562,6 @@ } ] } - }, - "children": { - "multiple": true, - "required": true, - "types": [ - { - "type": "type_argument", - "named": true - } - ] } }, { @@ -1358,6 +1587,22 @@ ] } }, + { + "type": "havoc_statement", + "named": true, + "fields": { + "target": { + "multiple": false, + "required": true, + "types": [ + { + "type": "lvalue", + "named": true + } + ] + } + } + }, { "type": "if_statement", "named": true, @@ -1374,6 +1619,10 @@ "type": "assignment_statement", "named": true }, + { + "type": "assume_statement", + "named": true + }, { "type": "block", "named": true @@ -1386,6 +1635,10 @@ "type": "compound_assignment_statement", "named": true }, + { + "type": "comptime_statement", + "named": true + }, { "type": "continue_statement", "named": true @@ -1394,6 +1647,10 @@ "type": "destructuring_assignment", "named": true }, + { + "type": "ensures_statement", + "named": true + }, { "type": "expression_statement", "named": true @@ -1402,6 +1659,10 @@ "type": "for_statement", "named": true }, + { + "type": "havoc_statement", + "named": true + }, { "type": "if_statement", "named": true @@ -1418,6 +1679,10 @@ "type": "log_statement", "named": true }, + { + "type": "requires_statement", + "named": true + }, { "type": "return_statement", "named": true @@ -1430,6 +1695,10 @@ "type": "try_statement", "named": true }, + { + "type": "tuple_variable_declaration", + "named": true + }, { "type": "unlock_statement", "named": true @@ -1482,6 +1751,10 @@ "type": "assignment_statement", "named": true }, + { + "type": "assume_statement", + "named": true + }, { "type": "block", "named": true @@ -1494,6 +1767,10 @@ "type": "compound_assignment_statement", "named": true }, + { + "type": "comptime_statement", + "named": true + }, { "type": "continue_statement", "named": true @@ -1502,6 +1779,10 @@ "type": "destructuring_assignment", "named": true }, + { + "type": "ensures_statement", + "named": true + }, { "type": "expression_statement", "named": true @@ -1510,6 +1791,10 @@ "type": "for_statement", "named": true }, + { + "type": "havoc_statement", + "named": true + }, { "type": "if_statement", "named": true @@ -1526,6 +1811,10 @@ "type": "log_statement", "named": true }, + { + "type": "requires_statement", + "named": true + }, { "type": "return_statement", "named": true @@ -1538,6 +1827,10 @@ "type": "try_statement", "named": true }, + { + "type": "tuple_variable_declaration", + "named": true + }, { "type": "unlock_statement", "named": true @@ -1580,6 +1873,32 @@ } } }, + { + "type": "intrinsic_expression", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": false, + "required": false, + "types": [ + { + "type": "expression_list", + "named": true + } + ] + } + }, { "type": "invariant_clause", "named": true, @@ -1623,6 +1942,18 @@ { "type": "block", "named": true + }, + { + "type": "for_statement", + "named": true + }, + { + "type": "switch_statement", + "named": true + }, + { + "type": "while_statement", + "named": true } ] }, @@ -1650,6 +1981,10 @@ "type": "bool_literal", "named": true }, + { + "type": "bytes_literal", + "named": true + }, { "type": "number_literal", "named": true @@ -1802,6 +2137,10 @@ "type": "binary_expression", "named": true }, + { + "type": "field_index", + "named": true + }, { "type": "identifier", "named": true @@ -1896,6 +2235,16 @@ "type": "parameter", "named": true, "fields": { + "modifier": { + "multiple": false, + "required": false, + "types": [ + { + "type": "parameter_modifier", + "named": true + } + ] + }, "name": { "multiple": false, "required": true, @@ -1933,6 +2282,11 @@ ] } }, + { + "type": "parameter_modifier", + "named": true, + "fields": {} + }, { "type": "parenthesized_expression", "named": true, @@ -1999,6 +2353,10 @@ { "type": "slice_type", "named": true + }, + { + "type": "tuple_type", + "named": true } ] } @@ -2042,6 +2400,10 @@ "type": "expression_list", "named": true }, + { + "type": "field_index", + "named": true + }, { "type": "identifier", "named": true @@ -2086,11 +2448,19 @@ "named": true }, { - "type": "error_expression", + "type": "error_expression", + "named": true + }, + { + "type": "error_identifier", + "named": true + }, + { + "type": "identifier", "named": true }, { - "type": "identifier", + "type": "intrinsic_expression", "named": true }, { @@ -2120,6 +2490,10 @@ { "type": "try_expression", "named": true + }, + { + "type": "tuple_expression", + "named": true } ] } @@ -2297,6 +2671,38 @@ } } }, + { + "type": "requires_statement", + "named": true, + "fields": { + "condition": { + "multiple": false, + "required": true, + "types": [ + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "postfix_expression", + "named": true + }, + { + "type": "primary_expression", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + } + }, { "type": "return_statement", "named": true, @@ -2429,6 +2835,16 @@ "named": true } ] + }, + "type_parameters": { + "multiple": false, + "required": false, + "types": [ + { + "type": "generic_parameter_clause", + "named": true + } + ] } }, "children": { @@ -2486,6 +2902,10 @@ "multiple": false, "required": true, "types": [ + { + "type": "generic_type", + "named": true + }, { "type": "identifier", "named": true @@ -2605,6 +3025,10 @@ "type": "block", "named": true }, + { + "type": "labeled_block", + "named": true + }, { "type": "postfix_expression", "named": true @@ -2833,6 +3257,10 @@ "multiple": false, "required": false, "types": [ + { + "type": "error", + "named": false + }, { "type": "identifier", "named": true @@ -2841,6 +3269,129 @@ } } }, + { + "type": "tuple_expression", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "postfix_expression", + "named": true + }, + { + "type": "primary_expression", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + }, + { + "type": "tuple_pattern", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "tuple_type", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "type", + "named": true + } + ] + } + }, + { + "type": "tuple_variable_declaration", + "named": true, + "fields": { + "kind": { + "multiple": false, + "required": true, + "types": [ + { + "type": "variable_kind", + "named": true + } + ] + }, + "pattern": { + "multiple": false, + "required": true, + "types": [ + { + "type": "tuple_pattern", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": false, + "types": [ + { + "type": "type", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": false, + "types": [ + { + "type": "assignment_expression", + "named": true + }, + { + "type": "binary_expression", + "named": true + }, + { + "type": "postfix_expression", + "named": true + }, + { + "type": "primary_expression", + "named": true + }, + { + "type": "unary_expression", + "named": true + } + ] + } + } + }, { "type": "type", "named": true, @@ -2879,6 +3430,36 @@ ] } }, + { + "type": "type_argument_list_angle", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "type_argument", + "named": true + } + ] + } + }, + { + "type": "type_argument_list_paren", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "type_argument", + "named": true + } + ] + } + }, { "type": "unary_expression", "named": true, @@ -2948,7 +3529,7 @@ "fields": { "kind": { "multiple": false, - "required": true, + "required": false, "types": [ { "type": "variable_kind", @@ -2966,6 +3547,16 @@ } ] }, + "region": { + "multiple": false, + "required": false, + "types": [ + { + "type": "memory_region", + "named": true + } + ] + }, "type": { "multiple": false, "required": false, @@ -3035,6 +3626,10 @@ "type": "assignment_statement", "named": true }, + { + "type": "assume_statement", + "named": true + }, { "type": "block", "named": true @@ -3047,6 +3642,10 @@ "type": "compound_assignment_statement", "named": true }, + { + "type": "comptime_statement", + "named": true + }, { "type": "continue_statement", "named": true @@ -3055,6 +3654,10 @@ "type": "destructuring_assignment", "named": true }, + { + "type": "ensures_statement", + "named": true + }, { "type": "expression_statement", "named": true @@ -3063,6 +3666,10 @@ "type": "for_statement", "named": true }, + { + "type": "havoc_statement", + "named": true + }, { "type": "if_statement", "named": true @@ -3079,6 +3686,10 @@ "type": "log_statement", "named": true }, + { + "type": "requires_statement", + "named": true + }, { "type": "return_statement", "named": true @@ -3091,6 +3702,10 @@ "type": "try_statement", "named": true }, + { + "type": "tuple_variable_declaration", + "named": true + }, { "type": "unlock_statement", "named": true @@ -3136,6 +3751,10 @@ "multiple": true, "required": false, "types": [ + { + "type": "decreases_clause", + "named": true + }, { "type": "invariant_clause", "named": true @@ -3183,6 +3802,14 @@ "type": "*%", "named": false }, + { + "type": "**", + "named": false + }, + { + "type": "**%", + "named": false + }, { "type": "*=", "named": false @@ -3323,6 +3950,10 @@ "type": "assert", "named": false }, + { + "type": "assume", + "named": false + }, { "type": "bitfield", "named": false @@ -3339,6 +3970,14 @@ "type": "bytes", "named": false }, + { + "type": "bytes_literal", + "named": true + }, + { + "type": "calldata", + "named": false + }, { "type": "cast", "named": false @@ -3368,6 +4007,10 @@ "type": "contract", "named": false }, + { + "type": "decreases", + "named": false + }, { "type": "else", "named": false @@ -3392,6 +4035,10 @@ "type": "false", "named": false }, + { + "type": "field_index", + "named": true + }, { "type": "fn", "named": false @@ -3408,6 +4055,10 @@ "type": "ghost", "named": false }, + { + "type": "havoc", + "named": false + }, { "type": "i128", "named": false diff --git a/tree-sitter-ora/src/parser.c b/tree-sitter-ora/src/parser.c index 0197479..7f5fb48 100644 --- a/tree-sitter-ora/src/parser.c +++ b/tree-sitter-ora/src/parser.c @@ -7,16 +7,16 @@ #endif #define LANGUAGE_VERSION 15 -#define STATE_COUNT 630 -#define LARGE_STATE_COUNT 13 -#define SYMBOL_COUNT 234 +#define STATE_COUNT 1021 +#define LARGE_STATE_COUNT 19 +#define SYMBOL_COUNT 260 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 116 +#define TOKEN_COUNT 124 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 30 +#define FIELD_COUNT 35 #define MAX_ALIAS_SEQUENCE_LENGTH 10 #define MAX_RESERVED_WORD_SET_SIZE 0 -#define PRODUCTION_ID_COUNT 59 +#define PRODUCTION_ID_COUNT 72 #define SUPERTYPE_COUNT 0 enum ts_symbol_identifiers { @@ -36,223 +36,249 @@ enum ts_symbol_identifiers { anon_sym_init = 14, anon_sym_COMMA = 15, anon_sym_COLON = 16, - anon_sym_DASH_GT = 17, - anon_sym_requires = 18, - anon_sym_ensures = 19, - anon_sym_storage = 20, - anon_sym_memory = 21, - anon_sym_tstore = 22, - anon_sym_var = 23, - anon_sym_let = 24, - anon_sym_immutable = 25, - anon_sym_struct = 26, - anon_sym_bitfield = 27, - anon_sym_ATat = 28, - anon_sym_ATbits = 29, - anon_sym_DOT_DOT = 30, - anon_sym_enum = 31, - anon_sym_log = 32, - anon_sym_indexed = 33, - anon_sym_error = 34, - anon_sym_ghost = 35, - anon_sym_invariant = 36, - anon_sym_BANG = 37, - anon_sym_PIPE = 38, - anon_sym_u8 = 39, - anon_sym_u16 = 40, - anon_sym_u32 = 41, - anon_sym_u64 = 42, - anon_sym_u128 = 43, - anon_sym_u256 = 44, - anon_sym_i8 = 45, - anon_sym_i16 = 46, - anon_sym_i32 = 47, - anon_sym_i64 = 48, - anon_sym_i128 = 49, - anon_sym_i256 = 50, - anon_sym_bool = 51, - anon_sym_address = 52, - anon_sym_string = 53, - anon_sym_bytes = 54, - anon_sym_void = 55, - anon_sym_LT = 56, - anon_sym_GT = 57, - anon_sym_map = 58, - anon_sym_LBRACK = 59, - anon_sym_RBRACK = 60, - anon_sym_slice = 61, - anon_sym_PLUS_EQ = 62, - anon_sym_DASH_EQ = 63, - anon_sym_STAR_EQ = 64, - anon_sym_SLASH_EQ = 65, - anon_sym_PERCENT_EQ = 66, - anon_sym_DOT = 67, - anon_sym_if = 68, - anon_sym_else = 69, - anon_sym_while = 70, - anon_sym_for = 71, - anon_sym_return = 72, - anon_sym_break = 73, - anon_sym_continue = 74, - anon_sym_lock = 75, - anon_sym_unlock = 76, - anon_sym_assert = 77, - anon_sym_try = 78, - anon_sym_catch = 79, - anon_sym_switch = 80, - anon_sym_EQ_GT = 81, - anon_sym_DOT_DOT_DOT = 82, - anon_sym_PIPE_PIPE = 83, - anon_sym_AMP_AMP = 84, - anon_sym_CARET = 85, - anon_sym_AMP = 86, - anon_sym_EQ_EQ = 87, - anon_sym_BANG_EQ = 88, - anon_sym_LT_EQ = 89, - anon_sym_GT_EQ = 90, - anon_sym_LT_LT = 91, - anon_sym_GT_GT = 92, - anon_sym_LT_LT_PERCENT = 93, - anon_sym_GT_GT_PERCENT = 94, - anon_sym_PLUS = 95, - anon_sym_DASH = 96, - anon_sym_PLUS_PERCENT = 97, - anon_sym_DASH_PERCENT = 98, - anon_sym_STAR = 99, - anon_sym_SLASH = 100, - anon_sym_PERCENT = 101, - anon_sym_STAR_PERCENT = 102, - anon_sym_old = 103, - anon_sym_comptime = 104, - anon_sym_cast = 105, - anon_sym_forall = 106, - anon_sym_exists = 107, - anon_sym_where = 108, - sym_comment = 109, - anon_sym_true = 110, - anon_sym_false = 111, - aux_sym_number_literal_token1 = 112, - aux_sym_number_literal_token2 = 113, - aux_sym_number_literal_token3 = 114, - sym_string_literal = 115, - sym_source_file = 116, - sym__top_level_declaration = 117, - sym_import_declaration = 118, - sym_contract_declaration = 119, - sym_contract_member = 120, - sym_function_declaration = 121, - sym_parameter_list = 122, - sym_parameter = 123, - sym_return_type = 124, - sym_requires_clause = 125, - sym_ensures_clause = 126, - sym_variable_declaration = 127, - sym_memory_region = 128, - sym_variable_kind = 129, - sym_struct_declaration = 130, - sym_struct_field = 131, - sym_bitfield_declaration = 132, - sym_bitfield_field = 133, - sym_bitfield_layout = 134, - sym_enum_declaration = 135, - sym_enum_member_list = 136, - sym_enum_member = 137, - sym_log_declaration = 138, - sym_log_parameter_list = 139, - sym_log_parameter = 140, - sym_error_declaration = 141, - sym_ghost_declaration = 142, - sym_contract_invariant = 143, - sym_type = 144, - sym_error_union_type = 145, - sym_plain_type = 146, - sym_primitive_type = 147, - sym_type_argument = 148, - sym_generic_type = 149, - sym_map_type = 150, - sym_array_type = 151, - sym_slice_type = 152, - sym_anonymous_struct_type = 153, - sym_anonymous_struct_field_list = 154, - sym_anonymous_struct_field = 155, - sym__statement = 156, - sym_assignment_statement = 157, - sym_compound_assignment_statement = 158, - sym_compound_operator = 159, - sym_destructuring_assignment = 160, - sym_destructuring_pattern = 161, - sym_destructuring_field_list = 162, - sym_destructuring_field = 163, - sym_expression_statement = 164, - sym_if_statement = 165, - sym_while_statement = 166, - sym_for_statement = 167, - sym_for_pattern = 168, - sym_invariant_clause = 169, - sym_return_statement = 170, - sym_break_statement = 171, - sym_continue_statement = 172, - sym_log_statement = 173, - sym_lock_statement = 174, - sym_unlock_statement = 175, - sym_assert_statement = 176, - sym_try_statement = 177, - sym_block = 178, - sym_labeled_block = 179, - sym_switch_statement = 180, - sym_switch_expression = 181, - sym_switch_arm = 182, - sym_switch_expression_arm = 183, - sym_switch_pattern = 184, - sym_range_pattern = 185, - sym_switch_body = 186, - sym__expression = 187, - sym_assignment_expression = 188, - sym_assignment_operator = 189, - sym_binary_expression = 190, - sym_unary_expression = 191, - sym_postfix_expression = 192, - sym_postfix_operator = 193, - sym_lvalue = 194, - sym_primary_expression = 195, - sym_literal = 196, - sym_parenthesized_expression = 197, - sym_try_expression = 198, - sym_old_expression = 199, - sym_comptime_expression = 200, - sym_cast_expression = 201, - sym_error_expression = 202, - sym_quantified_expression = 203, - sym_struct_literal = 204, - sym_anonymous_struct_literal = 205, - sym_struct_literal_fields = 206, - sym_struct_literal_field_list = 207, - sym_struct_literal_field = 208, - sym_array_literal = 209, - sym_expression_list = 210, - sym_bool_literal = 211, - sym_number_literal = 212, - aux_sym_source_file_repeat1 = 213, - aux_sym_contract_declaration_repeat1 = 214, - aux_sym_function_declaration_repeat1 = 215, - aux_sym_function_declaration_repeat2 = 216, - aux_sym_parameter_list_repeat1 = 217, - aux_sym_struct_declaration_repeat1 = 218, - aux_sym_bitfield_declaration_repeat1 = 219, - aux_sym_enum_member_list_repeat1 = 220, - aux_sym_log_parameter_list_repeat1 = 221, - aux_sym_error_union_type_repeat1 = 222, - aux_sym_generic_type_repeat1 = 223, - aux_sym_anonymous_struct_field_list_repeat1 = 224, - aux_sym_destructuring_field_list_repeat1 = 225, - aux_sym_while_statement_repeat1 = 226, - aux_sym_block_repeat1 = 227, - aux_sym_switch_statement_repeat1 = 228, - aux_sym_switch_expression_repeat1 = 229, - aux_sym_postfix_expression_repeat1 = 230, - aux_sym_lvalue_repeat1 = 231, - aux_sym_struct_literal_field_list_repeat1 = 232, - aux_sym_expression_list_repeat1 = 233, + anon_sym_comptime = 17, + anon_sym_DASH_GT = 18, + anon_sym_requires = 19, + anon_sym_ensures = 20, + anon_sym_storage = 21, + anon_sym_memory = 22, + anon_sym_tstore = 23, + anon_sym_calldata = 24, + anon_sym_var = 25, + anon_sym_let = 26, + anon_sym_immutable = 27, + anon_sym_struct = 28, + anon_sym_bitfield = 29, + anon_sym_ATat = 30, + anon_sym_ATbits = 31, + anon_sym_DOT_DOT = 32, + anon_sym_enum = 33, + anon_sym_log = 34, + anon_sym_indexed = 35, + anon_sym_error = 36, + anon_sym_ghost = 37, + anon_sym_invariant = 38, + anon_sym_BANG = 39, + anon_sym_PIPE = 40, + anon_sym_u8 = 41, + anon_sym_u16 = 42, + anon_sym_u32 = 43, + anon_sym_u64 = 44, + anon_sym_u128 = 45, + anon_sym_u256 = 46, + anon_sym_i8 = 47, + anon_sym_i16 = 48, + anon_sym_i32 = 49, + anon_sym_i64 = 50, + anon_sym_i128 = 51, + anon_sym_i256 = 52, + anon_sym_bool = 53, + anon_sym_address = 54, + anon_sym_string = 55, + anon_sym_bytes = 56, + anon_sym_void = 57, + anon_sym_LT = 58, + anon_sym_GT = 59, + anon_sym_map = 60, + anon_sym_LBRACK = 61, + anon_sym_RBRACK = 62, + anon_sym_slice = 63, + anon_sym_PLUS_EQ = 64, + anon_sym_DASH_EQ = 65, + anon_sym_STAR_EQ = 66, + anon_sym_SLASH_EQ = 67, + anon_sym_PERCENT_EQ = 68, + anon_sym_DOT = 69, + anon_sym_assume = 70, + anon_sym_havoc = 71, + anon_sym_if = 72, + anon_sym_else = 73, + anon_sym_while = 74, + anon_sym_for = 75, + anon_sym_decreases = 76, + anon_sym_return = 77, + anon_sym_break = 78, + anon_sym_continue = 79, + anon_sym_lock = 80, + anon_sym_unlock = 81, + anon_sym_assert = 82, + anon_sym_try = 83, + anon_sym_catch = 84, + anon_sym_switch = 85, + anon_sym_EQ_GT = 86, + anon_sym_DOT_DOT_DOT = 87, + anon_sym_PIPE_PIPE = 88, + anon_sym_AMP_AMP = 89, + anon_sym_CARET = 90, + anon_sym_AMP = 91, + anon_sym_EQ_EQ = 92, + anon_sym_BANG_EQ = 93, + anon_sym_LT_EQ = 94, + anon_sym_GT_EQ = 95, + anon_sym_LT_LT = 96, + anon_sym_GT_GT = 97, + anon_sym_LT_LT_PERCENT = 98, + anon_sym_GT_GT_PERCENT = 99, + anon_sym_PLUS = 100, + anon_sym_DASH = 101, + anon_sym_PLUS_PERCENT = 102, + anon_sym_DASH_PERCENT = 103, + anon_sym_STAR = 104, + anon_sym_SLASH = 105, + anon_sym_PERCENT = 106, + anon_sym_STAR_PERCENT = 107, + anon_sym_STAR_STAR = 108, + anon_sym_STAR_STAR_PERCENT = 109, + anon_sym_old = 110, + anon_sym_cast = 111, + anon_sym_forall = 112, + anon_sym_exists = 113, + anon_sym_where = 114, + sym_comment = 115, + anon_sym_true = 116, + anon_sym_false = 117, + aux_sym_number_literal_token1 = 118, + aux_sym_number_literal_token2 = 119, + aux_sym_number_literal_token3 = 120, + sym_bytes_literal = 121, + sym_field_index = 122, + sym_string_literal = 123, + sym_source_file = 124, + sym__top_level_declaration = 125, + sym_import_declaration = 126, + sym_contract_declaration = 127, + sym_contract_member = 128, + sym_function_declaration = 129, + sym_parameter_list = 130, + sym_parameter = 131, + sym_parameter_modifier = 132, + sym_return_type = 133, + sym_requires_clause = 134, + sym_ensures_clause = 135, + sym_variable_declaration = 136, + sym_memory_region = 137, + sym_variable_kind = 138, + sym_struct_declaration = 139, + sym_generic_parameter_clause = 140, + sym_struct_field = 141, + sym_bitfield_declaration = 142, + sym_bitfield_field = 143, + sym_bitfield_layout = 144, + sym_enum_declaration = 145, + sym_enum_member_list = 146, + sym_enum_member = 147, + sym_log_declaration = 148, + sym_log_parameter_list = 149, + sym_log_parameter = 150, + sym_error_declaration = 151, + sym_ghost_declaration = 152, + sym_contract_invariant = 153, + sym_type = 154, + sym_error_union_type = 155, + sym_plain_type = 156, + sym_primitive_type = 157, + sym_type_argument = 158, + sym_generic_type = 159, + sym_type_argument_list_angle = 160, + sym_type_argument_list_paren = 161, + sym_map_type = 162, + sym_array_type = 163, + sym_slice_type = 164, + sym_tuple_type = 165, + sym_anonymous_struct_type = 166, + sym_anonymous_struct_field_list = 167, + sym_anonymous_struct_field = 168, + sym__statement = 169, + sym_assignment_statement = 170, + sym_compound_assignment_statement = 171, + sym_compound_operator = 172, + sym_destructuring_assignment = 173, + sym_tuple_variable_declaration = 174, + sym_tuple_pattern = 175, + sym_destructuring_pattern = 176, + sym_destructuring_field_list = 177, + sym_destructuring_field = 178, + sym_expression_statement = 179, + sym_requires_statement = 180, + sym_ensures_statement = 181, + sym_assume_statement = 182, + sym_havoc_statement = 183, + sym_comptime_statement = 184, + sym_if_statement = 185, + sym_while_statement = 186, + sym_for_statement = 187, + sym_for_pattern = 188, + sym_invariant_clause = 189, + sym_decreases_clause = 190, + sym_return_statement = 191, + sym_break_statement = 192, + sym_continue_statement = 193, + sym_log_statement = 194, + sym_lock_statement = 195, + sym_unlock_statement = 196, + sym_assert_statement = 197, + sym_try_statement = 198, + sym_block = 199, + sym_labeled_block = 200, + sym_switch_statement = 201, + sym_switch_expression = 202, + sym_switch_arm = 203, + sym_switch_expression_arm = 204, + sym_switch_pattern = 205, + sym_range_pattern = 206, + sym_switch_body = 207, + sym__expression = 208, + sym_assignment_expression = 209, + sym_assignment_operator = 210, + sym_binary_expression = 211, + sym_unary_expression = 212, + sym_postfix_expression = 213, + sym_postfix_operator = 214, + sym_lvalue = 215, + sym_primary_expression = 216, + sym_literal = 217, + sym_parenthesized_expression = 218, + sym_try_expression = 219, + sym_old_expression = 220, + sym_comptime_expression = 221, + sym_cast_expression = 222, + sym_intrinsic_expression = 223, + sym_error_expression = 224, + sym_error_identifier = 225, + sym_quantified_expression = 226, + sym_struct_literal = 227, + sym_anonymous_struct_literal = 228, + sym_struct_literal_fields = 229, + sym_struct_literal_field_list = 230, + sym_struct_literal_field = 231, + sym_array_literal = 232, + sym_tuple_expression = 233, + sym_expression_list = 234, + sym_bool_literal = 235, + sym_number_literal = 236, + aux_sym_source_file_repeat1 = 237, + aux_sym_contract_declaration_repeat1 = 238, + aux_sym_function_declaration_repeat1 = 239, + aux_sym_function_declaration_repeat2 = 240, + aux_sym_parameter_list_repeat1 = 241, + aux_sym_struct_declaration_repeat1 = 242, + aux_sym_bitfield_declaration_repeat1 = 243, + aux_sym_enum_member_list_repeat1 = 244, + aux_sym_log_parameter_list_repeat1 = 245, + aux_sym_error_union_type_repeat1 = 246, + aux_sym_type_argument_list_angle_repeat1 = 247, + aux_sym_tuple_type_repeat1 = 248, + aux_sym_anonymous_struct_field_list_repeat1 = 249, + aux_sym_tuple_pattern_repeat1 = 250, + aux_sym_destructuring_field_list_repeat1 = 251, + aux_sym_while_statement_repeat1 = 252, + aux_sym_block_repeat1 = 253, + aux_sym_switch_statement_repeat1 = 254, + aux_sym_switch_expression_repeat1 = 255, + aux_sym_postfix_expression_repeat1 = 256, + aux_sym_lvalue_repeat1 = 257, + aux_sym_struct_literal_field_list_repeat1 = 258, + aux_sym_tuple_expression_repeat1 = 259, }; static const char * const ts_symbol_names[] = { @@ -273,12 +299,14 @@ static const char * const ts_symbol_names[] = { [anon_sym_init] = "init", [anon_sym_COMMA] = ",", [anon_sym_COLON] = ":", + [anon_sym_comptime] = "comptime", [anon_sym_DASH_GT] = "->", [anon_sym_requires] = "requires", [anon_sym_ensures] = "ensures", [anon_sym_storage] = "storage", [anon_sym_memory] = "memory", [anon_sym_tstore] = "tstore", + [anon_sym_calldata] = "calldata", [anon_sym_var] = "var", [anon_sym_let] = "let", [anon_sym_immutable] = "immutable", @@ -324,10 +352,13 @@ static const char * const ts_symbol_names[] = { [anon_sym_SLASH_EQ] = "/=", [anon_sym_PERCENT_EQ] = "%=", [anon_sym_DOT] = ".", + [anon_sym_assume] = "assume", + [anon_sym_havoc] = "havoc", [anon_sym_if] = "if", [anon_sym_else] = "else", [anon_sym_while] = "while", [anon_sym_for] = "for", + [anon_sym_decreases] = "decreases", [anon_sym_return] = "return", [anon_sym_break] = "break", [anon_sym_continue] = "continue", @@ -359,8 +390,9 @@ static const char * const ts_symbol_names[] = { [anon_sym_SLASH] = "/", [anon_sym_PERCENT] = "%", [anon_sym_STAR_PERCENT] = "*%", + [anon_sym_STAR_STAR] = "**", + [anon_sym_STAR_STAR_PERCENT] = "**%", [anon_sym_old] = "old", - [anon_sym_comptime] = "comptime", [anon_sym_cast] = "cast", [anon_sym_forall] = "forall", [anon_sym_exists] = "exists", @@ -371,6 +403,8 @@ static const char * const ts_symbol_names[] = { [aux_sym_number_literal_token1] = "number_literal_token1", [aux_sym_number_literal_token2] = "number_literal_token2", [aux_sym_number_literal_token3] = "number_literal_token3", + [sym_bytes_literal] = "bytes_literal", + [sym_field_index] = "field_index", [sym_string_literal] = "string_literal", [sym_source_file] = "source_file", [sym__top_level_declaration] = "_top_level_declaration", @@ -380,6 +414,7 @@ static const char * const ts_symbol_names[] = { [sym_function_declaration] = "function_declaration", [sym_parameter_list] = "parameter_list", [sym_parameter] = "parameter", + [sym_parameter_modifier] = "parameter_modifier", [sym_return_type] = "return_type", [sym_requires_clause] = "requires_clause", [sym_ensures_clause] = "ensures_clause", @@ -387,6 +422,7 @@ static const char * const ts_symbol_names[] = { [sym_memory_region] = "memory_region", [sym_variable_kind] = "variable_kind", [sym_struct_declaration] = "struct_declaration", + [sym_generic_parameter_clause] = "generic_parameter_clause", [sym_struct_field] = "struct_field", [sym_bitfield_declaration] = "bitfield_declaration", [sym_bitfield_field] = "bitfield_field", @@ -406,9 +442,12 @@ static const char * const ts_symbol_names[] = { [sym_primitive_type] = "primitive_type", [sym_type_argument] = "type_argument", [sym_generic_type] = "generic_type", + [sym_type_argument_list_angle] = "type_argument_list_angle", + [sym_type_argument_list_paren] = "type_argument_list_paren", [sym_map_type] = "map_type", [sym_array_type] = "array_type", [sym_slice_type] = "slice_type", + [sym_tuple_type] = "tuple_type", [sym_anonymous_struct_type] = "anonymous_struct_type", [sym_anonymous_struct_field_list] = "anonymous_struct_field_list", [sym_anonymous_struct_field] = "anonymous_struct_field", @@ -417,15 +456,23 @@ static const char * const ts_symbol_names[] = { [sym_compound_assignment_statement] = "compound_assignment_statement", [sym_compound_operator] = "compound_operator", [sym_destructuring_assignment] = "destructuring_assignment", + [sym_tuple_variable_declaration] = "tuple_variable_declaration", + [sym_tuple_pattern] = "tuple_pattern", [sym_destructuring_pattern] = "destructuring_pattern", [sym_destructuring_field_list] = "destructuring_field_list", [sym_destructuring_field] = "destructuring_field", [sym_expression_statement] = "expression_statement", + [sym_requires_statement] = "requires_statement", + [sym_ensures_statement] = "ensures_statement", + [sym_assume_statement] = "assume_statement", + [sym_havoc_statement] = "havoc_statement", + [sym_comptime_statement] = "comptime_statement", [sym_if_statement] = "if_statement", [sym_while_statement] = "while_statement", [sym_for_statement] = "for_statement", [sym_for_pattern] = "for_pattern", [sym_invariant_clause] = "invariant_clause", + [sym_decreases_clause] = "decreases_clause", [sym_return_statement] = "return_statement", [sym_break_statement] = "break_statement", [sym_continue_statement] = "continue_statement", @@ -458,7 +505,9 @@ static const char * const ts_symbol_names[] = { [sym_old_expression] = "old_expression", [sym_comptime_expression] = "comptime_expression", [sym_cast_expression] = "cast_expression", + [sym_intrinsic_expression] = "intrinsic_expression", [sym_error_expression] = "error_expression", + [sym_error_identifier] = "error_identifier", [sym_quantified_expression] = "quantified_expression", [sym_struct_literal] = "struct_literal", [sym_anonymous_struct_literal] = "anonymous_struct_literal", @@ -466,6 +515,7 @@ static const char * const ts_symbol_names[] = { [sym_struct_literal_field_list] = "struct_literal_field_list", [sym_struct_literal_field] = "struct_literal_field", [sym_array_literal] = "array_literal", + [sym_tuple_expression] = "tuple_expression", [sym_expression_list] = "expression_list", [sym_bool_literal] = "bool_literal", [sym_number_literal] = "number_literal", @@ -479,8 +529,10 @@ static const char * const ts_symbol_names[] = { [aux_sym_enum_member_list_repeat1] = "enum_member_list_repeat1", [aux_sym_log_parameter_list_repeat1] = "log_parameter_list_repeat1", [aux_sym_error_union_type_repeat1] = "error_union_type_repeat1", - [aux_sym_generic_type_repeat1] = "generic_type_repeat1", + [aux_sym_type_argument_list_angle_repeat1] = "type_argument_list_angle_repeat1", + [aux_sym_tuple_type_repeat1] = "tuple_type_repeat1", [aux_sym_anonymous_struct_field_list_repeat1] = "anonymous_struct_field_list_repeat1", + [aux_sym_tuple_pattern_repeat1] = "tuple_pattern_repeat1", [aux_sym_destructuring_field_list_repeat1] = "destructuring_field_list_repeat1", [aux_sym_while_statement_repeat1] = "while_statement_repeat1", [aux_sym_block_repeat1] = "block_repeat1", @@ -489,7 +541,7 @@ static const char * const ts_symbol_names[] = { [aux_sym_postfix_expression_repeat1] = "postfix_expression_repeat1", [aux_sym_lvalue_repeat1] = "lvalue_repeat1", [aux_sym_struct_literal_field_list_repeat1] = "struct_literal_field_list_repeat1", - [aux_sym_expression_list_repeat1] = "expression_list_repeat1", + [aux_sym_tuple_expression_repeat1] = "tuple_expression_repeat1", }; static const TSSymbol ts_symbol_map[] = { @@ -510,12 +562,14 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_init] = anon_sym_init, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_COLON] = anon_sym_COLON, + [anon_sym_comptime] = anon_sym_comptime, [anon_sym_DASH_GT] = anon_sym_DASH_GT, [anon_sym_requires] = anon_sym_requires, [anon_sym_ensures] = anon_sym_ensures, [anon_sym_storage] = anon_sym_storage, [anon_sym_memory] = anon_sym_memory, [anon_sym_tstore] = anon_sym_tstore, + [anon_sym_calldata] = anon_sym_calldata, [anon_sym_var] = anon_sym_var, [anon_sym_let] = anon_sym_let, [anon_sym_immutable] = anon_sym_immutable, @@ -561,10 +615,13 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_SLASH_EQ] = anon_sym_SLASH_EQ, [anon_sym_PERCENT_EQ] = anon_sym_PERCENT_EQ, [anon_sym_DOT] = anon_sym_DOT, + [anon_sym_assume] = anon_sym_assume, + [anon_sym_havoc] = anon_sym_havoc, [anon_sym_if] = anon_sym_if, [anon_sym_else] = anon_sym_else, [anon_sym_while] = anon_sym_while, [anon_sym_for] = anon_sym_for, + [anon_sym_decreases] = anon_sym_decreases, [anon_sym_return] = anon_sym_return, [anon_sym_break] = anon_sym_break, [anon_sym_continue] = anon_sym_continue, @@ -596,8 +653,9 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_SLASH] = anon_sym_SLASH, [anon_sym_PERCENT] = anon_sym_PERCENT, [anon_sym_STAR_PERCENT] = anon_sym_STAR_PERCENT, + [anon_sym_STAR_STAR] = anon_sym_STAR_STAR, + [anon_sym_STAR_STAR_PERCENT] = anon_sym_STAR_STAR_PERCENT, [anon_sym_old] = anon_sym_old, - [anon_sym_comptime] = anon_sym_comptime, [anon_sym_cast] = anon_sym_cast, [anon_sym_forall] = anon_sym_forall, [anon_sym_exists] = anon_sym_exists, @@ -608,6 +666,8 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_number_literal_token1] = aux_sym_number_literal_token1, [aux_sym_number_literal_token2] = aux_sym_number_literal_token2, [aux_sym_number_literal_token3] = aux_sym_number_literal_token3, + [sym_bytes_literal] = sym_bytes_literal, + [sym_field_index] = sym_field_index, [sym_string_literal] = sym_string_literal, [sym_source_file] = sym_source_file, [sym__top_level_declaration] = sym__top_level_declaration, @@ -617,6 +677,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_function_declaration] = sym_function_declaration, [sym_parameter_list] = sym_parameter_list, [sym_parameter] = sym_parameter, + [sym_parameter_modifier] = sym_parameter_modifier, [sym_return_type] = sym_return_type, [sym_requires_clause] = sym_requires_clause, [sym_ensures_clause] = sym_ensures_clause, @@ -624,6 +685,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_memory_region] = sym_memory_region, [sym_variable_kind] = sym_variable_kind, [sym_struct_declaration] = sym_struct_declaration, + [sym_generic_parameter_clause] = sym_generic_parameter_clause, [sym_struct_field] = sym_struct_field, [sym_bitfield_declaration] = sym_bitfield_declaration, [sym_bitfield_field] = sym_bitfield_field, @@ -643,9 +705,12 @@ static const TSSymbol ts_symbol_map[] = { [sym_primitive_type] = sym_primitive_type, [sym_type_argument] = sym_type_argument, [sym_generic_type] = sym_generic_type, + [sym_type_argument_list_angle] = sym_type_argument_list_angle, + [sym_type_argument_list_paren] = sym_type_argument_list_paren, [sym_map_type] = sym_map_type, [sym_array_type] = sym_array_type, [sym_slice_type] = sym_slice_type, + [sym_tuple_type] = sym_tuple_type, [sym_anonymous_struct_type] = sym_anonymous_struct_type, [sym_anonymous_struct_field_list] = sym_anonymous_struct_field_list, [sym_anonymous_struct_field] = sym_anonymous_struct_field, @@ -654,15 +719,23 @@ static const TSSymbol ts_symbol_map[] = { [sym_compound_assignment_statement] = sym_compound_assignment_statement, [sym_compound_operator] = sym_compound_operator, [sym_destructuring_assignment] = sym_destructuring_assignment, + [sym_tuple_variable_declaration] = sym_tuple_variable_declaration, + [sym_tuple_pattern] = sym_tuple_pattern, [sym_destructuring_pattern] = sym_destructuring_pattern, [sym_destructuring_field_list] = sym_destructuring_field_list, [sym_destructuring_field] = sym_destructuring_field, [sym_expression_statement] = sym_expression_statement, + [sym_requires_statement] = sym_requires_statement, + [sym_ensures_statement] = sym_ensures_statement, + [sym_assume_statement] = sym_assume_statement, + [sym_havoc_statement] = sym_havoc_statement, + [sym_comptime_statement] = sym_comptime_statement, [sym_if_statement] = sym_if_statement, [sym_while_statement] = sym_while_statement, [sym_for_statement] = sym_for_statement, [sym_for_pattern] = sym_for_pattern, [sym_invariant_clause] = sym_invariant_clause, + [sym_decreases_clause] = sym_decreases_clause, [sym_return_statement] = sym_return_statement, [sym_break_statement] = sym_break_statement, [sym_continue_statement] = sym_continue_statement, @@ -695,7 +768,9 @@ static const TSSymbol ts_symbol_map[] = { [sym_old_expression] = sym_old_expression, [sym_comptime_expression] = sym_comptime_expression, [sym_cast_expression] = sym_cast_expression, + [sym_intrinsic_expression] = sym_intrinsic_expression, [sym_error_expression] = sym_error_expression, + [sym_error_identifier] = sym_error_identifier, [sym_quantified_expression] = sym_quantified_expression, [sym_struct_literal] = sym_struct_literal, [sym_anonymous_struct_literal] = sym_anonymous_struct_literal, @@ -703,6 +778,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_struct_literal_field_list] = sym_struct_literal_field_list, [sym_struct_literal_field] = sym_struct_literal_field, [sym_array_literal] = sym_array_literal, + [sym_tuple_expression] = sym_tuple_expression, [sym_expression_list] = sym_expression_list, [sym_bool_literal] = sym_bool_literal, [sym_number_literal] = sym_number_literal, @@ -716,8 +792,10 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_enum_member_list_repeat1] = aux_sym_enum_member_list_repeat1, [aux_sym_log_parameter_list_repeat1] = aux_sym_log_parameter_list_repeat1, [aux_sym_error_union_type_repeat1] = aux_sym_error_union_type_repeat1, - [aux_sym_generic_type_repeat1] = aux_sym_generic_type_repeat1, + [aux_sym_type_argument_list_angle_repeat1] = aux_sym_type_argument_list_angle_repeat1, + [aux_sym_tuple_type_repeat1] = aux_sym_tuple_type_repeat1, [aux_sym_anonymous_struct_field_list_repeat1] = aux_sym_anonymous_struct_field_list_repeat1, + [aux_sym_tuple_pattern_repeat1] = aux_sym_tuple_pattern_repeat1, [aux_sym_destructuring_field_list_repeat1] = aux_sym_destructuring_field_list_repeat1, [aux_sym_while_statement_repeat1] = aux_sym_while_statement_repeat1, [aux_sym_block_repeat1] = aux_sym_block_repeat1, @@ -726,7 +804,7 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_postfix_expression_repeat1] = aux_sym_postfix_expression_repeat1, [aux_sym_lvalue_repeat1] = aux_sym_lvalue_repeat1, [aux_sym_struct_literal_field_list_repeat1] = aux_sym_struct_literal_field_list_repeat1, - [aux_sym_expression_list_repeat1] = aux_sym_expression_list_repeat1, + [aux_sym_tuple_expression_repeat1] = aux_sym_tuple_expression_repeat1, }; static const TSSymbolMetadata ts_symbol_metadata[] = { @@ -798,6 +876,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_comptime] = { + .visible = true, + .named = false, + }, [anon_sym_DASH_GT] = { .visible = true, .named = false, @@ -822,6 +904,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_calldata] = { + .visible = true, + .named = false, + }, [anon_sym_var] = { .visible = true, .named = false, @@ -1002,6 +1088,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_assume] = { + .visible = true, + .named = false, + }, + [anon_sym_havoc] = { + .visible = true, + .named = false, + }, [anon_sym_if] = { .visible = true, .named = false, @@ -1018,6 +1112,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_decreases] = { + .visible = true, + .named = false, + }, [anon_sym_return] = { .visible = true, .named = false, @@ -1142,11 +1240,15 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_old] = { + [anon_sym_STAR_STAR] = { .visible = true, .named = false, }, - [anon_sym_comptime] = { + [anon_sym_STAR_STAR_PERCENT] = { + .visible = true, + .named = false, + }, + [anon_sym_old] = { .visible = true, .named = false, }, @@ -1190,6 +1292,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [sym_bytes_literal] = { + .visible = true, + .named = true, + }, + [sym_field_index] = { + .visible = true, + .named = true, + }, [sym_string_literal] = { .visible = true, .named = true, @@ -1226,6 +1336,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_parameter_modifier] = { + .visible = true, + .named = true, + }, [sym_return_type] = { .visible = true, .named = true, @@ -1254,6 +1368,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_generic_parameter_clause] = { + .visible = true, + .named = true, + }, [sym_struct_field] = { .visible = true, .named = true, @@ -1330,6 +1448,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_type_argument_list_angle] = { + .visible = true, + .named = true, + }, + [sym_type_argument_list_paren] = { + .visible = true, + .named = true, + }, [sym_map_type] = { .visible = true, .named = true, @@ -1342,6 +1468,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_tuple_type] = { + .visible = true, + .named = true, + }, [sym_anonymous_struct_type] = { .visible = true, .named = true, @@ -1374,6 +1504,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_tuple_variable_declaration] = { + .visible = true, + .named = true, + }, + [sym_tuple_pattern] = { + .visible = true, + .named = true, + }, [sym_destructuring_pattern] = { .visible = true, .named = true, @@ -1390,6 +1528,26 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_requires_statement] = { + .visible = true, + .named = true, + }, + [sym_ensures_statement] = { + .visible = true, + .named = true, + }, + [sym_assume_statement] = { + .visible = true, + .named = true, + }, + [sym_havoc_statement] = { + .visible = true, + .named = true, + }, + [sym_comptime_statement] = { + .visible = true, + .named = true, + }, [sym_if_statement] = { .visible = true, .named = true, @@ -1410,6 +1568,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_decreases_clause] = { + .visible = true, + .named = true, + }, [sym_return_statement] = { .visible = true, .named = true, @@ -1538,10 +1700,18 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_intrinsic_expression] = { + .visible = true, + .named = true, + }, [sym_error_expression] = { .visible = true, .named = true, }, + [sym_error_identifier] = { + .visible = true, + .named = true, + }, [sym_quantified_expression] = { .visible = true, .named = true, @@ -1570,6 +1740,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_tuple_expression] = { + .visible = true, + .named = true, + }, [sym_expression_list] = { .visible = true, .named = true, @@ -1622,7 +1796,11 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [aux_sym_generic_type_repeat1] = { + [aux_sym_type_argument_list_angle_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_tuple_type_repeat1] = { .visible = false, .named = false, }, @@ -1630,6 +1808,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_tuple_pattern_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_destructuring_field_list_repeat1] = { .visible = false, .named = false, @@ -1662,7 +1844,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [aux_sym_expression_list_repeat1] = { + [aux_sym_tuple_expression_repeat1] = { .visible = false, .named = false, }, @@ -1670,40 +1852,46 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { enum ts_field_identifiers { field_alternative = 1, - field_base_type = 2, - field_body = 3, - field_catch_body = 4, - field_condition = 5, - field_consequence = 6, - field_element = 7, - field_end = 8, - field_error = 9, - field_fields = 10, - field_from = 11, - field_guard = 12, - field_iterable = 13, - field_key = 14, - field_kind = 15, - field_label = 16, - field_left = 17, - field_member = 18, - field_message = 19, - field_name = 20, - field_operator = 21, - field_path = 22, - field_pattern = 23, - field_right = 24, - field_size = 25, - field_start = 26, - field_target = 27, - field_to = 28, - field_type = 29, - field_value = 30, + field_arguments = 2, + field_base_type = 3, + field_body = 4, + field_catch_body = 5, + field_condition = 6, + field_consequence = 7, + field_element = 8, + field_end = 9, + field_error = 10, + field_fields = 11, + field_from = 12, + field_guard = 13, + field_iterable = 14, + field_key = 15, + field_kind = 16, + field_label = 17, + field_left = 18, + field_measure = 19, + field_member = 20, + field_message = 21, + field_modifier = 22, + field_name = 23, + field_operator = 24, + field_path = 25, + field_pattern = 26, + field_region = 27, + field_right = 28, + field_size = 29, + field_start = 30, + field_target = 31, + field_to = 32, + field_type = 33, + field_type_parameters = 34, + field_value = 35, }; static const char * const ts_field_names[] = { [0] = NULL, [field_alternative] = "alternative", + [field_arguments] = "arguments", [field_base_type] = "base_type", [field_body] = "body", [field_catch_body] = "catch_body", @@ -1720,18 +1908,22 @@ static const char * const ts_field_names[] = { [field_kind] = "kind", [field_label] = "label", [field_left] = "left", + [field_measure] = "measure", [field_member] = "member", [field_message] = "message", + [field_modifier] = "modifier", [field_name] = "name", [field_operator] = "operator", [field_path] = "path", [field_pattern] = "pattern", + [field_region] = "region", [field_right] = "right", [field_size] = "size", [field_start] = "start", [field_target] = "target", [field_to] = "to", [field_type] = "type", + [field_type_parameters] = "type_parameters", [field_value] = "value", }; @@ -1743,57 +1935,70 @@ static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [5] = {.index = 5, .length = 1}, [6] = {.index = 6, .length = 2}, [7] = {.index = 8, .length = 2}, - [8] = {.index = 10, .length = 2}, - [9] = {.index = 12, .length = 1}, - [10] = {.index = 13, .length = 1}, - [11] = {.index = 14, .length = 2}, - [12] = {.index = 16, .length = 3}, - [13] = {.index = 19, .length = 3}, - [14] = {.index = 22, .length = 3}, - [15] = {.index = 25, .length = 1}, - [16] = {.index = 26, .length = 2}, - [17] = {.index = 28, .length = 1}, - [18] = {.index = 29, .length = 2}, - [19] = {.index = 31, .length = 2}, - [20] = {.index = 33, .length = 2}, - [21] = {.index = 35, .length = 2}, - [22] = {.index = 37, .length = 2}, - [23] = {.index = 39, .length = 2}, - [24] = {.index = 41, .length = 2}, + [8] = {.index = 10, .length = 1}, + [9] = {.index = 11, .length = 2}, + [10] = {.index = 13, .length = 2}, + [11] = {.index = 15, .length = 2}, + [12] = {.index = 17, .length = 2}, + [13] = {.index = 19, .length = 1}, + [14] = {.index = 20, .length = 1}, + [15] = {.index = 21, .length = 2}, + [16] = {.index = 23, .length = 2}, + [17] = {.index = 25, .length = 3}, + [18] = {.index = 28, .length = 2}, + [19] = {.index = 30, .length = 3}, + [20] = {.index = 33, .length = 3}, + [21] = {.index = 36, .length = 3}, + [22] = {.index = 39, .length = 1}, + [23] = {.index = 40, .length = 2}, + [24] = {.index = 42, .length = 1}, [25] = {.index = 43, .length = 2}, [26] = {.index = 45, .length = 2}, - [27] = {.index = 47, .length = 3}, - [28] = {.index = 50, .length = 3}, - [29] = {.index = 53, .length = 2}, - [30] = {.index = 55, .length = 2}, - [31] = {.index = 57, .length = 2}, - [32] = {.index = 59, .length = 1}, - [33] = {.index = 60, .length = 1}, - [34] = {.index = 61, .length = 2}, - [35] = {.index = 63, .length = 2}, - [36] = {.index = 65, .length = 1}, - [37] = {.index = 66, .length = 4}, - [38] = {.index = 70, .length = 2}, - [39] = {.index = 72, .length = 2}, - [40] = {.index = 74, .length = 2}, - [41] = {.index = 76, .length = 1}, - [42] = {.index = 77, .length = 2}, - [43] = {.index = 79, .length = 2}, - [44] = {.index = 81, .length = 1}, - [45] = {.index = 82, .length = 3}, - [46] = {.index = 85, .length = 4}, - [47] = {.index = 89, .length = 2}, - [48] = {.index = 91, .length = 2}, - [49] = {.index = 93, .length = 2}, - [50] = {.index = 95, .length = 2}, - [51] = {.index = 97, .length = 3}, - [52] = {.index = 100, .length = 2}, - [53] = {.index = 102, .length = 3}, - [54] = {.index = 105, .length = 2}, - [55] = {.index = 107, .length = 3}, - [56] = {.index = 110, .length = 2}, - [57] = {.index = 112, .length = 4}, - [58] = {.index = 116, .length = 3}, + [27] = {.index = 47, .length = 2}, + [28] = {.index = 49, .length = 2}, + [29] = {.index = 51, .length = 1}, + [30] = {.index = 52, .length = 2}, + [31] = {.index = 54, .length = 2}, + [32] = {.index = 56, .length = 2}, + [33] = {.index = 58, .length = 2}, + [34] = {.index = 60, .length = 1}, + [35] = {.index = 61, .length = 3}, + [36] = {.index = 64, .length = 3}, + [37] = {.index = 67, .length = 3}, + [38] = {.index = 70, .length = 3}, + [39] = {.index = 73, .length = 2}, + [40] = {.index = 75, .length = 2}, + [41] = {.index = 77, .length = 1}, + [42] = {.index = 78, .length = 2}, + [43] = {.index = 80, .length = 2}, + [44] = {.index = 82, .length = 3}, + [45] = {.index = 85, .length = 3}, + [46] = {.index = 88, .length = 2}, + [47] = {.index = 90, .length = 4}, + [48] = {.index = 94, .length = 4}, + [49] = {.index = 98, .length = 2}, + [50] = {.index = 100, .length = 2}, + [51] = {.index = 102, .length = 1}, + [52] = {.index = 103, .length = 2}, + [53] = {.index = 105, .length = 2}, + [54] = {.index = 107, .length = 2}, + [55] = {.index = 109, .length = 1}, + [56] = {.index = 110, .length = 3}, + [57] = {.index = 113, .length = 2}, + [58] = {.index = 115, .length = 4}, + [59] = {.index = 119, .length = 2}, + [60] = {.index = 121, .length = 2}, + [61] = {.index = 123, .length = 2}, + [62] = {.index = 125, .length = 3}, + [63] = {.index = 128, .length = 2}, + [64] = {.index = 130, .length = 3}, + [65] = {.index = 133, .length = 4}, + [66] = {.index = 137, .length = 2}, + [67] = {.index = 139, .length = 1}, + [68] = {.index = 140, .length = 3}, + [69] = {.index = 143, .length = 2}, + [70] = {.index = 145, .length = 4}, + [71] = {.index = 149, .length = 3}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -1809,168 +2014,214 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [5] = {field_body, 1}, [6] = - {field_fields, 1}, + {field_arguments, 1}, {field_name, 0}, [8] = + {field_fields, 1}, + {field_name, 0}, + [10] = + {field_member, 1}, + [11] = + {field_name, 0}, + {field_type, 2}, + [13] = {field_kind, 1}, {field_name, 2}, - [10] = + [15] = + {field_name, 1}, + {field_type_parameters, 2}, + [17] = {field_body, 4}, {field_name, 1}, - [12] = - {field_member, 1}, - [13] = + [19] = {field_name, 2}, - [14] = + [20] = + {field_target, 1}, + [21] = {field_body, 2}, {field_label, 0}, - [16] = + [23] = + {field_kind, 0}, + {field_pattern, 1}, + [25] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, - [19] = + [28] = + {field_member, 1}, + {field_member, 2, .inherited = true}, + [30] = + {field_name, 1}, + {field_region, 0}, + {field_type, 3}, + [33] = {field_kind, 0}, {field_name, 1}, {field_value, 3}, - [22] = + [36] = {field_kind, 0}, {field_name, 1}, {field_type, 3}, - [25] = + [39] = {field_path, 3}, - [26] = + [40] = {field_body, 5}, {field_name, 2}, - [28] = + [42] = {field_type, 1}, - [29] = + [43] = {field_body, 5}, {field_name, 1}, - [31] = - {field_name, 0}, - {field_type, 2}, - [33] = - {field_member, 1}, - {field_member, 2, .inherited = true}, - [35] = + [45] = {field_name, 1}, {field_type, 3}, - [37] = + [47] = {field_name, 0}, {field_value, 2}, - [39] = + [49] = {field_base_type, 3}, {field_name, 1}, - [41] = + [51] = + {field_condition, 2}, + [52] = {field_body, 1}, {field_catch_body, 3}, - [43] = + [54] = {field_left, 0}, {field_right, 2}, - [45] = + [56] = {field_condition, 3}, {field_name, 1}, - [47] = + [58] = + {field_member, 0, .inherited = true}, + {field_member, 1, .inherited = true}, + [60] = + {field_element, 2}, + [61] = + {field_name, 0}, + {field_type, 2}, + {field_value, 4}, + [64] = {field_kind, 1}, {field_name, 2}, {field_value, 4}, - [50] = + [67] = {field_kind, 1}, {field_name, 2}, {field_type, 4}, - [53] = + [70] = + {field_modifier, 0}, + {field_name, 1}, + {field_type, 3}, + [73] = {field_body, 6}, {field_name, 2}, - [55] = + [75] = {field_body, 6}, {field_name, 1}, - [57] = - {field_member, 0, .inherited = true}, - {field_member, 1, .inherited = true}, - [59] = - {field_element, 2}, - [60] = + [77] = {field_value, 3}, - [61] = + [78] = {field_condition, 2}, {field_consequence, 4}, - [63] = + [80] = {field_body, 4}, {field_condition, 2}, - [65] = - {field_condition, 2}, - [66] = + [82] = + {field_kind, 0}, + {field_pattern, 1}, + {field_value, 3}, + [85] = {field_kind, 0}, + {field_pattern, 1}, + {field_type, 3}, + [88] = + {field_element, 1}, + {field_size, 3}, + [90] = {field_name, 1}, + {field_region, 0}, {field_type, 3}, {field_value, 5}, - [70] = + [94] = + {field_kind, 0}, + {field_name, 1}, + {field_type, 3}, + {field_value, 5}, + [98] = {field_body, 7}, {field_name, 2}, - [72] = + [100] = {field_body, 7}, {field_name, 1}, - [74] = - {field_element, 1}, - {field_size, 3}, - [76] = + [102] = {field_target, 3}, - [77] = + [103] = {field_from, 0}, {field_to, 2}, - [79] = + [105] = + {field_name, 1}, + {field_value, 3}, + [107] = {field_body, 5}, {field_condition, 2}, - [81] = + [109] = {field_value, 2}, - [82] = + [110] = {field_body, 5}, {field_name, 1}, {field_type, 3}, - [85] = + [113] = + {field_key, 2}, + {field_value, 4}, + [115] = {field_kind, 1}, {field_name, 2}, {field_type, 4}, {field_value, 6}, - [89] = + [119] = {field_name, 1}, {field_path, 6}, - [91] = + [121] = {field_body, 8}, {field_name, 2}, - [93] = + [123] = {field_body, 8}, {field_name, 1}, - [95] = - {field_key, 2}, - {field_value, 4}, - [97] = + [125] = {field_alternative, 6}, {field_condition, 2}, {field_consequence, 4}, - [100] = + [128] = {field_condition, 2}, {field_message, 4}, - [102] = + [130] = {field_body, 1}, {field_catch_body, 6}, {field_error, 4}, - [105] = + [133] = + {field_kind, 0}, + {field_pattern, 1}, + {field_type, 3}, + {field_value, 5}, + [137] = {field_body, 9}, {field_name, 2}, - [107] = + [139] = + {field_measure, 2}, + [140] = {field_body, 7}, {field_iterable, 2}, {field_pattern, 5}, - [110] = + [143] = {field_end, 2}, {field_start, 0}, - [112] = + [145] = {field_body, 7}, {field_guard, 5}, {field_name, 1}, {field_type, 3}, - [116] = + [149] = {field_body, 8}, {field_iterable, 2}, {field_pattern, 5}, @@ -1994,10 +2245,10 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [6] = 6, [7] = 7, [8] = 8, - [9] = 9, - [10] = 10, - [11] = 11, - [12] = 12, + [9] = 6, + [10] = 6, + [11] = 7, + [12] = 7, [13] = 13, [14] = 14, [15] = 15, @@ -2005,8 +2256,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [17] = 17, [18] = 18, [19] = 19, - [20] = 20, - [21] = 21, + [20] = 16, + [21] = 15, [22] = 22, [23] = 23, [24] = 24, @@ -2040,8 +2291,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [52] = 52, [53] = 53, [54] = 54, - [55] = 55, - [56] = 56, + [55] = 33, + [56] = 38, [57] = 57, [58] = 58, [59] = 59, @@ -2062,30 +2313,30 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [74] = 74, [75] = 75, [76] = 76, - [77] = 74, - [78] = 76, + [77] = 77, + [78] = 78, [79] = 79, [80] = 80, [81] = 81, [82] = 82, - [83] = 83, + [83] = 79, [84] = 84, - [85] = 85, - [86] = 86, + [85] = 81, + [86] = 82, [87] = 87, [88] = 88, [89] = 89, - [90] = 90, + [90] = 89, [91] = 91, [92] = 92, [93] = 93, - [94] = 94, + [94] = 88, [95] = 95, - [96] = 96, - [97] = 97, + [96] = 92, + [97] = 95, [98] = 98, [99] = 99, - [100] = 100, + [100] = 98, [101] = 101, [102] = 102, [103] = 103, @@ -2093,13 +2344,13 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [105] = 105, [106] = 106, [107] = 107, - [108] = 108, - [109] = 80, + [108] = 102, + [109] = 109, [110] = 110, [111] = 111, [112] = 112, [113] = 113, - [114] = 101, + [114] = 114, [115] = 115, [116] = 116, [117] = 117, @@ -2107,156 +2358,156 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [119] = 119, [120] = 120, [121] = 121, - [122] = 102, - [123] = 103, - [124] = 105, - [125] = 106, - [126] = 107, - [127] = 108, - [128] = 80, - [129] = 110, - [130] = 111, - [131] = 112, - [132] = 116, + [122] = 122, + [123] = 123, + [124] = 124, + [125] = 125, + [126] = 126, + [127] = 127, + [128] = 128, + [129] = 129, + [130] = 130, + [131] = 131, + [132] = 132, [133] = 133, - [134] = 98, - [135] = 100, - [136] = 118, - [137] = 84, - [138] = 82, - [139] = 102, - [140] = 103, - [141] = 105, - [142] = 106, - [143] = 107, - [144] = 108, - [145] = 110, - [146] = 111, - [147] = 112, - [148] = 116, + [134] = 134, + [135] = 135, + [136] = 136, + [137] = 137, + [138] = 138, + [139] = 139, + [140] = 140, + [141] = 141, + [142] = 142, + [143] = 143, + [144] = 132, + [145] = 145, + [146] = 146, + [147] = 147, + [148] = 148, [149] = 149, [150] = 150, [151] = 151, [152] = 152, - [153] = 102, - [154] = 103, - [155] = 105, - [156] = 106, - [157] = 107, - [158] = 108, - [159] = 80, - [160] = 110, - [161] = 111, - [162] = 112, - [163] = 116, - [164] = 84, - [165] = 84, - [166] = 166, - [167] = 167, - [168] = 168, - [169] = 169, - [170] = 170, - [171] = 171, - [172] = 172, - [173] = 173, - [174] = 174, - [175] = 175, - [176] = 176, - [177] = 177, + [153] = 153, + [154] = 154, + [155] = 155, + [156] = 156, + [157] = 157, + [158] = 158, + [159] = 125, + [160] = 127, + [161] = 137, + [162] = 145, + [163] = 146, + [164] = 147, + [165] = 165, + [166] = 149, + [167] = 150, + [168] = 151, + [169] = 152, + [170] = 153, + [171] = 154, + [172] = 155, + [173] = 156, + [174] = 157, + [175] = 127, + [176] = 137, + [177] = 143, [178] = 178, [179] = 179, - [180] = 180, - [181] = 181, - [182] = 182, - [183] = 183, - [184] = 184, - [185] = 185, - [186] = 186, - [187] = 187, - [188] = 188, - [189] = 189, - [190] = 190, - [191] = 191, - [192] = 192, - [193] = 193, + [180] = 132, + [181] = 145, + [182] = 146, + [183] = 147, + [184] = 148, + [185] = 149, + [186] = 150, + [187] = 151, + [188] = 152, + [189] = 153, + [190] = 154, + [191] = 155, + [192] = 156, + [193] = 157, [194] = 194, - [195] = 195, - [196] = 196, - [197] = 197, - [198] = 198, - [199] = 199, - [200] = 14, - [201] = 201, - [202] = 202, - [203] = 17, - [204] = 16, - [205] = 205, - [206] = 206, - [207] = 207, - [208] = 208, - [209] = 208, - [210] = 210, - [211] = 211, - [212] = 212, - [213] = 213, - [214] = 214, - [215] = 215, - [216] = 216, - [217] = 217, - [218] = 218, - [219] = 219, - [220] = 220, - [221] = 221, - [222] = 222, - [223] = 223, - [224] = 224, - [225] = 225, - [226] = 226, - [227] = 227, - [228] = 43, - [229] = 229, - [230] = 49, - [231] = 44, - [232] = 47, - [233] = 40, - [234] = 51, - [235] = 48, - [236] = 52, - [237] = 50, - [238] = 238, - [239] = 45, - [240] = 42, - [241] = 46, - [242] = 41, - [243] = 48, - [244] = 45, - [245] = 49, - [246] = 44, - [247] = 43, - [248] = 47, - [249] = 40, - [250] = 51, - [251] = 52, - [252] = 50, - [253] = 253, - [254] = 253, - [255] = 52, - [256] = 256, - [257] = 47, - [258] = 40, - [259] = 43, - [260] = 260, - [261] = 50, - [262] = 256, - [263] = 48, - [264] = 51, - [265] = 45, - [266] = 49, - [267] = 44, - [268] = 268, - [269] = 269, - [270] = 270, - [271] = 271, + [195] = 127, + [196] = 143, + [197] = 137, + [198] = 145, + [199] = 146, + [200] = 147, + [201] = 148, + [202] = 149, + [203] = 150, + [204] = 151, + [205] = 152, + [206] = 153, + [207] = 154, + [208] = 155, + [209] = 156, + [210] = 157, + [211] = 145, + [212] = 146, + [213] = 147, + [214] = 148, + [215] = 149, + [216] = 150, + [217] = 151, + [218] = 152, + [219] = 153, + [220] = 154, + [221] = 155, + [222] = 156, + [223] = 157, + [224] = 143, + [225] = 145, + [226] = 132, + [227] = 145, + [228] = 146, + [229] = 147, + [230] = 148, + [231] = 149, + [232] = 150, + [233] = 151, + [234] = 152, + [235] = 153, + [236] = 154, + [237] = 155, + [238] = 156, + [239] = 157, + [240] = 146, + [241] = 147, + [242] = 148, + [243] = 149, + [244] = 150, + [245] = 151, + [246] = 152, + [247] = 153, + [248] = 154, + [249] = 155, + [250] = 156, + [251] = 251, + [252] = 136, + [253] = 143, + [254] = 124, + [255] = 255, + [256] = 179, + [257] = 165, + [258] = 103, + [259] = 104, + [260] = 109, + [261] = 114, + [262] = 115, + [263] = 122, + [264] = 123, + [265] = 128, + [266] = 157, + [267] = 143, + [268] = 143, + [269] = 128, + [270] = 128, + [271] = 148, [272] = 272, [273] = 273, [274] = 274, @@ -2284,7 +2535,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [296] = 296, [297] = 297, [298] = 298, - [299] = 283, + [299] = 299, [300] = 300, [301] = 301, [302] = 302, @@ -2310,8 +2561,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [322] = 322, [323] = 323, [324] = 324, - [325] = 325, - [326] = 326, + [325] = 18, + [326] = 18, [327] = 327, [328] = 328, [329] = 329, @@ -2319,188 +2570,188 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [331] = 331, [332] = 332, [333] = 333, - [334] = 334, + [334] = 333, [335] = 335, - [336] = 336, - [337] = 337, + [336] = 24, + [337] = 25, [338] = 338, [339] = 339, [340] = 340, [341] = 341, - [342] = 342, - [343] = 343, - [344] = 344, + [342] = 76, + [343] = 66, + [344] = 67, [345] = 345, - [346] = 346, + [346] = 68, [347] = 347, - [348] = 348, + [348] = 69, [349] = 349, [350] = 350, [351] = 351, [352] = 352, [353] = 353, - [354] = 354, - [355] = 355, - [356] = 356, + [354] = 62, + [355] = 71, + [356] = 72, [357] = 357, [358] = 358, [359] = 359, - [360] = 360, - [361] = 361, - [362] = 362, + [360] = 73, + [361] = 74, + [362] = 75, [363] = 363, - [364] = 364, - [365] = 365, + [364] = 77, + [365] = 63, [366] = 366, [367] = 367, [368] = 368, - [369] = 369, + [369] = 367, [370] = 370, [371] = 371, [372] = 372, [373] = 373, - [374] = 374, + [374] = 70, [375] = 375, [376] = 376, [377] = 377, - [378] = 378, - [379] = 378, - [380] = 378, - [381] = 378, - [382] = 382, - [383] = 383, + [378] = 359, + [379] = 78, + [380] = 380, + [381] = 381, + [382] = 376, + [383] = 371, [384] = 384, [385] = 385, - [386] = 386, - [387] = 387, - [388] = 388, - [389] = 389, + [386] = 359, + [387] = 359, + [388] = 352, + [389] = 65, [390] = 390, - [391] = 391, - [392] = 392, - [393] = 393, - [394] = 394, - [395] = 395, + [391] = 25, + [392] = 24, + [393] = 22, + [394] = 25, + [395] = 24, [396] = 396, [397] = 397, [398] = 398, [399] = 399, [400] = 400, - [401] = 401, + [401] = 62, [402] = 402, - [403] = 403, - [404] = 404, - [405] = 405, - [406] = 406, - [407] = 407, - [408] = 408, - [409] = 409, - [410] = 410, - [411] = 411, - [412] = 412, - [413] = 413, - [414] = 414, + [403] = 51, + [404] = 32, + [405] = 35, + [406] = 36, + [407] = 78, + [408] = 48, + [409] = 59, + [410] = 52, + [411] = 54, + [412] = 57, + [413] = 58, + [414] = 40, [415] = 415, - [416] = 416, - [417] = 417, - [418] = 418, - [419] = 419, - [420] = 420, - [421] = 421, - [422] = 422, - [423] = 423, - [424] = 424, - [425] = 425, - [426] = 426, - [427] = 427, - [428] = 428, - [429] = 429, - [430] = 430, - [431] = 431, - [432] = 432, - [433] = 433, - [434] = 434, - [435] = 435, - [436] = 436, - [437] = 437, - [438] = 438, - [439] = 439, - [440] = 440, - [441] = 441, - [442] = 442, - [443] = 443, - [444] = 444, - [445] = 445, - [446] = 446, - [447] = 419, - [448] = 448, - [449] = 449, - [450] = 444, - [451] = 451, - [452] = 452, - [453] = 453, - [454] = 454, - [455] = 455, - [456] = 456, - [457] = 457, - [458] = 458, - [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, + [416] = 31, + [417] = 49, + [418] = 42, + [419] = 27, + [420] = 28, + [421] = 29, + [422] = 34, + [423] = 63, + [424] = 39, + [425] = 26, + [426] = 41, + [427] = 44, + [428] = 70, + [429] = 16, + [430] = 30, + [431] = 15, + [432] = 63, + [433] = 70, + [434] = 402, + [435] = 78, + [436] = 65, + [437] = 66, + [438] = 67, + [439] = 68, + [440] = 69, + [441] = 62, + [442] = 71, + [443] = 72, + [444] = 73, + [445] = 74, + [446] = 75, + [447] = 76, + [448] = 77, + [449] = 65, + [450] = 66, + [451] = 67, + [452] = 68, + [453] = 69, + [454] = 62, + [455] = 71, + [456] = 72, + [457] = 73, + [458] = 74, + [459] = 75, + [460] = 76, + [461] = 77, + [462] = 415, + [463] = 65, + [464] = 66, + [465] = 67, + [466] = 68, + [467] = 69, + [468] = 71, + [469] = 72, + [470] = 73, + [471] = 74, + [472] = 75, + [473] = 76, + [474] = 77, + [475] = 47, + [476] = 53, + [477] = 50, [478] = 478, - [479] = 18, + [479] = 478, [480] = 480, - [481] = 481, - [482] = 482, + [481] = 480, + [482] = 74, [483] = 483, - [484] = 484, - [485] = 485, - [486] = 486, - [487] = 487, - [488] = 488, - [489] = 489, - [490] = 490, - [491] = 491, - [492] = 492, - [493] = 493, - [494] = 493, - [495] = 495, - [496] = 496, + [484] = 65, + [485] = 66, + [486] = 67, + [487] = 68, + [488] = 69, + [489] = 62, + [490] = 71, + [491] = 72, + [492] = 73, + [493] = 77, + [494] = 75, + [495] = 76, + [496] = 77, [497] = 497, - [498] = 498, + [498] = 497, [499] = 499, - [500] = 500, - [501] = 501, - [502] = 502, + [500] = 66, + [501] = 67, + [502] = 499, [503] = 503, - [504] = 504, - [505] = 505, + [504] = 68, + [505] = 69, [506] = 506, - [507] = 507, - [508] = 508, - [509] = 509, - [510] = 510, - [511] = 511, - [512] = 512, + [507] = 62, + [508] = 71, + [509] = 72, + [510] = 73, + [511] = 74, + [512] = 65, [513] = 513, - [514] = 514, - [515] = 515, + [514] = 75, + [515] = 76, [516] = 516, [517] = 517, [518] = 518, @@ -2510,8 +2761,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [522] = 522, [523] = 523, [524] = 524, - [525] = 525, - [526] = 526, + [525] = 524, + [526] = 518, [527] = 527, [528] = 528, [529] = 529, @@ -2524,35 +2775,35 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [536] = 536, [537] = 537, [538] = 538, - [539] = 539, + [539] = 537, [540] = 540, - [541] = 541, - [542] = 542, + [541] = 531, + [542] = 538, [543] = 543, - [544] = 544, + [544] = 521, [545] = 545, [546] = 546, - [547] = 547, + [547] = 535, [548] = 548, - [549] = 549, + [549] = 536, [550] = 550, - [551] = 551, + [551] = 532, [552] = 552, - [553] = 553, + [553] = 540, [554] = 554, [555] = 555, [556] = 556, [557] = 557, - [558] = 558, + [558] = 533, [559] = 559, [560] = 560, - [561] = 561, + [561] = 540, [562] = 562, [563] = 563, [564] = 564, - [565] = 565, + [565] = 540, [566] = 566, - [567] = 567, + [567] = 522, [568] = 568, [569] = 569, [570] = 570, @@ -2563,34 +2814,34 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [575] = 575, [576] = 576, [577] = 577, - [578] = 578, + [578] = 306, [579] = 579, - [580] = 580, - [581] = 581, - [582] = 582, + [580] = 311, + [581] = 312, + [582] = 313, [583] = 583, [584] = 584, [585] = 585, [586] = 586, - [587] = 587, + [587] = 308, [588] = 588, [589] = 589, - [590] = 590, - [591] = 591, + [590] = 296, + [591] = 316, [592] = 592, [593] = 593, - [594] = 594, - [595] = 595, - [596] = 596, + [594] = 309, + [595] = 315, + [596] = 310, [597] = 597, - [598] = 598, + [598] = 305, [599] = 599, - [600] = 600, + [600] = 279, [601] = 601, [602] = 602, [603] = 603, [604] = 604, - [605] = 605, + [605] = 298, [606] = 606, [607] = 607, [608] = 608, @@ -2598,7 +2849,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [610] = 610, [611] = 611, [612] = 612, - [613] = 613, + [613] = 314, [614] = 614, [615] = 615, [616] = 616, @@ -2612,9 +2863,400 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [624] = 624, [625] = 625, [626] = 626, - [627] = 508, - [628] = 542, + [627] = 627, + [628] = 628, [629] = 629, + [630] = 630, + [631] = 631, + [632] = 632, + [633] = 633, + [634] = 634, + [635] = 635, + [636] = 636, + [637] = 637, + [638] = 638, + [639] = 639, + [640] = 640, + [641] = 641, + [642] = 642, + [643] = 643, + [644] = 644, + [645] = 645, + [646] = 646, + [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] = 661, + [662] = 662, + [663] = 663, + [664] = 664, + [665] = 665, + [666] = 666, + [667] = 667, + [668] = 668, + [669] = 669, + [670] = 670, + [671] = 671, + [672] = 672, + [673] = 625, + [674] = 674, + [675] = 675, + [676] = 675, + [677] = 677, + [678] = 675, + [679] = 679, + [680] = 680, + [681] = 681, + [682] = 682, + [683] = 683, + [684] = 675, + [685] = 675, + [686] = 675, + [687] = 675, + [688] = 688, + [689] = 689, + [690] = 690, + [691] = 691, + [692] = 692, + [693] = 693, + [694] = 694, + [695] = 648, + [696] = 646, + [697] = 694, + [698] = 647, + [699] = 699, + [700] = 700, + [701] = 701, + [702] = 702, + [703] = 703, + [704] = 703, + [705] = 705, + [706] = 706, + [707] = 707, + [708] = 708, + [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] = 731, + [732] = 732, + [733] = 733, + [734] = 734, + [735] = 735, + [736] = 736, + [737] = 737, + [738] = 738, + [739] = 739, + [740] = 740, + [741] = 741, + [742] = 742, + [743] = 743, + [744] = 744, + [745] = 745, + [746] = 746, + [747] = 747, + [748] = 748, + [749] = 749, + [750] = 750, + [751] = 751, + [752] = 752, + [753] = 753, + [754] = 754, + [755] = 755, + [756] = 756, + [757] = 757, + [758] = 758, + [759] = 759, + [760] = 760, + [761] = 761, + [762] = 762, + [763] = 740, + [764] = 764, + [765] = 765, + [766] = 766, + [767] = 767, + [768] = 768, + [769] = 734, + [770] = 770, + [771] = 739, + [772] = 753, + [773] = 773, + [774] = 774, + [775] = 775, + [776] = 776, + [777] = 777, + [778] = 778, + [779] = 779, + [780] = 780, + [781] = 781, + [782] = 782, + [783] = 746, + [784] = 784, + [785] = 785, + [786] = 748, + [787] = 787, + [788] = 788, + [789] = 789, + [790] = 790, + [791] = 791, + [792] = 792, + [793] = 793, + [794] = 794, + [795] = 795, + [796] = 796, + [797] = 797, + [798] = 798, + [799] = 799, + [800] = 800, + [801] = 801, + [802] = 798, + [803] = 803, + [804] = 804, + [805] = 805, + [806] = 806, + [807] = 807, + [808] = 808, + [809] = 809, + [810] = 810, + [811] = 811, + [812] = 812, + [813] = 813, + [814] = 814, + [815] = 815, + [816] = 816, + [817] = 817, + [818] = 818, + [819] = 819, + [820] = 820, + [821] = 821, + [822] = 822, + [823] = 823, + [824] = 824, + [825] = 825, + [826] = 826, + [827] = 806, + [828] = 828, + [829] = 817, + [830] = 830, + [831] = 831, + [832] = 832, + [833] = 833, + [834] = 834, + [835] = 834, + [836] = 836, + [837] = 834, + [838] = 838, + [839] = 839, + [840] = 839, + [841] = 841, + [842] = 842, + [843] = 830, + [844] = 844, + [845] = 841, + [846] = 811, + [847] = 847, + [848] = 825, + [849] = 834, + [850] = 30, + [851] = 851, + [852] = 799, + [853] = 853, + [854] = 854, + [855] = 855, + [856] = 856, + [857] = 811, + [858] = 858, + [859] = 859, + [860] = 860, + [861] = 861, + [862] = 862, + [863] = 863, + [864] = 864, + [865] = 865, + [866] = 866, + [867] = 867, + [868] = 868, + [869] = 869, + [870] = 870, + [871] = 871, + [872] = 872, + [873] = 873, + [874] = 874, + [875] = 875, + [876] = 876, + [877] = 877, + [878] = 878, + [879] = 879, + [880] = 880, + [881] = 881, + [882] = 882, + [883] = 883, + [884] = 884, + [885] = 885, + [886] = 886, + [887] = 887, + [888] = 860, + [889] = 889, + [890] = 890, + [891] = 891, + [892] = 892, + [893] = 893, + [894] = 894, + [895] = 895, + [896] = 896, + [897] = 897, + [898] = 898, + [899] = 899, + [900] = 900, + [901] = 901, + [902] = 902, + [903] = 903, + [904] = 904, + [905] = 905, + [906] = 906, + [907] = 907, + [908] = 908, + [909] = 909, + [910] = 910, + [911] = 911, + [912] = 912, + [913] = 913, + [914] = 914, + [915] = 915, + [916] = 916, + [917] = 917, + [918] = 918, + [919] = 919, + [920] = 920, + [921] = 889, + [922] = 922, + [923] = 923, + [924] = 924, + [925] = 925, + [926] = 926, + [927] = 927, + [928] = 928, + [929] = 925, + [930] = 930, + [931] = 931, + [932] = 932, + [933] = 933, + [934] = 934, + [935] = 935, + [936] = 936, + [937] = 937, + [938] = 938, + [939] = 939, + [940] = 940, + [941] = 941, + [942] = 942, + [943] = 943, + [944] = 944, + [945] = 945, + [946] = 946, + [947] = 947, + [948] = 948, + [949] = 949, + [950] = 950, + [951] = 951, + [952] = 952, + [953] = 953, + [954] = 954, + [955] = 955, + [956] = 956, + [957] = 957, + [958] = 958, + [959] = 959, + [960] = 960, + [961] = 961, + [962] = 962, + [963] = 963, + [964] = 964, + [965] = 965, + [966] = 966, + [967] = 967, + [968] = 968, + [969] = 969, + [970] = 970, + [971] = 926, + [972] = 972, + [973] = 973, + [974] = 974, + [975] = 975, + [976] = 976, + [977] = 936, + [978] = 978, + [979] = 979, + [980] = 980, + [981] = 981, + [982] = 876, + [983] = 983, + [984] = 984, + [985] = 985, + [986] = 986, + [987] = 987, + [988] = 988, + [989] = 989, + [990] = 990, + [991] = 991, + [992] = 992, + [993] = 983, + [994] = 994, + [995] = 995, + [996] = 865, + [997] = 997, + [998] = 998, + [999] = 999, + [1000] = 1000, + [1001] = 1001, + [1002] = 1002, + [1003] = 1003, + [1004] = 919, + [1005] = 871, + [1006] = 875, + [1007] = 1007, + [1008] = 994, + [1009] = 1009, + [1010] = 1010, + [1011] = 875, + [1012] = 873, + [1013] = 875, + [1014] = 1014, + [1015] = 1015, + [1016] = 873, + [1017] = 873, + [1018] = 935, + [1019] = 945, + [1020] = 1020, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -2624,130 +3266,160 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 0: if (eof) ADVANCE(20); ADVANCE_MAP( - '!', 38, - '"', 3, - '%', 80, - '&', 59, - '(', 23, - ')', 24, - '*', 76, - '+', 69, - ',', 30, - '-', 72, - '.', 52, - '/', 78, - '0', 86, - ':', 31, - ';', 25, - '<', 42, - '=', 26, - '>', 44, - '@', 22, - '[', 45, - ']', 46, - '^', 58, - '{', 28, - '|', 40, - '}', 29, + '!', 37, + '"', 4, + '%', 74, + '&', 58, + '(', 22, + ')', 23, + '*', 72, + '+', 67, + ',', 29, + '-', 69, + '.', 51, + '/', 73, + ':', 30, + ';', 24, + '<', 41, + '=', 25, + '>', 43, + '@', 21, + '[', 44, + ']', 45, + '^', 57, + 'h', 89, + '{', 27, + '|', 39, + '}', 28, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(82); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(89); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 1: ADVANCE_MAP( - '!', 38, - '"', 3, - '%', 79, - '&', 59, - '(', 23, - ')', 24, - '*', 75, - '+', 68, - ',', 30, - '-', 70, + '!', 37, + '"', 4, + '%', 74, + '&', 58, + '(', 22, + ')', 23, + '*', 72, + '+', 67, + ',', 29, + '-', 68, '.', 52, - '/', 77, - '0', 86, - ';', 25, - '<', 42, - '=', 9, - '>', 44, + '/', 73, + '0', 83, + ':', 30, + ';', 24, + '<', 41, + '=', 25, + '>', 43, '@', 21, - '[', 45, - ']', 46, - '^', 58, - '|', 40, - '}', 29, + '[', 44, + ']', 45, + '^', 57, + 'h', 89, + '{', 27, + '|', 39, + '}', 28, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(1); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(89); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 2: ADVANCE_MAP( - '!', 37, - '(', 23, - ')', 24, - ',', 30, - '-', 10, - '.', 8, - '/', 4, - '0', 86, - ';', 25, + '!', 9, + '%', 74, + '&', 58, + '(', 22, + '*', 72, + '+', 67, + '-', 68, + '.', 51, + '/', 73, + ';', 24, '<', 41, - '=', 27, + '=', 25, '>', 43, '@', 11, - '[', 45, - ']', 46, - '{', 28, + '[', 44, + '^', 57, + '{', 27, '|', 39, - '}', 29, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(2); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(86); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(89); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(88); - if (lookahead == '\\') ADVANCE(18); - if (lookahead != 0) ADVANCE(3); + ADVANCE_MAP( + '!', 36, + '(', 22, + ')', 23, + ',', 29, + '-', 10, + '/', 6, + '0', 83, + ';', 24, + '<', 40, + '=', 26, + '>', 42, + '@', 11, + '[', 44, + ']', 45, + '{', 27, + '|', 38, + '}', 28, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(3); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 4: - if (lookahead == '*') ADVANCE(6); - if (lookahead == '/') ADVANCE(83); + if (lookahead == '"') ADVANCE(87); + if (lookahead == '\\') ADVANCE(18); + if (lookahead != 0) ADVANCE(4); END_STATE(); case 5: - if (lookahead == '*') ADVANCE(5); - if (lookahead == '/') ADVANCE(82); - if (lookahead != 0) ADVANCE(6); + if (lookahead == '"') ADVANCE(85); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(5); END_STATE(); case 6: - if (lookahead == '*') ADVANCE(5); - if (lookahead != 0) ADVANCE(6); + if (lookahead == '*') ADVANCE(8); + if (lookahead == '/') ADVANCE(79); END_STATE(); case 7: - if (lookahead == '.') ADVANCE(55); + if (lookahead == '*') ADVANCE(7); + if (lookahead == '/') ADVANCE(78); + if (lookahead != 0) ADVANCE(8); END_STATE(); case 8: - if (lookahead == '.') ADVANCE(35); + if (lookahead == '*') ADVANCE(7); + if (lookahead != 0) ADVANCE(8); END_STATE(); case 9: if (lookahead == '=') ADVANCE(60); - if (lookahead == '>') ADVANCE(54); END_STATE(); case 10: - if (lookahead == '>') ADVANCE(32); + if (lookahead == '>') ADVANCE(31); END_STATE(); case 11: if (lookahead == 'a') ADVANCE(14); @@ -2757,62 +3429,61 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead == 'i') ADVANCE(15); END_STATE(); case 13: - if (lookahead == 's') ADVANCE(34); + if (lookahead == 's') ADVANCE(33); END_STATE(); case 14: - if (lookahead == 't') ADVANCE(33); + if (lookahead == 't') ADVANCE(32); END_STATE(); case 15: if (lookahead == 't') ADVANCE(13); END_STATE(); case 16: if (lookahead == '0' || - lookahead == '1') ADVANCE(85); + lookahead == '1') ADVANCE(81); END_STATE(); case 17: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(84); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); END_STATE(); case 18: if (lookahead != 0 && - lookahead != '\n') ADVANCE(3); + lookahead != '\n') ADVANCE(4); END_STATE(); case 19: if (eof) ADVANCE(20); ADVANCE_MAP( - '!', 38, - '"', 3, - '%', 80, - '&', 59, - '(', 23, - ')', 24, - '*', 76, - '+', 69, - ',', 30, - '-', 71, - '.', 53, - '/', 78, - '0', 86, - ':', 31, - ';', 25, - '<', 42, - '=', 26, - '>', 44, + '!', 37, + '%', 74, + '&', 58, + '(', 22, + ')', 23, + '*', 72, + '+', 67, + ',', 29, + '-', 68, + '.', 52, + '/', 73, + '0', 83, + ':', 30, + ';', 24, + '<', 41, + '=', 25, + '>', 43, '@', 21, - '[', 45, - ']', 46, - '^', 58, - '{', 28, - '|', 40, - '}', 29, + '[', 44, + ']', 45, + '^', 57, + '{', 27, + '|', 39, + '}', 28, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(19); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(87); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(84); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(89); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); case 20: ACCEPT_TOKEN(ts_builtin_sym_end); @@ -2821,262 +3492,281 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ACCEPT_TOKEN(anon_sym_AT); END_STATE(); case 22: - ACCEPT_TOKEN(anon_sym_AT); - if (lookahead == 'a') ADVANCE(14); - if (lookahead == 'b') ADVANCE(12); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 23: - ACCEPT_TOKEN(anon_sym_LPAREN); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 24: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); case 25: - ACCEPT_TOKEN(anon_sym_SEMI); + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(59); + if (lookahead == '>') ADVANCE(53); END_STATE(); case 26: ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(60); - if (lookahead == '>') ADVANCE(54); + if (lookahead == '>') ADVANCE(53); END_STATE(); case 27: - ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '>') ADVANCE(54); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 28: - ACCEPT_TOKEN(anon_sym_LBRACE); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 29: - ACCEPT_TOKEN(anon_sym_RBRACE); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 30: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 31: - ACCEPT_TOKEN(anon_sym_COLON); + ACCEPT_TOKEN(anon_sym_DASH_GT); END_STATE(); case 32: - ACCEPT_TOKEN(anon_sym_DASH_GT); + ACCEPT_TOKEN(anon_sym_ATat); END_STATE(); case 33: - ACCEPT_TOKEN(anon_sym_ATat); + ACCEPT_TOKEN(anon_sym_ATbits); END_STATE(); case 34: - ACCEPT_TOKEN(anon_sym_ATbits); + ACCEPT_TOKEN(anon_sym_DOT_DOT); END_STATE(); case 35: ACCEPT_TOKEN(anon_sym_DOT_DOT); + if (lookahead == '.') ADVANCE(54); END_STATE(); case 36: - ACCEPT_TOKEN(anon_sym_DOT_DOT); - if (lookahead == '.') ADVANCE(55); + ACCEPT_TOKEN(anon_sym_BANG); END_STATE(); case 37: ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(60); END_STATE(); case 38: - ACCEPT_TOKEN(anon_sym_BANG); - if (lookahead == '=') ADVANCE(61); + ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); case 39: ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '|') ADVANCE(55); END_STATE(); case 40: - ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '|') ADVANCE(56); + ACCEPT_TOKEN(anon_sym_LT); END_STATE(); case 41: ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(63); + if (lookahead == '=') ADVANCE(61); END_STATE(); case 42: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '<') ADVANCE(64); - if (lookahead == '=') ADVANCE(62); + ACCEPT_TOKEN(anon_sym_GT); END_STATE(); case 43: ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(62); + if (lookahead == '>') ADVANCE(64); END_STATE(); case 44: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(63); - if (lookahead == '>') ADVANCE(65); - END_STATE(); - case 45: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 46: + case 45: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 47: + case 46: ACCEPT_TOKEN(anon_sym_PLUS_EQ); END_STATE(); - case 48: + case 47: ACCEPT_TOKEN(anon_sym_DASH_EQ); END_STATE(); - case 49: + case 48: ACCEPT_TOKEN(anon_sym_STAR_EQ); END_STATE(); - case 50: + case 49: ACCEPT_TOKEN(anon_sym_SLASH_EQ); END_STATE(); - case 51: + case 50: ACCEPT_TOKEN(anon_sym_PERCENT_EQ); END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(35); + END_STATE(); case 52: ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == '.') ADVANCE(36); + if (lookahead == '.') ADVANCE(34); END_STATE(); case 53: - ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == '.') ADVANCE(7); + ACCEPT_TOKEN(anon_sym_EQ_GT); END_STATE(); case 54: - ACCEPT_TOKEN(anon_sym_EQ_GT); + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); END_STATE(); case 55: - ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); case 56: - ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); case 57: - ACCEPT_TOKEN(anon_sym_AMP_AMP); + ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); case 58: - ACCEPT_TOKEN(anon_sym_CARET); + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(56); END_STATE(); case 59: - ACCEPT_TOKEN(anon_sym_AMP); - if (lookahead == '&') ADVANCE(57); + ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); case 60: - ACCEPT_TOKEN(anon_sym_EQ_EQ); + ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); case 61: - ACCEPT_TOKEN(anon_sym_BANG_EQ); + ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 62: - ACCEPT_TOKEN(anon_sym_LT_EQ); + ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_GT_EQ); + ACCEPT_TOKEN(anon_sym_LT_LT); + if (lookahead == '%') ADVANCE(65); END_STATE(); case 64: - ACCEPT_TOKEN(anon_sym_LT_LT); + ACCEPT_TOKEN(anon_sym_GT_GT); if (lookahead == '%') ADVANCE(66); END_STATE(); case 65: - ACCEPT_TOKEN(anon_sym_GT_GT); - if (lookahead == '%') ADVANCE(67); + ACCEPT_TOKEN(anon_sym_LT_LT_PERCENT); END_STATE(); case 66: - ACCEPT_TOKEN(anon_sym_LT_LT_PERCENT); + ACCEPT_TOKEN(anon_sym_GT_GT_PERCENT); END_STATE(); case 67: - ACCEPT_TOKEN(anon_sym_GT_GT_PERCENT); + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '%') ADVANCE(70); + if (lookahead == '=') ADVANCE(46); END_STATE(); case 68: - ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '%') ADVANCE(73); + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '%') ADVANCE(71); + if (lookahead == '=') ADVANCE(47); END_STATE(); case 69: - ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '%') ADVANCE(73); + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '%') ADVANCE(71); if (lookahead == '=') ADVANCE(47); + if (lookahead == '>') ADVANCE(31); END_STATE(); case 70: - ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '%') ADVANCE(74); + ACCEPT_TOKEN(anon_sym_PLUS_PERCENT); END_STATE(); case 71: - ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '%') ADVANCE(74); - if (lookahead == '=') ADVANCE(48); + ACCEPT_TOKEN(anon_sym_DASH_PERCENT); END_STATE(); case 72: - ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '%') ADVANCE(74); + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '%') ADVANCE(75); + if (lookahead == '*') ADVANCE(76); if (lookahead == '=') ADVANCE(48); - if (lookahead == '>') ADVANCE(32); END_STATE(); case 73: - ACCEPT_TOKEN(anon_sym_PLUS_PERCENT); + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(8); + if (lookahead == '/') ADVANCE(79); + if (lookahead == '=') ADVANCE(49); END_STATE(); case 74: - ACCEPT_TOKEN(anon_sym_DASH_PERCENT); + ACCEPT_TOKEN(anon_sym_PERCENT); + if (lookahead == '=') ADVANCE(50); END_STATE(); case 75: - ACCEPT_TOKEN(anon_sym_STAR); - if (lookahead == '%') ADVANCE(81); + ACCEPT_TOKEN(anon_sym_STAR_PERCENT); END_STATE(); case 76: - ACCEPT_TOKEN(anon_sym_STAR); - if (lookahead == '%') ADVANCE(81); - if (lookahead == '=') ADVANCE(49); + ACCEPT_TOKEN(anon_sym_STAR_STAR); + if (lookahead == '%') ADVANCE(77); END_STATE(); case 77: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '*') ADVANCE(6); - if (lookahead == '/') ADVANCE(83); + ACCEPT_TOKEN(anon_sym_STAR_STAR_PERCENT); END_STATE(); case 78: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '*') ADVANCE(6); - if (lookahead == '/') ADVANCE(83); - if (lookahead == '=') ADVANCE(50); - END_STATE(); - case 79: - ACCEPT_TOKEN(anon_sym_PERCENT); - END_STATE(); - case 80: - ACCEPT_TOKEN(anon_sym_PERCENT); - if (lookahead == '=') ADVANCE(51); - END_STATE(); - case 81: - ACCEPT_TOKEN(anon_sym_STAR_PERCENT); - END_STATE(); - case 82: ACCEPT_TOKEN(sym_comment); END_STATE(); - case 83: + case 79: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(83); + lookahead != '\n') ADVANCE(79); END_STATE(); - case 84: + case 80: ACCEPT_TOKEN(aux_sym_number_literal_token1); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(84); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(80); END_STATE(); - case 85: + case 81: ACCEPT_TOKEN(aux_sym_number_literal_token2); if (lookahead == '0' || lookahead == '1' || - lookahead == '_') ADVANCE(85); + lookahead == '_') ADVANCE(81); END_STATE(); - case 86: + case 82: + ACCEPT_TOKEN(aux_sym_number_literal_token3); + if (lookahead == '_') ADVANCE(84); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(82); + END_STATE(); + case 83: ACCEPT_TOKEN(aux_sym_number_literal_token3); if (lookahead == 'b') ADVANCE(16); if (lookahead == 'x') ADVANCE(17); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(87); + lookahead == '_') ADVANCE(84); END_STATE(); - case 87: + case 84: ACCEPT_TOKEN(aux_sym_number_literal_token3); if (('0' <= lookahead && lookahead <= '9') || - lookahead == '_') ADVANCE(87); + lookahead == '_') ADVANCE(84); END_STATE(); - case 88: + case 85: + ACCEPT_TOKEN(sym_bytes_literal); + END_STATE(); + case 86: + ACCEPT_TOKEN(sym_field_index); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(86); + END_STATE(); + case 87: ACCEPT_TOKEN(sym_string_literal); END_STATE(); + case 88: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(5); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + END_STATE(); case 89: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(90); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + END_STATE(); + case 90: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'x') ADVANCE(88); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); + END_STATE(); + case 91: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(89); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(91); END_STATE(); default: return false; @@ -3092,771 +3782,844 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { 'a', 1, 'b', 2, 'c', 3, - 'e', 4, - 'f', 5, - 'g', 6, - 'i', 7, - 'l', 8, - 'm', 9, - 'o', 10, - 'p', 11, - 'r', 12, - 's', 13, - 't', 14, - 'u', 15, - 'v', 16, - 'w', 17, + 'd', 4, + 'e', 5, + 'f', 6, + 'g', 7, + 'h', 8, + 'i', 9, + 'l', 10, + 'm', 11, + 'o', 12, + 'p', 13, + 'r', 14, + 's', 15, + 't', 16, + 'u', 17, + 'v', 18, + 'w', 19, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0); END_STATE(); case 1: - if (lookahead == 'd') ADVANCE(18); - if (lookahead == 's') ADVANCE(19); + if (lookahead == 'd') ADVANCE(20); + if (lookahead == 's') ADVANCE(21); END_STATE(); case 2: - if (lookahead == 'i') ADVANCE(20); - if (lookahead == 'o') ADVANCE(21); - if (lookahead == 'r') ADVANCE(22); - if (lookahead == 'y') ADVANCE(23); + if (lookahead == 'i') ADVANCE(22); + if (lookahead == 'o') ADVANCE(23); + if (lookahead == 'r') ADVANCE(24); + if (lookahead == 'y') ADVANCE(25); END_STATE(); case 3: - if (lookahead == 'a') ADVANCE(24); - if (lookahead == 'o') ADVANCE(25); + if (lookahead == 'a') ADVANCE(26); + if (lookahead == 'o') ADVANCE(27); END_STATE(); case 4: - if (lookahead == 'l') ADVANCE(26); - if (lookahead == 'n') ADVANCE(27); - if (lookahead == 'r') ADVANCE(28); - if (lookahead == 'x') ADVANCE(29); + if (lookahead == 'e') ADVANCE(28); END_STATE(); case 5: - if (lookahead == 'a') ADVANCE(30); - if (lookahead == 'n') ADVANCE(31); - if (lookahead == 'o') ADVANCE(32); + if (lookahead == 'l') ADVANCE(29); + if (lookahead == 'n') ADVANCE(30); + if (lookahead == 'r') ADVANCE(31); + if (lookahead == 'x') ADVANCE(32); END_STATE(); case 6: - if (lookahead == 'h') ADVANCE(33); + if (lookahead == 'a') ADVANCE(33); + if (lookahead == 'n') ADVANCE(34); + if (lookahead == 'o') ADVANCE(35); END_STATE(); case 7: - ADVANCE_MAP( - '1', 34, - '2', 35, - '3', 36, - '6', 37, - '8', 38, - 'f', 39, - 'm', 40, - 'n', 41, - ); + if (lookahead == 'h') ADVANCE(36); END_STATE(); case 8: - if (lookahead == 'e') ADVANCE(42); - if (lookahead == 'o') ADVANCE(43); + if (lookahead == 'a') ADVANCE(37); END_STATE(); case 9: - if (lookahead == 'a') ADVANCE(44); - if (lookahead == 'e') ADVANCE(45); + ADVANCE_MAP( + '1', 38, + '2', 39, + '3', 40, + '6', 41, + '8', 42, + 'f', 43, + 'm', 44, + 'n', 45, + ); END_STATE(); case 10: - if (lookahead == 'l') ADVANCE(46); + if (lookahead == 'e') ADVANCE(46); + if (lookahead == 'o') ADVANCE(47); END_STATE(); case 11: - if (lookahead == 'u') ADVANCE(47); + if (lookahead == 'a') ADVANCE(48); + if (lookahead == 'e') ADVANCE(49); END_STATE(); case 12: - if (lookahead == 'e') ADVANCE(48); + if (lookahead == 'l') ADVANCE(50); END_STATE(); case 13: - if (lookahead == 'l') ADVANCE(49); - if (lookahead == 't') ADVANCE(50); - if (lookahead == 'w') ADVANCE(51); + if (lookahead == 'u') ADVANCE(51); END_STATE(); case 14: - if (lookahead == 'r') ADVANCE(52); - if (lookahead == 's') ADVANCE(53); + if (lookahead == 'e') ADVANCE(52); END_STATE(); case 15: - if (lookahead == '1') ADVANCE(54); - if (lookahead == '2') ADVANCE(55); - if (lookahead == '3') ADVANCE(56); - if (lookahead == '6') ADVANCE(57); - if (lookahead == '8') ADVANCE(58); - if (lookahead == 'n') ADVANCE(59); + if (lookahead == 'l') ADVANCE(53); + if (lookahead == 't') ADVANCE(54); + if (lookahead == 'w') ADVANCE(55); END_STATE(); case 16: - if (lookahead == 'a') ADVANCE(60); - if (lookahead == 'o') ADVANCE(61); + if (lookahead == 'r') ADVANCE(56); + if (lookahead == 's') ADVANCE(57); END_STATE(); case 17: - if (lookahead == 'h') ADVANCE(62); + if (lookahead == '1') ADVANCE(58); + if (lookahead == '2') ADVANCE(59); + if (lookahead == '3') ADVANCE(60); + if (lookahead == '6') ADVANCE(61); + if (lookahead == '8') ADVANCE(62); + if (lookahead == 'n') ADVANCE(63); END_STATE(); case 18: - if (lookahead == 'd') ADVANCE(63); + if (lookahead == 'a') ADVANCE(64); + if (lookahead == 'o') ADVANCE(65); END_STATE(); case 19: - if (lookahead == 's') ADVANCE(64); + if (lookahead == 'h') ADVANCE(66); END_STATE(); case 20: - if (lookahead == 't') ADVANCE(65); + if (lookahead == 'd') ADVANCE(67); END_STATE(); case 21: - if (lookahead == 'o') ADVANCE(66); + if (lookahead == 's') ADVANCE(68); END_STATE(); case 22: - if (lookahead == 'e') ADVANCE(67); + if (lookahead == 't') ADVANCE(69); END_STATE(); case 23: - if (lookahead == 't') ADVANCE(68); + if (lookahead == 'o') ADVANCE(70); END_STATE(); case 24: - if (lookahead == 's') ADVANCE(69); - if (lookahead == 't') ADVANCE(70); + if (lookahead == 'e') ADVANCE(71); END_STATE(); case 25: - if (lookahead == 'm') ADVANCE(71); - if (lookahead == 'n') ADVANCE(72); + if (lookahead == 't') ADVANCE(72); END_STATE(); case 26: - if (lookahead == 's') ADVANCE(73); + if (lookahead == 'l') ADVANCE(73); + if (lookahead == 's') ADVANCE(74); + if (lookahead == 't') ADVANCE(75); END_STATE(); case 27: - if (lookahead == 's') ADVANCE(74); - if (lookahead == 'u') ADVANCE(75); + if (lookahead == 'm') ADVANCE(76); + if (lookahead == 'n') ADVANCE(77); END_STATE(); case 28: - if (lookahead == 'r') ADVANCE(76); + if (lookahead == 'c') ADVANCE(78); END_STATE(); case 29: - if (lookahead == 'i') ADVANCE(77); + if (lookahead == 's') ADVANCE(79); END_STATE(); case 30: - if (lookahead == 'l') ADVANCE(78); + if (lookahead == 's') ADVANCE(80); + if (lookahead == 'u') ADVANCE(81); END_STATE(); case 31: - ACCEPT_TOKEN(anon_sym_fn); + if (lookahead == 'r') ADVANCE(82); END_STATE(); case 32: - if (lookahead == 'r') ADVANCE(79); + if (lookahead == 'i') ADVANCE(83); END_STATE(); case 33: - if (lookahead == 'o') ADVANCE(80); + if (lookahead == 'l') ADVANCE(84); END_STATE(); case 34: - if (lookahead == '2') ADVANCE(81); - if (lookahead == '6') ADVANCE(82); + ACCEPT_TOKEN(anon_sym_fn); END_STATE(); case 35: - if (lookahead == '5') ADVANCE(83); + if (lookahead == 'r') ADVANCE(85); END_STATE(); case 36: - if (lookahead == '2') ADVANCE(84); + if (lookahead == 'o') ADVANCE(86); END_STATE(); case 37: - if (lookahead == '4') ADVANCE(85); + if (lookahead == 'v') ADVANCE(87); END_STATE(); case 38: - ACCEPT_TOKEN(anon_sym_i8); + if (lookahead == '2') ADVANCE(88); + if (lookahead == '6') ADVANCE(89); END_STATE(); case 39: - ACCEPT_TOKEN(anon_sym_if); + if (lookahead == '5') ADVANCE(90); END_STATE(); case 40: - if (lookahead == 'm') ADVANCE(86); - if (lookahead == 'p') ADVANCE(87); + if (lookahead == '2') ADVANCE(91); END_STATE(); case 41: - if (lookahead == 'd') ADVANCE(88); - if (lookahead == 'i') ADVANCE(89); - if (lookahead == 'v') ADVANCE(90); + if (lookahead == '4') ADVANCE(92); END_STATE(); case 42: - if (lookahead == 't') ADVANCE(91); + ACCEPT_TOKEN(anon_sym_i8); END_STATE(); case 43: - if (lookahead == 'c') ADVANCE(92); - if (lookahead == 'g') ADVANCE(93); + ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 44: + if (lookahead == 'm') ADVANCE(93); if (lookahead == 'p') ADVANCE(94); END_STATE(); case 45: - if (lookahead == 'm') ADVANCE(95); + if (lookahead == 'd') ADVANCE(95); + if (lookahead == 'i') ADVANCE(96); + if (lookahead == 'v') ADVANCE(97); END_STATE(); case 46: - if (lookahead == 'd') ADVANCE(96); + if (lookahead == 't') ADVANCE(98); END_STATE(); case 47: - if (lookahead == 'b') ADVANCE(97); + if (lookahead == 'c') ADVANCE(99); + if (lookahead == 'g') ADVANCE(100); END_STATE(); case 48: - if (lookahead == 'q') ADVANCE(98); - if (lookahead == 't') ADVANCE(99); + if (lookahead == 'p') ADVANCE(101); END_STATE(); case 49: - if (lookahead == 'i') ADVANCE(100); + if (lookahead == 'm') ADVANCE(102); END_STATE(); case 50: - if (lookahead == 'o') ADVANCE(101); - if (lookahead == 'r') ADVANCE(102); + if (lookahead == 'd') ADVANCE(103); END_STATE(); case 51: - if (lookahead == 'i') ADVANCE(103); + if (lookahead == 'b') ADVANCE(104); END_STATE(); case 52: - if (lookahead == 'u') ADVANCE(104); - if (lookahead == 'y') ADVANCE(105); + if (lookahead == 'q') ADVANCE(105); + if (lookahead == 't') ADVANCE(106); END_STATE(); case 53: - if (lookahead == 't') ADVANCE(106); + if (lookahead == 'i') ADVANCE(107); END_STATE(); case 54: - if (lookahead == '2') ADVANCE(107); - if (lookahead == '6') ADVANCE(108); + if (lookahead == 'o') ADVANCE(108); + if (lookahead == 'r') ADVANCE(109); END_STATE(); case 55: - if (lookahead == '5') ADVANCE(109); + if (lookahead == 'i') ADVANCE(110); END_STATE(); case 56: - if (lookahead == '2') ADVANCE(110); + if (lookahead == 'u') ADVANCE(111); + if (lookahead == 'y') ADVANCE(112); END_STATE(); case 57: - if (lookahead == '4') ADVANCE(111); + if (lookahead == 't') ADVANCE(113); END_STATE(); case 58: - ACCEPT_TOKEN(anon_sym_u8); + if (lookahead == '2') ADVANCE(114); + if (lookahead == '6') ADVANCE(115); END_STATE(); case 59: - if (lookahead == 'l') ADVANCE(112); + if (lookahead == '5') ADVANCE(116); END_STATE(); case 60: - if (lookahead == 'r') ADVANCE(113); + if (lookahead == '2') ADVANCE(117); END_STATE(); case 61: - if (lookahead == 'i') ADVANCE(114); + if (lookahead == '4') ADVANCE(118); END_STATE(); case 62: - if (lookahead == 'e') ADVANCE(115); - if (lookahead == 'i') ADVANCE(116); + ACCEPT_TOKEN(anon_sym_u8); END_STATE(); case 63: - if (lookahead == 'r') ADVANCE(117); + if (lookahead == 'l') ADVANCE(119); END_STATE(); case 64: - if (lookahead == 'e') ADVANCE(118); + if (lookahead == 'r') ADVANCE(120); END_STATE(); case 65: - if (lookahead == 'f') ADVANCE(119); + if (lookahead == 'i') ADVANCE(121); END_STATE(); case 66: - if (lookahead == 'l') ADVANCE(120); + if (lookahead == 'e') ADVANCE(122); + if (lookahead == 'i') ADVANCE(123); END_STATE(); case 67: - if (lookahead == 'a') ADVANCE(121); + if (lookahead == 'r') ADVANCE(124); END_STATE(); case 68: - if (lookahead == 'e') ADVANCE(122); + if (lookahead == 'e') ADVANCE(125); + if (lookahead == 'u') ADVANCE(126); END_STATE(); case 69: - if (lookahead == 't') ADVANCE(123); + if (lookahead == 'f') ADVANCE(127); END_STATE(); case 70: - if (lookahead == 'c') ADVANCE(124); + if (lookahead == 'l') ADVANCE(128); END_STATE(); case 71: - if (lookahead == 'p') ADVANCE(125); + if (lookahead == 'a') ADVANCE(129); END_STATE(); case 72: - if (lookahead == 's') ADVANCE(126); - if (lookahead == 't') ADVANCE(127); + if (lookahead == 'e') ADVANCE(130); END_STATE(); case 73: - if (lookahead == 'e') ADVANCE(128); + if (lookahead == 'l') ADVANCE(131); END_STATE(); case 74: - if (lookahead == 'u') ADVANCE(129); + if (lookahead == 't') ADVANCE(132); END_STATE(); case 75: - if (lookahead == 'm') ADVANCE(130); + if (lookahead == 'c') ADVANCE(133); END_STATE(); case 76: - if (lookahead == 'o') ADVANCE(131); + if (lookahead == 'p') ADVANCE(134); END_STATE(); case 77: - if (lookahead == 's') ADVANCE(132); + if (lookahead == 's') ADVANCE(135); + if (lookahead == 't') ADVANCE(136); END_STATE(); case 78: - if (lookahead == 's') ADVANCE(133); + if (lookahead == 'r') ADVANCE(137); END_STATE(); case 79: - ACCEPT_TOKEN(anon_sym_for); - if (lookahead == 'a') ADVANCE(134); + if (lookahead == 'e') ADVANCE(138); END_STATE(); case 80: - if (lookahead == 's') ADVANCE(135); + if (lookahead == 'u') ADVANCE(139); END_STATE(); case 81: - if (lookahead == '8') ADVANCE(136); + if (lookahead == 'm') ADVANCE(140); END_STATE(); case 82: - ACCEPT_TOKEN(anon_sym_i16); + if (lookahead == 'o') ADVANCE(141); END_STATE(); case 83: - if (lookahead == '6') ADVANCE(137); + if (lookahead == 's') ADVANCE(142); END_STATE(); case 84: - ACCEPT_TOKEN(anon_sym_i32); + if (lookahead == 's') ADVANCE(143); END_STATE(); case 85: - ACCEPT_TOKEN(anon_sym_i64); + ACCEPT_TOKEN(anon_sym_for); + if (lookahead == 'a') ADVANCE(144); END_STATE(); case 86: - if (lookahead == 'u') ADVANCE(138); + if (lookahead == 's') ADVANCE(145); END_STATE(); case 87: - if (lookahead == 'o') ADVANCE(139); + if (lookahead == 'o') ADVANCE(146); END_STATE(); case 88: - if (lookahead == 'e') ADVANCE(140); + if (lookahead == '8') ADVANCE(147); END_STATE(); case 89: - if (lookahead == 't') ADVANCE(141); + ACCEPT_TOKEN(anon_sym_i16); END_STATE(); case 90: - if (lookahead == 'a') ADVANCE(142); + if (lookahead == '6') ADVANCE(148); END_STATE(); case 91: - ACCEPT_TOKEN(anon_sym_let); + ACCEPT_TOKEN(anon_sym_i32); END_STATE(); case 92: - if (lookahead == 'k') ADVANCE(143); + ACCEPT_TOKEN(anon_sym_i64); END_STATE(); case 93: - ACCEPT_TOKEN(anon_sym_log); + if (lookahead == 'u') ADVANCE(149); END_STATE(); case 94: - ACCEPT_TOKEN(anon_sym_map); + if (lookahead == 'o') ADVANCE(150); END_STATE(); case 95: - if (lookahead == 'o') ADVANCE(144); + if (lookahead == 'e') ADVANCE(151); END_STATE(); case 96: - ACCEPT_TOKEN(anon_sym_old); + if (lookahead == 't') ADVANCE(152); END_STATE(); case 97: - ACCEPT_TOKEN(anon_sym_pub); + if (lookahead == 'a') ADVANCE(153); END_STATE(); case 98: - if (lookahead == 'u') ADVANCE(145); + ACCEPT_TOKEN(anon_sym_let); END_STATE(); case 99: - if (lookahead == 'u') ADVANCE(146); + if (lookahead == 'k') ADVANCE(154); END_STATE(); case 100: - if (lookahead == 'c') ADVANCE(147); + ACCEPT_TOKEN(anon_sym_log); END_STATE(); case 101: - if (lookahead == 'r') ADVANCE(148); + ACCEPT_TOKEN(anon_sym_map); END_STATE(); case 102: - if (lookahead == 'i') ADVANCE(149); - if (lookahead == 'u') ADVANCE(150); + if (lookahead == 'o') ADVANCE(155); END_STATE(); case 103: - if (lookahead == 't') ADVANCE(151); + ACCEPT_TOKEN(anon_sym_old); END_STATE(); case 104: - if (lookahead == 'e') ADVANCE(152); + ACCEPT_TOKEN(anon_sym_pub); END_STATE(); case 105: - ACCEPT_TOKEN(anon_sym_try); + if (lookahead == 'u') ADVANCE(156); END_STATE(); case 106: - if (lookahead == 'o') ADVANCE(153); + if (lookahead == 'u') ADVANCE(157); END_STATE(); case 107: - if (lookahead == '8') ADVANCE(154); + if (lookahead == 'c') ADVANCE(158); END_STATE(); case 108: - ACCEPT_TOKEN(anon_sym_u16); + if (lookahead == 'r') ADVANCE(159); END_STATE(); case 109: - if (lookahead == '6') ADVANCE(155); + if (lookahead == 'i') ADVANCE(160); + if (lookahead == 'u') ADVANCE(161); END_STATE(); case 110: - ACCEPT_TOKEN(anon_sym_u32); + if (lookahead == 't') ADVANCE(162); END_STATE(); case 111: - ACCEPT_TOKEN(anon_sym_u64); + if (lookahead == 'e') ADVANCE(163); END_STATE(); case 112: - if (lookahead == 'o') ADVANCE(156); + ACCEPT_TOKEN(anon_sym_try); END_STATE(); case 113: - ACCEPT_TOKEN(anon_sym_var); + if (lookahead == 'o') ADVANCE(164); END_STATE(); case 114: - if (lookahead == 'd') ADVANCE(157); + if (lookahead == '8') ADVANCE(165); END_STATE(); case 115: - if (lookahead == 'r') ADVANCE(158); + ACCEPT_TOKEN(anon_sym_u16); END_STATE(); case 116: - if (lookahead == 'l') ADVANCE(159); + if (lookahead == '6') ADVANCE(166); END_STATE(); case 117: - if (lookahead == 'e') ADVANCE(160); + ACCEPT_TOKEN(anon_sym_u32); END_STATE(); case 118: - if (lookahead == 'r') ADVANCE(161); + ACCEPT_TOKEN(anon_sym_u64); END_STATE(); case 119: - if (lookahead == 'i') ADVANCE(162); + if (lookahead == 'o') ADVANCE(167); END_STATE(); case 120: - ACCEPT_TOKEN(anon_sym_bool); + ACCEPT_TOKEN(anon_sym_var); END_STATE(); case 121: - if (lookahead == 'k') ADVANCE(163); + if (lookahead == 'd') ADVANCE(168); END_STATE(); case 122: - if (lookahead == 's') ADVANCE(164); + if (lookahead == 'r') ADVANCE(169); END_STATE(); case 123: - ACCEPT_TOKEN(anon_sym_cast); + if (lookahead == 'l') ADVANCE(170); END_STATE(); case 124: - if (lookahead == 'h') ADVANCE(165); + if (lookahead == 'e') ADVANCE(171); END_STATE(); case 125: - if (lookahead == 't') ADVANCE(166); + if (lookahead == 'r') ADVANCE(172); END_STATE(); case 126: - if (lookahead == 't') ADVANCE(167); + if (lookahead == 'm') ADVANCE(173); END_STATE(); case 127: - if (lookahead == 'i') ADVANCE(168); - if (lookahead == 'r') ADVANCE(169); + if (lookahead == 'i') ADVANCE(174); END_STATE(); case 128: - ACCEPT_TOKEN(anon_sym_else); + ACCEPT_TOKEN(anon_sym_bool); END_STATE(); case 129: - if (lookahead == 'r') ADVANCE(170); + if (lookahead == 'k') ADVANCE(175); END_STATE(); case 130: - ACCEPT_TOKEN(anon_sym_enum); + if (lookahead == 's') ADVANCE(176); END_STATE(); case 131: - if (lookahead == 'r') ADVANCE(171); + if (lookahead == 'd') ADVANCE(177); END_STATE(); case 132: - if (lookahead == 't') ADVANCE(172); + ACCEPT_TOKEN(anon_sym_cast); END_STATE(); case 133: - if (lookahead == 'e') ADVANCE(173); + if (lookahead == 'h') ADVANCE(178); END_STATE(); case 134: - if (lookahead == 'l') ADVANCE(174); + if (lookahead == 't') ADVANCE(179); END_STATE(); case 135: - if (lookahead == 't') ADVANCE(175); + if (lookahead == 't') ADVANCE(180); END_STATE(); case 136: - ACCEPT_TOKEN(anon_sym_i128); + if (lookahead == 'i') ADVANCE(181); + if (lookahead == 'r') ADVANCE(182); END_STATE(); case 137: - ACCEPT_TOKEN(anon_sym_i256); + if (lookahead == 'e') ADVANCE(183); END_STATE(); case 138: - if (lookahead == 't') ADVANCE(176); + ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 139: - if (lookahead == 'r') ADVANCE(177); + if (lookahead == 'r') ADVANCE(184); END_STATE(); case 140: - if (lookahead == 'x') ADVANCE(178); + ACCEPT_TOKEN(anon_sym_enum); END_STATE(); case 141: - ACCEPT_TOKEN(anon_sym_init); + if (lookahead == 'r') ADVANCE(185); END_STATE(); case 142: - if (lookahead == 'r') ADVANCE(179); + if (lookahead == 't') ADVANCE(186); END_STATE(); case 143: - ACCEPT_TOKEN(anon_sym_lock); + if (lookahead == 'e') ADVANCE(187); END_STATE(); case 144: - if (lookahead == 'r') ADVANCE(180); + if (lookahead == 'l') ADVANCE(188); END_STATE(); case 145: - if (lookahead == 'i') ADVANCE(181); + if (lookahead == 't') ADVANCE(189); END_STATE(); case 146: - if (lookahead == 'r') ADVANCE(182); + if (lookahead == 'c') ADVANCE(190); END_STATE(); case 147: - if (lookahead == 'e') ADVANCE(183); + ACCEPT_TOKEN(anon_sym_i128); END_STATE(); case 148: - if (lookahead == 'a') ADVANCE(184); + ACCEPT_TOKEN(anon_sym_i256); END_STATE(); case 149: - if (lookahead == 'n') ADVANCE(185); + if (lookahead == 't') ADVANCE(191); END_STATE(); case 150: - if (lookahead == 'c') ADVANCE(186); + if (lookahead == 'r') ADVANCE(192); END_STATE(); case 151: - if (lookahead == 'c') ADVANCE(187); + if (lookahead == 'x') ADVANCE(193); END_STATE(); case 152: - ACCEPT_TOKEN(anon_sym_true); + ACCEPT_TOKEN(anon_sym_init); END_STATE(); case 153: - if (lookahead == 'r') ADVANCE(188); + if (lookahead == 'r') ADVANCE(194); END_STATE(); case 154: - ACCEPT_TOKEN(anon_sym_u128); + ACCEPT_TOKEN(anon_sym_lock); END_STATE(); case 155: - ACCEPT_TOKEN(anon_sym_u256); + if (lookahead == 'r') ADVANCE(195); END_STATE(); case 156: - if (lookahead == 'c') ADVANCE(189); + if (lookahead == 'i') ADVANCE(196); END_STATE(); case 157: - ACCEPT_TOKEN(anon_sym_void); + if (lookahead == 'r') ADVANCE(197); END_STATE(); case 158: - if (lookahead == 'e') ADVANCE(190); + if (lookahead == 'e') ADVANCE(198); END_STATE(); case 159: - if (lookahead == 'e') ADVANCE(191); + if (lookahead == 'a') ADVANCE(199); END_STATE(); case 160: - if (lookahead == 's') ADVANCE(192); + if (lookahead == 'n') ADVANCE(200); END_STATE(); case 161: - if (lookahead == 't') ADVANCE(193); + if (lookahead == 'c') ADVANCE(201); END_STATE(); case 162: - if (lookahead == 'e') ADVANCE(194); + if (lookahead == 'c') ADVANCE(202); END_STATE(); case 163: - ACCEPT_TOKEN(anon_sym_break); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 164: - ACCEPT_TOKEN(anon_sym_bytes); + if (lookahead == 'r') ADVANCE(203); END_STATE(); case 165: - ACCEPT_TOKEN(anon_sym_catch); + ACCEPT_TOKEN(anon_sym_u128); END_STATE(); case 166: - if (lookahead == 'i') ADVANCE(195); + ACCEPT_TOKEN(anon_sym_u256); END_STATE(); case 167: - ACCEPT_TOKEN(anon_sym_const); + if (lookahead == 'c') ADVANCE(204); END_STATE(); case 168: - if (lookahead == 'n') ADVANCE(196); + ACCEPT_TOKEN(anon_sym_void); END_STATE(); case 169: - if (lookahead == 'a') ADVANCE(197); + if (lookahead == 'e') ADVANCE(205); END_STATE(); case 170: - if (lookahead == 'e') ADVANCE(198); + if (lookahead == 'e') ADVANCE(206); END_STATE(); case 171: - ACCEPT_TOKEN(anon_sym_error); + if (lookahead == 's') ADVANCE(207); END_STATE(); case 172: - if (lookahead == 's') ADVANCE(199); + if (lookahead == 't') ADVANCE(208); END_STATE(); case 173: - ACCEPT_TOKEN(anon_sym_false); + if (lookahead == 'e') ADVANCE(209); END_STATE(); case 174: - if (lookahead == 'l') ADVANCE(200); + if (lookahead == 'e') ADVANCE(210); END_STATE(); case 175: - ACCEPT_TOKEN(anon_sym_ghost); + ACCEPT_TOKEN(anon_sym_break); END_STATE(); case 176: - if (lookahead == 'a') ADVANCE(201); + ACCEPT_TOKEN(anon_sym_bytes); END_STATE(); case 177: - if (lookahead == 't') ADVANCE(202); + if (lookahead == 'a') ADVANCE(211); END_STATE(); case 178: - if (lookahead == 'e') ADVANCE(203); + ACCEPT_TOKEN(anon_sym_catch); END_STATE(); case 179: - if (lookahead == 'i') ADVANCE(204); + if (lookahead == 'i') ADVANCE(212); END_STATE(); case 180: - if (lookahead == 'y') ADVANCE(205); + ACCEPT_TOKEN(anon_sym_const); END_STATE(); case 181: - if (lookahead == 'r') ADVANCE(206); + if (lookahead == 'n') ADVANCE(213); END_STATE(); case 182: - if (lookahead == 'n') ADVANCE(207); + if (lookahead == 'a') ADVANCE(214); END_STATE(); case 183: - ACCEPT_TOKEN(anon_sym_slice); + if (lookahead == 'a') ADVANCE(215); END_STATE(); case 184: - if (lookahead == 'g') ADVANCE(208); + if (lookahead == 'e') ADVANCE(216); END_STATE(); case 185: - if (lookahead == 'g') ADVANCE(209); + ACCEPT_TOKEN(anon_sym_error); END_STATE(); case 186: - if (lookahead == 't') ADVANCE(210); + if (lookahead == 's') ADVANCE(217); END_STATE(); case 187: - if (lookahead == 'h') ADVANCE(211); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 188: - if (lookahead == 'e') ADVANCE(212); + if (lookahead == 'l') ADVANCE(218); END_STATE(); case 189: - if (lookahead == 'k') ADVANCE(213); + ACCEPT_TOKEN(anon_sym_ghost); END_STATE(); case 190: - ACCEPT_TOKEN(anon_sym_where); + ACCEPT_TOKEN(anon_sym_havoc); END_STATE(); case 191: - ACCEPT_TOKEN(anon_sym_while); + if (lookahead == 'a') ADVANCE(219); END_STATE(); case 192: - if (lookahead == 's') ADVANCE(214); + if (lookahead == 't') ADVANCE(220); END_STATE(); case 193: - ACCEPT_TOKEN(anon_sym_assert); + if (lookahead == 'e') ADVANCE(221); END_STATE(); case 194: - if (lookahead == 'l') ADVANCE(215); + if (lookahead == 'i') ADVANCE(222); END_STATE(); case 195: - if (lookahead == 'm') ADVANCE(216); + if (lookahead == 'y') ADVANCE(223); END_STATE(); case 196: - if (lookahead == 'u') ADVANCE(217); + if (lookahead == 'r') ADVANCE(224); END_STATE(); case 197: - if (lookahead == 'c') ADVANCE(218); + if (lookahead == 'n') ADVANCE(225); END_STATE(); case 198: - if (lookahead == 's') ADVANCE(219); + ACCEPT_TOKEN(anon_sym_slice); END_STATE(); case 199: - ACCEPT_TOKEN(anon_sym_exists); + if (lookahead == 'g') ADVANCE(226); END_STATE(); case 200: - ACCEPT_TOKEN(anon_sym_forall); + if (lookahead == 'g') ADVANCE(227); END_STATE(); case 201: - if (lookahead == 'b') ADVANCE(220); + if (lookahead == 't') ADVANCE(228); END_STATE(); case 202: - ACCEPT_TOKEN(anon_sym_import); + if (lookahead == 'h') ADVANCE(229); END_STATE(); case 203: - if (lookahead == 'd') ADVANCE(221); + if (lookahead == 'e') ADVANCE(230); END_STATE(); case 204: - if (lookahead == 'a') ADVANCE(222); + if (lookahead == 'k') ADVANCE(231); END_STATE(); case 205: - ACCEPT_TOKEN(anon_sym_memory); + ACCEPT_TOKEN(anon_sym_where); END_STATE(); case 206: - if (lookahead == 'e') ADVANCE(223); + ACCEPT_TOKEN(anon_sym_while); END_STATE(); case 207: - ACCEPT_TOKEN(anon_sym_return); + if (lookahead == 's') ADVANCE(232); END_STATE(); case 208: - if (lookahead == 'e') ADVANCE(224); + ACCEPT_TOKEN(anon_sym_assert); END_STATE(); case 209: - ACCEPT_TOKEN(anon_sym_string); + ACCEPT_TOKEN(anon_sym_assume); END_STATE(); case 210: - ACCEPT_TOKEN(anon_sym_struct); + if (lookahead == 'l') ADVANCE(233); END_STATE(); case 211: - ACCEPT_TOKEN(anon_sym_switch); + if (lookahead == 't') ADVANCE(234); END_STATE(); case 212: - ACCEPT_TOKEN(anon_sym_tstore); + if (lookahead == 'm') ADVANCE(235); END_STATE(); case 213: - ACCEPT_TOKEN(anon_sym_unlock); + if (lookahead == 'u') ADVANCE(236); END_STATE(); case 214: - ACCEPT_TOKEN(anon_sym_address); + if (lookahead == 'c') ADVANCE(237); END_STATE(); case 215: - if (lookahead == 'd') ADVANCE(225); + if (lookahead == 's') ADVANCE(238); END_STATE(); case 216: - if (lookahead == 'e') ADVANCE(226); + if (lookahead == 's') ADVANCE(239); END_STATE(); case 217: - if (lookahead == 'e') ADVANCE(227); + ACCEPT_TOKEN(anon_sym_exists); END_STATE(); case 218: - if (lookahead == 't') ADVANCE(228); + ACCEPT_TOKEN(anon_sym_forall); END_STATE(); case 219: - ACCEPT_TOKEN(anon_sym_ensures); + if (lookahead == 'b') ADVANCE(240); END_STATE(); case 220: - if (lookahead == 'l') ADVANCE(229); + ACCEPT_TOKEN(anon_sym_import); END_STATE(); case 221: - ACCEPT_TOKEN(anon_sym_indexed); + if (lookahead == 'd') ADVANCE(241); END_STATE(); case 222: - if (lookahead == 'n') ADVANCE(230); + if (lookahead == 'a') ADVANCE(242); END_STATE(); case 223: - if (lookahead == 's') ADVANCE(231); + ACCEPT_TOKEN(anon_sym_memory); END_STATE(); case 224: - ACCEPT_TOKEN(anon_sym_storage); + if (lookahead == 'e') ADVANCE(243); END_STATE(); case 225: - ACCEPT_TOKEN(anon_sym_bitfield); + ACCEPT_TOKEN(anon_sym_return); END_STATE(); case 226: - ACCEPT_TOKEN(anon_sym_comptime); + if (lookahead == 'e') ADVANCE(244); END_STATE(); case 227: - ACCEPT_TOKEN(anon_sym_continue); + ACCEPT_TOKEN(anon_sym_string); END_STATE(); case 228: - ACCEPT_TOKEN(anon_sym_contract); + ACCEPT_TOKEN(anon_sym_struct); END_STATE(); case 229: - if (lookahead == 'e') ADVANCE(232); + ACCEPT_TOKEN(anon_sym_switch); END_STATE(); case 230: - if (lookahead == 't') ADVANCE(233); + ACCEPT_TOKEN(anon_sym_tstore); END_STATE(); case 231: - ACCEPT_TOKEN(anon_sym_requires); + ACCEPT_TOKEN(anon_sym_unlock); END_STATE(); case 232: - ACCEPT_TOKEN(anon_sym_immutable); + ACCEPT_TOKEN(anon_sym_address); END_STATE(); case 233: - ACCEPT_TOKEN(anon_sym_invariant); + if (lookahead == 'd') ADVANCE(245); END_STATE(); - default: + case 234: + if (lookahead == 'a') ADVANCE(246); + END_STATE(); + case 235: + if (lookahead == 'e') ADVANCE(247); + END_STATE(); + case 236: + if (lookahead == 'e') ADVANCE(248); + END_STATE(); + case 237: + if (lookahead == 't') ADVANCE(249); + END_STATE(); + case 238: + if (lookahead == 'e') ADVANCE(250); + END_STATE(); + case 239: + ACCEPT_TOKEN(anon_sym_ensures); + END_STATE(); + case 240: + if (lookahead == 'l') ADVANCE(251); + END_STATE(); + case 241: + ACCEPT_TOKEN(anon_sym_indexed); + END_STATE(); + case 242: + if (lookahead == 'n') ADVANCE(252); + END_STATE(); + case 243: + if (lookahead == 's') ADVANCE(253); + END_STATE(); + case 244: + ACCEPT_TOKEN(anon_sym_storage); + END_STATE(); + case 245: + ACCEPT_TOKEN(anon_sym_bitfield); + END_STATE(); + case 246: + ACCEPT_TOKEN(anon_sym_calldata); + END_STATE(); + case 247: + ACCEPT_TOKEN(anon_sym_comptime); + END_STATE(); + case 248: + ACCEPT_TOKEN(anon_sym_continue); + END_STATE(); + case 249: + ACCEPT_TOKEN(anon_sym_contract); + END_STATE(); + case 250: + if (lookahead == 's') ADVANCE(254); + END_STATE(); + case 251: + if (lookahead == 'e') ADVANCE(255); + END_STATE(); + case 252: + if (lookahead == 't') ADVANCE(256); + END_STATE(); + case 253: + ACCEPT_TOKEN(anon_sym_requires); + END_STATE(); + case 254: + ACCEPT_TOKEN(anon_sym_decreases); + END_STATE(); + case 255: + ACCEPT_TOKEN(anon_sym_immutable); + END_STATE(); + case 256: + ACCEPT_TOKEN(anon_sym_invariant); + END_STATE(); + default: return false; } } @@ -3864,634 +4627,1025 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, [1] = {.lex_state = 19}, - [2] = {.lex_state = 19}, - [3] = {.lex_state = 19}, - [4] = {.lex_state = 19}, - [5] = {.lex_state = 19}, - [6] = {.lex_state = 19}, - [7] = {.lex_state = 19}, - [8] = {.lex_state = 19}, - [9] = {.lex_state = 19}, - [10] = {.lex_state = 19}, - [11] = {.lex_state = 19}, - [12] = {.lex_state = 19}, - [13] = {.lex_state = 19}, - [14] = {.lex_state = 19}, - [15] = {.lex_state = 19}, - [16] = {.lex_state = 19}, - [17] = {.lex_state = 19}, + [2] = {.lex_state = 1}, + [3] = {.lex_state = 1}, + [4] = {.lex_state = 1}, + [5] = {.lex_state = 1}, + [6] = {.lex_state = 1}, + [7] = {.lex_state = 1}, + [8] = {.lex_state = 1}, + [9] = {.lex_state = 1}, + [10] = {.lex_state = 1}, + [11] = {.lex_state = 1}, + [12] = {.lex_state = 1}, + [13] = {.lex_state = 1}, + [14] = {.lex_state = 1}, + [15] = {.lex_state = 1}, + [16] = {.lex_state = 1}, + [17] = {.lex_state = 1}, [18] = {.lex_state = 1}, - [19] = {.lex_state = 19}, + [19] = {.lex_state = 1}, [20] = {.lex_state = 19}, [21] = {.lex_state = 19}, - [22] = {.lex_state = 19}, - [23] = {.lex_state = 19}, - [24] = {.lex_state = 19}, - [25] = {.lex_state = 19}, - [26] = {.lex_state = 19}, - [27] = {.lex_state = 19}, - [28] = {.lex_state = 19}, - [29] = {.lex_state = 19}, - [30] = {.lex_state = 19}, - [31] = {.lex_state = 19}, - [32] = {.lex_state = 19}, - [33] = {.lex_state = 19}, - [34] = {.lex_state = 19}, - [35] = {.lex_state = 19}, - [36] = {.lex_state = 19}, - [37] = {.lex_state = 19}, - [38] = {.lex_state = 19}, - [39] = {.lex_state = 19}, - [40] = {.lex_state = 19}, - [41] = {.lex_state = 19}, - [42] = {.lex_state = 19}, - [43] = {.lex_state = 19}, - [44] = {.lex_state = 19}, - [45] = {.lex_state = 19}, - [46] = {.lex_state = 19}, - [47] = {.lex_state = 19}, - [48] = {.lex_state = 19}, - [49] = {.lex_state = 19}, - [50] = {.lex_state = 19}, - [51] = {.lex_state = 19}, - [52] = {.lex_state = 19}, - [53] = {.lex_state = 19}, - [54] = {.lex_state = 19}, - [55] = {.lex_state = 19}, - [56] = {.lex_state = 19}, - [57] = {.lex_state = 19}, - [58] = {.lex_state = 19}, - [59] = {.lex_state = 19}, - [60] = {.lex_state = 19}, - [61] = {.lex_state = 19}, - [62] = {.lex_state = 19}, - [63] = {.lex_state = 19}, - [64] = {.lex_state = 19}, - [65] = {.lex_state = 19}, - [66] = {.lex_state = 19}, - [67] = {.lex_state = 19}, - [68] = {.lex_state = 19}, - [69] = {.lex_state = 19}, - [70] = {.lex_state = 19}, - [71] = {.lex_state = 19}, - [72] = {.lex_state = 19}, - [73] = {.lex_state = 19}, - [74] = {.lex_state = 19}, - [75] = {.lex_state = 19}, - [76] = {.lex_state = 19}, - [77] = {.lex_state = 19}, - [78] = {.lex_state = 19}, - [79] = {.lex_state = 19}, - [80] = {.lex_state = 19}, - [81] = {.lex_state = 19}, - [82] = {.lex_state = 19}, - [83] = {.lex_state = 19}, - [84] = {.lex_state = 19}, - [85] = {.lex_state = 19}, - [86] = {.lex_state = 19}, - [87] = {.lex_state = 19}, - [88] = {.lex_state = 19}, - [89] = {.lex_state = 19}, - [90] = {.lex_state = 19}, - [91] = {.lex_state = 19}, - [92] = {.lex_state = 19}, - [93] = {.lex_state = 19}, - [94] = {.lex_state = 19}, - [95] = {.lex_state = 19}, - [96] = {.lex_state = 19}, - [97] = {.lex_state = 19}, - [98] = {.lex_state = 19}, - [99] = {.lex_state = 19}, - [100] = {.lex_state = 19}, - [101] = {.lex_state = 19}, - [102] = {.lex_state = 19}, - [103] = {.lex_state = 19}, - [104] = {.lex_state = 19}, - [105] = {.lex_state = 19}, - [106] = {.lex_state = 19}, - [107] = {.lex_state = 19}, - [108] = {.lex_state = 19}, - [109] = {.lex_state = 19}, - [110] = {.lex_state = 19}, - [111] = {.lex_state = 19}, - [112] = {.lex_state = 19}, - [113] = {.lex_state = 19}, - [114] = {.lex_state = 19}, - [115] = {.lex_state = 19}, - [116] = {.lex_state = 19}, - [117] = {.lex_state = 19}, - [118] = {.lex_state = 19}, - [119] = {.lex_state = 19}, - [120] = {.lex_state = 19}, - [121] = {.lex_state = 19}, - [122] = {.lex_state = 19}, - [123] = {.lex_state = 19}, - [124] = {.lex_state = 19}, - [125] = {.lex_state = 19}, - [126] = {.lex_state = 19}, - [127] = {.lex_state = 19}, - [128] = {.lex_state = 19}, - [129] = {.lex_state = 19}, - [130] = {.lex_state = 19}, - [131] = {.lex_state = 19}, - [132] = {.lex_state = 19}, - [133] = {.lex_state = 19}, - [134] = {.lex_state = 19}, - [135] = {.lex_state = 19}, - [136] = {.lex_state = 19}, - [137] = {.lex_state = 19}, - [138] = {.lex_state = 19}, - [139] = {.lex_state = 19}, - [140] = {.lex_state = 19}, - [141] = {.lex_state = 19}, - [142] = {.lex_state = 19}, - [143] = {.lex_state = 19}, - [144] = {.lex_state = 19}, - [145] = {.lex_state = 19}, - [146] = {.lex_state = 19}, - [147] = {.lex_state = 19}, - [148] = {.lex_state = 19}, - [149] = {.lex_state = 19}, - [150] = {.lex_state = 19}, - [151] = {.lex_state = 19}, - [152] = {.lex_state = 19}, - [153] = {.lex_state = 19}, - [154] = {.lex_state = 19}, - [155] = {.lex_state = 19}, - [156] = {.lex_state = 19}, - [157] = {.lex_state = 19}, - [158] = {.lex_state = 19}, - [159] = {.lex_state = 19}, - [160] = {.lex_state = 19}, - [161] = {.lex_state = 19}, - [162] = {.lex_state = 19}, - [163] = {.lex_state = 19}, - [164] = {.lex_state = 19}, - [165] = {.lex_state = 19}, - [166] = {.lex_state = 19}, - [167] = {.lex_state = 19}, - [168] = {.lex_state = 19}, - [169] = {.lex_state = 19}, - [170] = {.lex_state = 19}, - [171] = {.lex_state = 19}, - [172] = {.lex_state = 19}, - [173] = {.lex_state = 19}, - [174] = {.lex_state = 19}, - [175] = {.lex_state = 19}, - [176] = {.lex_state = 19}, - [177] = {.lex_state = 19}, - [178] = {.lex_state = 19}, - [179] = {.lex_state = 19}, - [180] = {.lex_state = 19}, - [181] = {.lex_state = 19}, - [182] = {.lex_state = 19}, - [183] = {.lex_state = 19}, - [184] = {.lex_state = 19}, - [185] = {.lex_state = 19}, - [186] = {.lex_state = 19}, - [187] = {.lex_state = 19}, - [188] = {.lex_state = 19}, - [189] = {.lex_state = 19}, - [190] = {.lex_state = 19}, - [191] = {.lex_state = 19}, - [192] = {.lex_state = 19}, - [193] = {.lex_state = 19}, - [194] = {.lex_state = 19}, - [195] = {.lex_state = 19}, - [196] = {.lex_state = 19}, - [197] = {.lex_state = 2}, - [198] = {.lex_state = 2}, - [199] = {.lex_state = 0}, - [200] = {.lex_state = 19}, - [201] = {.lex_state = 0}, - [202] = {.lex_state = 19}, - [203] = {.lex_state = 19}, - [204] = {.lex_state = 19}, - [205] = {.lex_state = 19}, - [206] = {.lex_state = 19}, - [207] = {.lex_state = 0}, - [208] = {.lex_state = 0}, - [209] = {.lex_state = 0}, - [210] = {.lex_state = 0}, - [211] = {.lex_state = 0}, - [212] = {.lex_state = 0}, - [213] = {.lex_state = 0}, - [214] = {.lex_state = 0}, - [215] = {.lex_state = 0}, - [216] = {.lex_state = 0}, - [217] = {.lex_state = 0}, - [218] = {.lex_state = 0}, - [219] = {.lex_state = 0}, - [220] = {.lex_state = 0}, - [221] = {.lex_state = 0}, - [222] = {.lex_state = 0}, - [223] = {.lex_state = 0}, - [224] = {.lex_state = 0}, - [225] = {.lex_state = 0}, - [226] = {.lex_state = 0}, - [227] = {.lex_state = 0}, - [228] = {.lex_state = 19}, - [229] = {.lex_state = 0}, - [230] = {.lex_state = 19}, - [231] = {.lex_state = 19}, - [232] = {.lex_state = 19}, - [233] = {.lex_state = 19}, - [234] = {.lex_state = 19}, - [235] = {.lex_state = 19}, - [236] = {.lex_state = 19}, - [237] = {.lex_state = 19}, - [238] = {.lex_state = 0}, - [239] = {.lex_state = 19}, - [240] = {.lex_state = 19}, - [241] = {.lex_state = 19}, - [242] = {.lex_state = 19}, - [243] = {.lex_state = 19}, - [244] = {.lex_state = 19}, - [245] = {.lex_state = 19}, - [246] = {.lex_state = 19}, - [247] = {.lex_state = 19}, - [248] = {.lex_state = 19}, - [249] = {.lex_state = 19}, - [250] = {.lex_state = 19}, - [251] = {.lex_state = 19}, - [252] = {.lex_state = 19}, - [253] = {.lex_state = 19}, - [254] = {.lex_state = 19}, - [255] = {.lex_state = 19}, - [256] = {.lex_state = 19}, - [257] = {.lex_state = 19}, - [258] = {.lex_state = 19}, - [259] = {.lex_state = 19}, - [260] = {.lex_state = 19}, - [261] = {.lex_state = 19}, - [262] = {.lex_state = 19}, - [263] = {.lex_state = 19}, - [264] = {.lex_state = 19}, - [265] = {.lex_state = 19}, - [266] = {.lex_state = 19}, - [267] = {.lex_state = 19}, - [268] = {.lex_state = 19}, - [269] = {.lex_state = 19}, - [270] = {.lex_state = 19}, - [271] = {.lex_state = 19}, - [272] = {.lex_state = 19}, - [273] = {.lex_state = 19}, - [274] = {.lex_state = 19}, - [275] = {.lex_state = 19}, - [276] = {.lex_state = 19}, - [277] = {.lex_state = 19}, - [278] = {.lex_state = 19}, - [279] = {.lex_state = 19}, - [280] = {.lex_state = 19}, - [281] = {.lex_state = 19}, - [282] = {.lex_state = 19}, - [283] = {.lex_state = 19}, - [284] = {.lex_state = 19}, - [285] = {.lex_state = 19}, - [286] = {.lex_state = 19}, - [287] = {.lex_state = 19}, - [288] = {.lex_state = 19}, - [289] = {.lex_state = 19}, - [290] = {.lex_state = 19}, - [291] = {.lex_state = 19}, - [292] = {.lex_state = 19}, - [293] = {.lex_state = 19}, - [294] = {.lex_state = 19}, - [295] = {.lex_state = 19}, - [296] = {.lex_state = 19}, - [297] = {.lex_state = 19}, - [298] = {.lex_state = 19}, - [299] = {.lex_state = 19}, - [300] = {.lex_state = 19}, - [301] = {.lex_state = 19}, - [302] = {.lex_state = 19}, - [303] = {.lex_state = 19}, - [304] = {.lex_state = 19}, - [305] = {.lex_state = 19}, - [306] = {.lex_state = 19}, - [307] = {.lex_state = 19}, - [308] = {.lex_state = 19}, - [309] = {.lex_state = 19}, - [310] = {.lex_state = 19}, - [311] = {.lex_state = 19}, - [312] = {.lex_state = 19}, - [313] = {.lex_state = 19}, - [314] = {.lex_state = 19}, - [315] = {.lex_state = 19}, - [316] = {.lex_state = 19}, - [317] = {.lex_state = 19}, - [318] = {.lex_state = 19}, - [319] = {.lex_state = 19}, - [320] = {.lex_state = 19}, - [321] = {.lex_state = 19}, - [322] = {.lex_state = 19}, - [323] = {.lex_state = 19}, + [22] = {.lex_state = 1}, + [23] = {.lex_state = 1}, + [24] = {.lex_state = 1}, + [25] = {.lex_state = 1}, + [26] = {.lex_state = 1}, + [27] = {.lex_state = 1}, + [28] = {.lex_state = 1}, + [29] = {.lex_state = 1}, + [30] = {.lex_state = 1}, + [31] = {.lex_state = 1}, + [32] = {.lex_state = 1}, + [33] = {.lex_state = 1}, + [34] = {.lex_state = 1}, + [35] = {.lex_state = 1}, + [36] = {.lex_state = 1}, + [37] = {.lex_state = 1}, + [38] = {.lex_state = 1}, + [39] = {.lex_state = 1}, + [40] = {.lex_state = 1}, + [41] = {.lex_state = 1}, + [42] = {.lex_state = 1}, + [43] = {.lex_state = 1}, + [44] = {.lex_state = 1}, + [45] = {.lex_state = 1}, + [46] = {.lex_state = 1}, + [47] = {.lex_state = 1}, + [48] = {.lex_state = 1}, + [49] = {.lex_state = 1}, + [50] = {.lex_state = 1}, + [51] = {.lex_state = 1}, + [52] = {.lex_state = 1}, + [53] = {.lex_state = 1}, + [54] = {.lex_state = 1}, + [55] = {.lex_state = 1}, + [56] = {.lex_state = 1}, + [57] = {.lex_state = 1}, + [58] = {.lex_state = 1}, + [59] = {.lex_state = 1}, + [60] = {.lex_state = 1}, + [61] = {.lex_state = 1}, + [62] = {.lex_state = 1}, + [63] = {.lex_state = 1}, + [64] = {.lex_state = 1}, + [65] = {.lex_state = 1}, + [66] = {.lex_state = 1}, + [67] = {.lex_state = 1}, + [68] = {.lex_state = 1}, + [69] = {.lex_state = 1}, + [70] = {.lex_state = 1}, + [71] = {.lex_state = 1}, + [72] = {.lex_state = 1}, + [73] = {.lex_state = 1}, + [74] = {.lex_state = 1}, + [75] = {.lex_state = 1}, + [76] = {.lex_state = 1}, + [77] = {.lex_state = 1}, + [78] = {.lex_state = 1}, + [79] = {.lex_state = 1}, + [80] = {.lex_state = 1}, + [81] = {.lex_state = 1}, + [82] = {.lex_state = 1}, + [83] = {.lex_state = 1}, + [84] = {.lex_state = 1}, + [85] = {.lex_state = 1}, + [86] = {.lex_state = 1}, + [87] = {.lex_state = 1}, + [88] = {.lex_state = 1}, + [89] = {.lex_state = 1}, + [90] = {.lex_state = 1}, + [91] = {.lex_state = 1}, + [92] = {.lex_state = 1}, + [93] = {.lex_state = 1}, + [94] = {.lex_state = 1}, + [95] = {.lex_state = 1}, + [96] = {.lex_state = 1}, + [97] = {.lex_state = 1}, + [98] = {.lex_state = 1}, + [99] = {.lex_state = 1}, + [100] = {.lex_state = 1}, + [101] = {.lex_state = 1}, + [102] = {.lex_state = 1}, + [103] = {.lex_state = 1}, + [104] = {.lex_state = 1}, + [105] = {.lex_state = 1}, + [106] = {.lex_state = 1}, + [107] = {.lex_state = 1}, + [108] = {.lex_state = 1}, + [109] = {.lex_state = 1}, + [110] = {.lex_state = 1}, + [111] = {.lex_state = 1}, + [112] = {.lex_state = 1}, + [113] = {.lex_state = 1}, + [114] = {.lex_state = 1}, + [115] = {.lex_state = 1}, + [116] = {.lex_state = 1}, + [117] = {.lex_state = 1}, + [118] = {.lex_state = 1}, + [119] = {.lex_state = 1}, + [120] = {.lex_state = 1}, + [121] = {.lex_state = 1}, + [122] = {.lex_state = 1}, + [123] = {.lex_state = 1}, + [124] = {.lex_state = 1}, + [125] = {.lex_state = 1}, + [126] = {.lex_state = 1}, + [127] = {.lex_state = 1}, + [128] = {.lex_state = 1}, + [129] = {.lex_state = 1}, + [130] = {.lex_state = 1}, + [131] = {.lex_state = 1}, + [132] = {.lex_state = 1}, + [133] = {.lex_state = 1}, + [134] = {.lex_state = 1}, + [135] = {.lex_state = 1}, + [136] = {.lex_state = 1}, + [137] = {.lex_state = 1}, + [138] = {.lex_state = 1}, + [139] = {.lex_state = 1}, + [140] = {.lex_state = 1}, + [141] = {.lex_state = 1}, + [142] = {.lex_state = 1}, + [143] = {.lex_state = 1}, + [144] = {.lex_state = 1}, + [145] = {.lex_state = 1}, + [146] = {.lex_state = 1}, + [147] = {.lex_state = 1}, + [148] = {.lex_state = 1}, + [149] = {.lex_state = 1}, + [150] = {.lex_state = 1}, + [151] = {.lex_state = 1}, + [152] = {.lex_state = 1}, + [153] = {.lex_state = 1}, + [154] = {.lex_state = 1}, + [155] = {.lex_state = 1}, + [156] = {.lex_state = 1}, + [157] = {.lex_state = 1}, + [158] = {.lex_state = 1}, + [159] = {.lex_state = 1}, + [160] = {.lex_state = 1}, + [161] = {.lex_state = 1}, + [162] = {.lex_state = 1}, + [163] = {.lex_state = 1}, + [164] = {.lex_state = 1}, + [165] = {.lex_state = 1}, + [166] = {.lex_state = 1}, + [167] = {.lex_state = 1}, + [168] = {.lex_state = 1}, + [169] = {.lex_state = 1}, + [170] = {.lex_state = 1}, + [171] = {.lex_state = 1}, + [172] = {.lex_state = 1}, + [173] = {.lex_state = 1}, + [174] = {.lex_state = 1}, + [175] = {.lex_state = 1}, + [176] = {.lex_state = 1}, + [177] = {.lex_state = 1}, + [178] = {.lex_state = 1}, + [179] = {.lex_state = 1}, + [180] = {.lex_state = 1}, + [181] = {.lex_state = 1}, + [182] = {.lex_state = 1}, + [183] = {.lex_state = 1}, + [184] = {.lex_state = 1}, + [185] = {.lex_state = 1}, + [186] = {.lex_state = 1}, + [187] = {.lex_state = 1}, + [188] = {.lex_state = 1}, + [189] = {.lex_state = 1}, + [190] = {.lex_state = 1}, + [191] = {.lex_state = 1}, + [192] = {.lex_state = 1}, + [193] = {.lex_state = 1}, + [194] = {.lex_state = 1}, + [195] = {.lex_state = 1}, + [196] = {.lex_state = 1}, + [197] = {.lex_state = 1}, + [198] = {.lex_state = 1}, + [199] = {.lex_state = 1}, + [200] = {.lex_state = 1}, + [201] = {.lex_state = 1}, + [202] = {.lex_state = 1}, + [203] = {.lex_state = 1}, + [204] = {.lex_state = 1}, + [205] = {.lex_state = 1}, + [206] = {.lex_state = 1}, + [207] = {.lex_state = 1}, + [208] = {.lex_state = 1}, + [209] = {.lex_state = 1}, + [210] = {.lex_state = 1}, + [211] = {.lex_state = 1}, + [212] = {.lex_state = 1}, + [213] = {.lex_state = 1}, + [214] = {.lex_state = 1}, + [215] = {.lex_state = 1}, + [216] = {.lex_state = 1}, + [217] = {.lex_state = 1}, + [218] = {.lex_state = 1}, + [219] = {.lex_state = 1}, + [220] = {.lex_state = 1}, + [221] = {.lex_state = 1}, + [222] = {.lex_state = 1}, + [223] = {.lex_state = 1}, + [224] = {.lex_state = 1}, + [225] = {.lex_state = 1}, + [226] = {.lex_state = 1}, + [227] = {.lex_state = 1}, + [228] = {.lex_state = 1}, + [229] = {.lex_state = 1}, + [230] = {.lex_state = 1}, + [231] = {.lex_state = 1}, + [232] = {.lex_state = 1}, + [233] = {.lex_state = 1}, + [234] = {.lex_state = 1}, + [235] = {.lex_state = 1}, + [236] = {.lex_state = 1}, + [237] = {.lex_state = 1}, + [238] = {.lex_state = 1}, + [239] = {.lex_state = 1}, + [240] = {.lex_state = 1}, + [241] = {.lex_state = 1}, + [242] = {.lex_state = 1}, + [243] = {.lex_state = 1}, + [244] = {.lex_state = 1}, + [245] = {.lex_state = 1}, + [246] = {.lex_state = 1}, + [247] = {.lex_state = 1}, + [248] = {.lex_state = 1}, + [249] = {.lex_state = 1}, + [250] = {.lex_state = 1}, + [251] = {.lex_state = 1}, + [252] = {.lex_state = 1}, + [253] = {.lex_state = 1}, + [254] = {.lex_state = 1}, + [255] = {.lex_state = 1}, + [256] = {.lex_state = 1}, + [257] = {.lex_state = 1}, + [258] = {.lex_state = 1}, + [259] = {.lex_state = 1}, + [260] = {.lex_state = 1}, + [261] = {.lex_state = 1}, + [262] = {.lex_state = 1}, + [263] = {.lex_state = 1}, + [264] = {.lex_state = 1}, + [265] = {.lex_state = 1}, + [266] = {.lex_state = 1}, + [267] = {.lex_state = 1}, + [268] = {.lex_state = 1}, + [269] = {.lex_state = 1}, + [270] = {.lex_state = 1}, + [271] = {.lex_state = 1}, + [272] = {.lex_state = 1}, + [273] = {.lex_state = 1}, + [274] = {.lex_state = 1}, + [275] = {.lex_state = 1}, + [276] = {.lex_state = 1}, + [277] = {.lex_state = 1}, + [278] = {.lex_state = 1}, + [279] = {.lex_state = 1}, + [280] = {.lex_state = 1}, + [281] = {.lex_state = 1}, + [282] = {.lex_state = 1}, + [283] = {.lex_state = 1}, + [284] = {.lex_state = 1}, + [285] = {.lex_state = 1}, + [286] = {.lex_state = 1}, + [287] = {.lex_state = 1}, + [288] = {.lex_state = 1}, + [289] = {.lex_state = 1}, + [290] = {.lex_state = 1}, + [291] = {.lex_state = 1}, + [292] = {.lex_state = 1}, + [293] = {.lex_state = 1}, + [294] = {.lex_state = 1}, + [295] = {.lex_state = 1}, + [296] = {.lex_state = 1}, + [297] = {.lex_state = 1}, + [298] = {.lex_state = 1}, + [299] = {.lex_state = 1}, + [300] = {.lex_state = 1}, + [301] = {.lex_state = 1}, + [302] = {.lex_state = 1}, + [303] = {.lex_state = 1}, + [304] = {.lex_state = 1}, + [305] = {.lex_state = 1}, + [306] = {.lex_state = 1}, + [307] = {.lex_state = 1}, + [308] = {.lex_state = 1}, + [309] = {.lex_state = 1}, + [310] = {.lex_state = 1}, + [311] = {.lex_state = 1}, + [312] = {.lex_state = 1}, + [313] = {.lex_state = 1}, + [314] = {.lex_state = 1}, + [315] = {.lex_state = 1}, + [316] = {.lex_state = 1}, + [317] = {.lex_state = 1}, + [318] = {.lex_state = 1}, + [319] = {.lex_state = 1}, + [320] = {.lex_state = 1}, + [321] = {.lex_state = 1}, + [322] = {.lex_state = 1}, + [323] = {.lex_state = 1}, [324] = {.lex_state = 19}, - [325] = {.lex_state = 19}, + [325] = {.lex_state = 2}, [326] = {.lex_state = 19}, [327] = {.lex_state = 19}, [328] = {.lex_state = 19}, [329] = {.lex_state = 19}, - [330] = {.lex_state = 19}, - [331] = {.lex_state = 19}, + [330] = {.lex_state = 3}, + [331] = {.lex_state = 3}, [332] = {.lex_state = 19}, [333] = {.lex_state = 19}, [334] = {.lex_state = 19}, [335] = {.lex_state = 19}, [336] = {.lex_state = 19}, [337] = {.lex_state = 19}, - [338] = {.lex_state = 0}, - [339] = {.lex_state = 2}, - [340] = {.lex_state = 2}, - [341] = {.lex_state = 2}, - [342] = {.lex_state = 2}, - [343] = {.lex_state = 2}, - [344] = {.lex_state = 2}, - [345] = {.lex_state = 2}, - [346] = {.lex_state = 2}, - [347] = {.lex_state = 2}, - [348] = {.lex_state = 2}, - [349] = {.lex_state = 2}, - [350] = {.lex_state = 2}, - [351] = {.lex_state = 2}, - [352] = {.lex_state = 2}, - [353] = {.lex_state = 2}, - [354] = {.lex_state = 0}, - [355] = {.lex_state = 2}, + [338] = {.lex_state = 19}, + [339] = {.lex_state = 19}, + [340] = {.lex_state = 19}, + [341] = {.lex_state = 19}, + [342] = {.lex_state = 19}, + [343] = {.lex_state = 19}, + [344] = {.lex_state = 19}, + [345] = {.lex_state = 19}, + [346] = {.lex_state = 19}, + [347] = {.lex_state = 19}, + [348] = {.lex_state = 19}, + [349] = {.lex_state = 19}, + [350] = {.lex_state = 19}, + [351] = {.lex_state = 19}, + [352] = {.lex_state = 19}, + [353] = {.lex_state = 19}, + [354] = {.lex_state = 19}, + [355] = {.lex_state = 19}, [356] = {.lex_state = 19}, - [357] = {.lex_state = 2}, + [357] = {.lex_state = 19}, [358] = {.lex_state = 19}, [359] = {.lex_state = 19}, - [360] = {.lex_state = 2}, - [361] = {.lex_state = 2}, + [360] = {.lex_state = 19}, + [361] = {.lex_state = 19}, [362] = {.lex_state = 19}, - [363] = {.lex_state = 2}, + [363] = {.lex_state = 19}, [364] = {.lex_state = 19}, [365] = {.lex_state = 19}, - [366] = {.lex_state = 0}, - [367] = {.lex_state = 0}, - [368] = {.lex_state = 0}, - [369] = {.lex_state = 0}, - [370] = {.lex_state = 0}, - [371] = {.lex_state = 0}, - [372] = {.lex_state = 0}, - [373] = {.lex_state = 0}, - [374] = {.lex_state = 0}, - [375] = {.lex_state = 0}, - [376] = {.lex_state = 0}, - [377] = {.lex_state = 0}, - [378] = {.lex_state = 0}, - [379] = {.lex_state = 0}, - [380] = {.lex_state = 0}, - [381] = {.lex_state = 0}, - [382] = {.lex_state = 2}, - [383] = {.lex_state = 0}, - [384] = {.lex_state = 0}, - [385] = {.lex_state = 0}, - [386] = {.lex_state = 0}, - [387] = {.lex_state = 0}, - [388] = {.lex_state = 0}, - [389] = {.lex_state = 0}, - [390] = {.lex_state = 0}, - [391] = {.lex_state = 0}, - [392] = {.lex_state = 0}, - [393] = {.lex_state = 0}, - [394] = {.lex_state = 0}, - [395] = {.lex_state = 0}, - [396] = {.lex_state = 0}, - [397] = {.lex_state = 0}, - [398] = {.lex_state = 0}, + [366] = {.lex_state = 19}, + [367] = {.lex_state = 19}, + [368] = {.lex_state = 19}, + [369] = {.lex_state = 19}, + [370] = {.lex_state = 19}, + [371] = {.lex_state = 19}, + [372] = {.lex_state = 19}, + [373] = {.lex_state = 19}, + [374] = {.lex_state = 19}, + [375] = {.lex_state = 19}, + [376] = {.lex_state = 19}, + [377] = {.lex_state = 19}, + [378] = {.lex_state = 19}, + [379] = {.lex_state = 19}, + [380] = {.lex_state = 19}, + [381] = {.lex_state = 19}, + [382] = {.lex_state = 19}, + [383] = {.lex_state = 19}, + [384] = {.lex_state = 19}, + [385] = {.lex_state = 19}, + [386] = {.lex_state = 19}, + [387] = {.lex_state = 19}, + [388] = {.lex_state = 19}, + [389] = {.lex_state = 19}, + [390] = {.lex_state = 19}, + [391] = {.lex_state = 2}, + [392] = {.lex_state = 2}, + [393] = {.lex_state = 2}, + [394] = {.lex_state = 2}, + [395] = {.lex_state = 2}, + [396] = {.lex_state = 19}, + [397] = {.lex_state = 19}, + [398] = {.lex_state = 19}, [399] = {.lex_state = 19}, - [400] = {.lex_state = 0}, - [401] = {.lex_state = 0}, - [402] = {.lex_state = 0}, - [403] = {.lex_state = 0}, - [404] = {.lex_state = 0}, - [405] = {.lex_state = 0}, - [406] = {.lex_state = 0}, - [407] = {.lex_state = 0}, - [408] = {.lex_state = 0}, - [409] = {.lex_state = 0}, - [410] = {.lex_state = 0}, - [411] = {.lex_state = 0}, - [412] = {.lex_state = 0}, - [413] = {.lex_state = 0}, - [414] = {.lex_state = 0}, - [415] = {.lex_state = 0}, - [416] = {.lex_state = 0}, - [417] = {.lex_state = 0}, - [418] = {.lex_state = 0}, - [419] = {.lex_state = 0}, - [420] = {.lex_state = 0}, - [421] = {.lex_state = 19}, - [422] = {.lex_state = 0}, - [423] = {.lex_state = 0}, - [424] = {.lex_state = 0}, - [425] = {.lex_state = 0}, - [426] = {.lex_state = 0}, + [400] = {.lex_state = 19}, + [401] = {.lex_state = 2}, + [402] = {.lex_state = 19}, + [403] = {.lex_state = 2}, + [404] = {.lex_state = 2}, + [405] = {.lex_state = 2}, + [406] = {.lex_state = 2}, + [407] = {.lex_state = 2}, + [408] = {.lex_state = 2}, + [409] = {.lex_state = 2}, + [410] = {.lex_state = 2}, + [411] = {.lex_state = 2}, + [412] = {.lex_state = 2}, + [413] = {.lex_state = 2}, + [414] = {.lex_state = 2}, + [415] = {.lex_state = 19}, + [416] = {.lex_state = 2}, + [417] = {.lex_state = 2}, + [418] = {.lex_state = 2}, + [419] = {.lex_state = 2}, + [420] = {.lex_state = 2}, + [421] = {.lex_state = 2}, + [422] = {.lex_state = 2}, + [423] = {.lex_state = 19}, + [424] = {.lex_state = 2}, + [425] = {.lex_state = 2}, + [426] = {.lex_state = 2}, [427] = {.lex_state = 2}, - [428] = {.lex_state = 0}, - [429] = {.lex_state = 0}, - [430] = {.lex_state = 0}, - [431] = {.lex_state = 0}, - [432] = {.lex_state = 0}, - [433] = {.lex_state = 0}, - [434] = {.lex_state = 0}, - [435] = {.lex_state = 2}, - [436] = {.lex_state = 0}, - [437] = {.lex_state = 2}, - [438] = {.lex_state = 0}, - [439] = {.lex_state = 0}, - [440] = {.lex_state = 0}, - [441] = {.lex_state = 0}, - [442] = {.lex_state = 0}, - [443] = {.lex_state = 0}, - [444] = {.lex_state = 0}, - [445] = {.lex_state = 0}, - [446] = {.lex_state = 0}, - [447] = {.lex_state = 0}, - [448] = {.lex_state = 0}, - [449] = {.lex_state = 0}, - [450] = {.lex_state = 0}, - [451] = {.lex_state = 0}, - [452] = {.lex_state = 0}, - [453] = {.lex_state = 0}, - [454] = {.lex_state = 0}, - [455] = {.lex_state = 0}, - [456] = {.lex_state = 0}, - [457] = {.lex_state = 0}, - [458] = {.lex_state = 0}, - [459] = {.lex_state = 0}, - [460] = {.lex_state = 0}, - [461] = {.lex_state = 0}, - [462] = {.lex_state = 0}, - [463] = {.lex_state = 0}, - [464] = {.lex_state = 0}, - [465] = {.lex_state = 0}, - [466] = {.lex_state = 0}, - [467] = {.lex_state = 0}, - [468] = {.lex_state = 0}, - [469] = {.lex_state = 0}, - [470] = {.lex_state = 0}, - [471] = {.lex_state = 0}, - [472] = {.lex_state = 0}, - [473] = {.lex_state = 0}, - [474] = {.lex_state = 0}, - [475] = {.lex_state = 0}, - [476] = {.lex_state = 0}, - [477] = {.lex_state = 0}, - [478] = {.lex_state = 0}, - [479] = {.lex_state = 2}, - [480] = {.lex_state = 0}, - [481] = {.lex_state = 2}, - [482] = {.lex_state = 0}, - [483] = {.lex_state = 0}, - [484] = {.lex_state = 0}, - [485] = {.lex_state = 0}, - [486] = {.lex_state = 0}, - [487] = {.lex_state = 0}, - [488] = {.lex_state = 0}, - [489] = {.lex_state = 0}, + [428] = {.lex_state = 19}, + [429] = {.lex_state = 2}, + [430] = {.lex_state = 2}, + [431] = {.lex_state = 2}, + [432] = {.lex_state = 2}, + [433] = {.lex_state = 2}, + [434] = {.lex_state = 19}, + [435] = {.lex_state = 19}, + [436] = {.lex_state = 19}, + [437] = {.lex_state = 19}, + [438] = {.lex_state = 19}, + [439] = {.lex_state = 19}, + [440] = {.lex_state = 19}, + [441] = {.lex_state = 19}, + [442] = {.lex_state = 19}, + [443] = {.lex_state = 19}, + [444] = {.lex_state = 19}, + [445] = {.lex_state = 19}, + [446] = {.lex_state = 19}, + [447] = {.lex_state = 19}, + [448] = {.lex_state = 19}, + [449] = {.lex_state = 19}, + [450] = {.lex_state = 19}, + [451] = {.lex_state = 19}, + [452] = {.lex_state = 19}, + [453] = {.lex_state = 19}, + [454] = {.lex_state = 19}, + [455] = {.lex_state = 19}, + [456] = {.lex_state = 19}, + [457] = {.lex_state = 19}, + [458] = {.lex_state = 19}, + [459] = {.lex_state = 19}, + [460] = {.lex_state = 19}, + [461] = {.lex_state = 19}, + [462] = {.lex_state = 19}, + [463] = {.lex_state = 2}, + [464] = {.lex_state = 2}, + [465] = {.lex_state = 2}, + [466] = {.lex_state = 2}, + [467] = {.lex_state = 2}, + [468] = {.lex_state = 2}, + [469] = {.lex_state = 2}, + [470] = {.lex_state = 2}, + [471] = {.lex_state = 2}, + [472] = {.lex_state = 2}, + [473] = {.lex_state = 2}, + [474] = {.lex_state = 2}, + [475] = {.lex_state = 2}, + [476] = {.lex_state = 2}, + [477] = {.lex_state = 2}, + [478] = {.lex_state = 19}, + [479] = {.lex_state = 19}, + [480] = {.lex_state = 19}, + [481] = {.lex_state = 19}, + [482] = {.lex_state = 2}, + [483] = {.lex_state = 19}, + [484] = {.lex_state = 2}, + [485] = {.lex_state = 2}, + [486] = {.lex_state = 2}, + [487] = {.lex_state = 2}, + [488] = {.lex_state = 2}, + [489] = {.lex_state = 2}, [490] = {.lex_state = 2}, - [491] = {.lex_state = 0}, - [492] = {.lex_state = 0}, - [493] = {.lex_state = 0}, - [494] = {.lex_state = 0}, - [495] = {.lex_state = 0}, - [496] = {.lex_state = 0}, - [497] = {.lex_state = 0}, - [498] = {.lex_state = 0}, - [499] = {.lex_state = 0}, - [500] = {.lex_state = 0}, - [501] = {.lex_state = 0}, - [502] = {.lex_state = 0}, - [503] = {.lex_state = 0}, - [504] = {.lex_state = 0}, - [505] = {.lex_state = 0}, - [506] = {.lex_state = 0}, - [507] = {.lex_state = 0}, - [508] = {.lex_state = 0}, - [509] = {.lex_state = 0}, - [510] = {.lex_state = 0}, - [511] = {.lex_state = 0}, - [512] = {.lex_state = 0}, - [513] = {.lex_state = 0}, - [514] = {.lex_state = 0}, - [515] = {.lex_state = 0}, - [516] = {.lex_state = 0}, - [517] = {.lex_state = 0}, - [518] = {.lex_state = 0}, - [519] = {.lex_state = 0}, - [520] = {.lex_state = 0}, - [521] = {.lex_state = 0}, - [522] = {.lex_state = 0}, - [523] = {.lex_state = 0}, - [524] = {.lex_state = 0}, - [525] = {.lex_state = 0}, - [526] = {.lex_state = 0}, - [527] = {.lex_state = 2}, - [528] = {.lex_state = 0}, - [529] = {.lex_state = 0}, - [530] = {.lex_state = 0}, - [531] = {.lex_state = 0}, - [532] = {.lex_state = 0}, - [533] = {.lex_state = 0}, - [534] = {.lex_state = 0}, - [535] = {.lex_state = 0}, - [536] = {.lex_state = 0}, - [537] = {.lex_state = 0}, - [538] = {.lex_state = 0}, - [539] = {.lex_state = 0}, - [540] = {.lex_state = 0}, - [541] = {.lex_state = 0}, - [542] = {.lex_state = 0}, - [543] = {.lex_state = 0}, - [544] = {.lex_state = 0}, - [545] = {.lex_state = 0}, - [546] = {.lex_state = 0}, - [547] = {.lex_state = 0}, - [548] = {.lex_state = 0}, - [549] = {.lex_state = 0}, - [550] = {.lex_state = 0}, - [551] = {.lex_state = 0}, - [552] = {.lex_state = 0}, - [553] = {.lex_state = 0}, + [491] = {.lex_state = 2}, + [492] = {.lex_state = 2}, + [493] = {.lex_state = 19}, + [494] = {.lex_state = 2}, + [495] = {.lex_state = 2}, + [496] = {.lex_state = 2}, + [497] = {.lex_state = 19}, + [498] = {.lex_state = 19}, + [499] = {.lex_state = 19}, + [500] = {.lex_state = 19}, + [501] = {.lex_state = 19}, + [502] = {.lex_state = 19}, + [503] = {.lex_state = 19}, + [504] = {.lex_state = 19}, + [505] = {.lex_state = 19}, + [506] = {.lex_state = 19}, + [507] = {.lex_state = 19}, + [508] = {.lex_state = 19}, + [509] = {.lex_state = 19}, + [510] = {.lex_state = 19}, + [511] = {.lex_state = 19}, + [512] = {.lex_state = 19}, + [513] = {.lex_state = 19}, + [514] = {.lex_state = 19}, + [515] = {.lex_state = 19}, + [516] = {.lex_state = 2}, + [517] = {.lex_state = 19}, + [518] = {.lex_state = 19}, + [519] = {.lex_state = 19}, + [520] = {.lex_state = 19}, + [521] = {.lex_state = 19}, + [522] = {.lex_state = 19}, + [523] = {.lex_state = 19}, + [524] = {.lex_state = 19}, + [525] = {.lex_state = 19}, + [526] = {.lex_state = 19}, + [527] = {.lex_state = 19}, + [528] = {.lex_state = 19}, + [529] = {.lex_state = 19}, + [530] = {.lex_state = 19}, + [531] = {.lex_state = 19}, + [532] = {.lex_state = 19}, + [533] = {.lex_state = 19}, + [534] = {.lex_state = 19}, + [535] = {.lex_state = 19}, + [536] = {.lex_state = 19}, + [537] = {.lex_state = 19}, + [538] = {.lex_state = 19}, + [539] = {.lex_state = 19}, + [540] = {.lex_state = 19}, + [541] = {.lex_state = 19}, + [542] = {.lex_state = 19}, + [543] = {.lex_state = 19}, + [544] = {.lex_state = 19}, + [545] = {.lex_state = 19}, + [546] = {.lex_state = 19}, + [547] = {.lex_state = 19}, + [548] = {.lex_state = 19}, + [549] = {.lex_state = 19}, + [550] = {.lex_state = 19}, + [551] = {.lex_state = 19}, + [552] = {.lex_state = 19}, + [553] = {.lex_state = 19}, [554] = {.lex_state = 19}, - [555] = {.lex_state = 0}, - [556] = {.lex_state = 0}, - [557] = {.lex_state = 0}, - [558] = {.lex_state = 0}, - [559] = {.lex_state = 0}, - [560] = {.lex_state = 0}, - [561] = {.lex_state = 0}, - [562] = {.lex_state = 0}, - [563] = {.lex_state = 0}, - [564] = {.lex_state = 0}, - [565] = {.lex_state = 2}, - [566] = {.lex_state = 0}, - [567] = {.lex_state = 0}, - [568] = {.lex_state = 0}, - [569] = {.lex_state = 0}, - [570] = {.lex_state = 0}, - [571] = {.lex_state = 0}, - [572] = {.lex_state = 0}, - [573] = {.lex_state = 0}, - [574] = {.lex_state = 0}, - [575] = {.lex_state = 0}, - [576] = {.lex_state = 0}, - [577] = {.lex_state = 0}, - [578] = {.lex_state = 0}, - [579] = {.lex_state = 0}, - [580] = {.lex_state = 0}, - [581] = {.lex_state = 0}, - [582] = {.lex_state = 0}, - [583] = {.lex_state = 0}, - [584] = {.lex_state = 0}, - [585] = {.lex_state = 0}, - [586] = {.lex_state = 0}, - [587] = {.lex_state = 0}, - [588] = {.lex_state = 0}, - [589] = {.lex_state = 0}, - [590] = {.lex_state = 0}, - [591] = {.lex_state = 0}, + [555] = {.lex_state = 19}, + [556] = {.lex_state = 19}, + [557] = {.lex_state = 19}, + [558] = {.lex_state = 19}, + [559] = {.lex_state = 19}, + [560] = {.lex_state = 19}, + [561] = {.lex_state = 19}, + [562] = {.lex_state = 19}, + [563] = {.lex_state = 19}, + [564] = {.lex_state = 19}, + [565] = {.lex_state = 19}, + [566] = {.lex_state = 19}, + [567] = {.lex_state = 19}, + [568] = {.lex_state = 19}, + [569] = {.lex_state = 19}, + [570] = {.lex_state = 1}, + [571] = {.lex_state = 1}, + [572] = {.lex_state = 1}, + [573] = {.lex_state = 1}, + [574] = {.lex_state = 1}, + [575] = {.lex_state = 19}, + [576] = {.lex_state = 19}, + [577] = {.lex_state = 19}, + [578] = {.lex_state = 19}, + [579] = {.lex_state = 19}, + [580] = {.lex_state = 19}, + [581] = {.lex_state = 19}, + [582] = {.lex_state = 19}, + [583] = {.lex_state = 19}, + [584] = {.lex_state = 19}, + [585] = {.lex_state = 19}, + [586] = {.lex_state = 19}, + [587] = {.lex_state = 19}, + [588] = {.lex_state = 19}, + [589] = {.lex_state = 19}, + [590] = {.lex_state = 19}, + [591] = {.lex_state = 19}, [592] = {.lex_state = 19}, - [593] = {.lex_state = 0}, - [594] = {.lex_state = 0}, - [595] = {.lex_state = 0}, - [596] = {.lex_state = 0}, - [597] = {.lex_state = 0}, - [598] = {.lex_state = 0}, - [599] = {.lex_state = 0}, - [600] = {.lex_state = 0}, - [601] = {.lex_state = 0}, - [602] = {.lex_state = 0}, - [603] = {.lex_state = 0}, - [604] = {.lex_state = 0}, - [605] = {.lex_state = 0}, - [606] = {.lex_state = 0}, - [607] = {.lex_state = 0}, - [608] = {.lex_state = 0}, - [609] = {.lex_state = 0}, - [610] = {.lex_state = 0}, - [611] = {.lex_state = 0}, - [612] = {.lex_state = 0}, - [613] = {.lex_state = 0}, - [614] = {.lex_state = 0}, - [615] = {.lex_state = 0}, - [616] = {.lex_state = 0}, - [617] = {.lex_state = 0}, - [618] = {.lex_state = 0}, - [619] = {.lex_state = 0}, - [620] = {.lex_state = 0}, - [621] = {.lex_state = 0}, - [622] = {.lex_state = 0}, - [623] = {.lex_state = 0}, - [624] = {.lex_state = 0}, - [625] = {.lex_state = 0}, - [626] = {.lex_state = 0}, - [627] = {.lex_state = 0}, - [628] = {.lex_state = 0}, - [629] = {.lex_state = 0}, + [593] = {.lex_state = 19}, + [594] = {.lex_state = 19}, + [595] = {.lex_state = 19}, + [596] = {.lex_state = 19}, + [597] = {.lex_state = 19}, + [598] = {.lex_state = 19}, + [599] = {.lex_state = 19}, + [600] = {.lex_state = 19}, + [601] = {.lex_state = 1}, + [602] = {.lex_state = 1}, + [603] = {.lex_state = 19}, + [604] = {.lex_state = 19}, + [605] = {.lex_state = 19}, + [606] = {.lex_state = 19}, + [607] = {.lex_state = 19}, + [608] = {.lex_state = 19}, + [609] = {.lex_state = 19}, + [610] = {.lex_state = 19}, + [611] = {.lex_state = 19}, + [612] = {.lex_state = 19}, + [613] = {.lex_state = 19}, + [614] = {.lex_state = 19}, + [615] = {.lex_state = 19}, + [616] = {.lex_state = 19}, + [617] = {.lex_state = 19}, + [618] = {.lex_state = 19}, + [619] = {.lex_state = 19}, + [620] = {.lex_state = 19}, + [621] = {.lex_state = 19}, + [622] = {.lex_state = 19}, + [623] = {.lex_state = 19}, + [624] = {.lex_state = 19}, + [625] = {.lex_state = 3}, + [626] = {.lex_state = 3}, + [627] = {.lex_state = 3}, + [628] = {.lex_state = 3}, + [629] = {.lex_state = 3}, + [630] = {.lex_state = 3}, + [631] = {.lex_state = 3}, + [632] = {.lex_state = 3}, + [633] = {.lex_state = 3}, + [634] = {.lex_state = 3}, + [635] = {.lex_state = 3}, + [636] = {.lex_state = 19}, + [637] = {.lex_state = 3}, + [638] = {.lex_state = 3}, + [639] = {.lex_state = 3}, + [640] = {.lex_state = 3}, + [641] = {.lex_state = 3}, + [642] = {.lex_state = 3}, + [643] = {.lex_state = 3}, + [644] = {.lex_state = 3}, + [645] = {.lex_state = 3}, + [646] = {.lex_state = 3}, + [647] = {.lex_state = 3}, + [648] = {.lex_state = 3}, + [649] = {.lex_state = 3}, + [650] = {.lex_state = 3}, + [651] = {.lex_state = 3}, + [652] = {.lex_state = 3}, + [653] = {.lex_state = 0}, + [654] = {.lex_state = 0}, + [655] = {.lex_state = 0}, + [656] = {.lex_state = 0}, + [657] = {.lex_state = 19}, + [658] = {.lex_state = 19}, + [659] = {.lex_state = 19}, + [660] = {.lex_state = 19}, + [661] = {.lex_state = 0}, + [662] = {.lex_state = 19}, + [663] = {.lex_state = 19}, + [664] = {.lex_state = 19}, + [665] = {.lex_state = 19}, + [666] = {.lex_state = 0}, + [667] = {.lex_state = 19}, + [668] = {.lex_state = 19}, + [669] = {.lex_state = 0}, + [670] = {.lex_state = 0}, + [671] = {.lex_state = 19}, + [672] = {.lex_state = 19}, + [673] = {.lex_state = 2}, + [674] = {.lex_state = 19}, + [675] = {.lex_state = 0}, + [676] = {.lex_state = 0}, + [677] = {.lex_state = 19}, + [678] = {.lex_state = 0}, + [679] = {.lex_state = 19}, + [680] = {.lex_state = 19}, + [681] = {.lex_state = 19}, + [682] = {.lex_state = 19}, + [683] = {.lex_state = 19}, + [684] = {.lex_state = 0}, + [685] = {.lex_state = 0}, + [686] = {.lex_state = 0}, + [687] = {.lex_state = 0}, + [688] = {.lex_state = 19}, + [689] = {.lex_state = 19}, + [690] = {.lex_state = 19}, + [691] = {.lex_state = 19}, + [692] = {.lex_state = 19}, + [693] = {.lex_state = 19}, + [694] = {.lex_state = 19}, + [695] = {.lex_state = 2}, + [696] = {.lex_state = 2}, + [697] = {.lex_state = 19}, + [698] = {.lex_state = 2}, + [699] = {.lex_state = 2}, + [700] = {.lex_state = 19}, + [701] = {.lex_state = 19}, + [702] = {.lex_state = 19}, + [703] = {.lex_state = 19}, + [704] = {.lex_state = 19}, + [705] = {.lex_state = 0}, + [706] = {.lex_state = 19}, + [707] = {.lex_state = 19}, + [708] = {.lex_state = 19}, + [709] = {.lex_state = 19}, + [710] = {.lex_state = 19}, + [711] = {.lex_state = 19}, + [712] = {.lex_state = 19}, + [713] = {.lex_state = 19}, + [714] = {.lex_state = 19}, + [715] = {.lex_state = 19}, + [716] = {.lex_state = 19}, + [717] = {.lex_state = 19}, + [718] = {.lex_state = 19}, + [719] = {.lex_state = 19}, + [720] = {.lex_state = 19}, + [721] = {.lex_state = 19}, + [722] = {.lex_state = 19}, + [723] = {.lex_state = 19}, + [724] = {.lex_state = 19}, + [725] = {.lex_state = 19}, + [726] = {.lex_state = 19}, + [727] = {.lex_state = 19}, + [728] = {.lex_state = 19}, + [729] = {.lex_state = 19}, + [730] = {.lex_state = 19}, + [731] = {.lex_state = 19}, + [732] = {.lex_state = 19}, + [733] = {.lex_state = 19}, + [734] = {.lex_state = 0}, + [735] = {.lex_state = 0}, + [736] = {.lex_state = 3}, + [737] = {.lex_state = 19}, + [738] = {.lex_state = 0}, + [739] = {.lex_state = 0}, + [740] = {.lex_state = 0}, + [741] = {.lex_state = 19}, + [742] = {.lex_state = 0}, + [743] = {.lex_state = 0}, + [744] = {.lex_state = 0}, + [745] = {.lex_state = 0}, + [746] = {.lex_state = 0}, + [747] = {.lex_state = 19}, + [748] = {.lex_state = 0}, + [749] = {.lex_state = 0}, + [750] = {.lex_state = 0}, + [751] = {.lex_state = 0}, + [752] = {.lex_state = 3}, + [753] = {.lex_state = 0}, + [754] = {.lex_state = 19}, + [755] = {.lex_state = 0}, + [756] = {.lex_state = 3}, + [757] = {.lex_state = 0}, + [758] = {.lex_state = 0}, + [759] = {.lex_state = 0}, + [760] = {.lex_state = 3}, + [761] = {.lex_state = 19}, + [762] = {.lex_state = 0}, + [763] = {.lex_state = 0}, + [764] = {.lex_state = 19}, + [765] = {.lex_state = 0}, + [766] = {.lex_state = 0}, + [767] = {.lex_state = 19}, + [768] = {.lex_state = 19}, + [769] = {.lex_state = 0}, + [770] = {.lex_state = 0}, + [771] = {.lex_state = 0}, + [772] = {.lex_state = 3}, + [773] = {.lex_state = 19}, + [774] = {.lex_state = 0}, + [775] = {.lex_state = 0}, + [776] = {.lex_state = 19}, + [777] = {.lex_state = 19}, + [778] = {.lex_state = 0}, + [779] = {.lex_state = 0}, + [780] = {.lex_state = 0}, + [781] = {.lex_state = 0}, + [782] = {.lex_state = 0}, + [783] = {.lex_state = 0}, + [784] = {.lex_state = 0}, + [785] = {.lex_state = 0}, + [786] = {.lex_state = 0}, + [787] = {.lex_state = 0}, + [788] = {.lex_state = 0}, + [789] = {.lex_state = 0}, + [790] = {.lex_state = 19}, + [791] = {.lex_state = 0}, + [792] = {.lex_state = 0}, + [793] = {.lex_state = 0}, + [794] = {.lex_state = 0}, + [795] = {.lex_state = 0}, + [796] = {.lex_state = 0}, + [797] = {.lex_state = 19}, + [798] = {.lex_state = 0}, + [799] = {.lex_state = 0}, + [800] = {.lex_state = 2}, + [801] = {.lex_state = 0}, + [802] = {.lex_state = 0}, + [803] = {.lex_state = 0}, + [804] = {.lex_state = 0}, + [805] = {.lex_state = 0}, + [806] = {.lex_state = 0}, + [807] = {.lex_state = 0}, + [808] = {.lex_state = 0}, + [809] = {.lex_state = 19}, + [810] = {.lex_state = 0}, + [811] = {.lex_state = 0}, + [812] = {.lex_state = 19}, + [813] = {.lex_state = 19}, + [814] = {.lex_state = 19}, + [815] = {.lex_state = 0}, + [816] = {.lex_state = 19}, + [817] = {.lex_state = 0}, + [818] = {.lex_state = 0}, + [819] = {.lex_state = 19}, + [820] = {.lex_state = 0}, + [821] = {.lex_state = 0}, + [822] = {.lex_state = 0}, + [823] = {.lex_state = 0}, + [824] = {.lex_state = 0}, + [825] = {.lex_state = 0}, + [826] = {.lex_state = 19}, + [827] = {.lex_state = 0}, + [828] = {.lex_state = 0}, + [829] = {.lex_state = 0}, + [830] = {.lex_state = 2}, + [831] = {.lex_state = 19}, + [832] = {.lex_state = 0}, + [833] = {.lex_state = 19}, + [834] = {.lex_state = 19}, + [835] = {.lex_state = 19}, + [836] = {.lex_state = 0}, + [837] = {.lex_state = 19}, + [838] = {.lex_state = 0}, + [839] = {.lex_state = 0}, + [840] = {.lex_state = 0}, + [841] = {.lex_state = 19}, + [842] = {.lex_state = 0}, + [843] = {.lex_state = 2}, + [844] = {.lex_state = 0}, + [845] = {.lex_state = 19}, + [846] = {.lex_state = 0}, + [847] = {.lex_state = 19}, + [848] = {.lex_state = 0}, + [849] = {.lex_state = 19}, + [850] = {.lex_state = 3}, + [851] = {.lex_state = 0}, + [852] = {.lex_state = 0}, + [853] = {.lex_state = 0}, + [854] = {.lex_state = 0}, + [855] = {.lex_state = 0}, + [856] = {.lex_state = 19}, + [857] = {.lex_state = 0}, + [858] = {.lex_state = 0}, + [859] = {.lex_state = 0}, + [860] = {.lex_state = 0}, + [861] = {.lex_state = 19}, + [862] = {.lex_state = 0}, + [863] = {.lex_state = 19}, + [864] = {.lex_state = 0}, + [865] = {.lex_state = 0}, + [866] = {.lex_state = 0}, + [867] = {.lex_state = 19}, + [868] = {.lex_state = 0}, + [869] = {.lex_state = 19}, + [870] = {.lex_state = 0}, + [871] = {.lex_state = 0}, + [872] = {.lex_state = 0}, + [873] = {.lex_state = 19}, + [874] = {.lex_state = 0}, + [875] = {.lex_state = 0}, + [876] = {.lex_state = 0}, + [877] = {.lex_state = 0}, + [878] = {.lex_state = 0}, + [879] = {.lex_state = 0}, + [880] = {.lex_state = 0}, + [881] = {.lex_state = 0}, + [882] = {.lex_state = 0}, + [883] = {.lex_state = 0}, + [884] = {.lex_state = 0}, + [885] = {.lex_state = 0}, + [886] = {.lex_state = 0}, + [887] = {.lex_state = 0}, + [888] = {.lex_state = 0}, + [889] = {.lex_state = 19}, + [890] = {.lex_state = 0}, + [891] = {.lex_state = 0}, + [892] = {.lex_state = 0}, + [893] = {.lex_state = 19}, + [894] = {.lex_state = 0}, + [895] = {.lex_state = 0}, + [896] = {.lex_state = 0}, + [897] = {.lex_state = 19}, + [898] = {.lex_state = 0}, + [899] = {.lex_state = 0}, + [900] = {.lex_state = 0}, + [901] = {.lex_state = 0}, + [902] = {.lex_state = 0}, + [903] = {.lex_state = 0}, + [904] = {.lex_state = 0}, + [905] = {.lex_state = 19}, + [906] = {.lex_state = 19}, + [907] = {.lex_state = 19}, + [908] = {.lex_state = 19}, + [909] = {.lex_state = 0}, + [910] = {.lex_state = 0}, + [911] = {.lex_state = 0}, + [912] = {.lex_state = 0}, + [913] = {.lex_state = 0}, + [914] = {.lex_state = 0}, + [915] = {.lex_state = 0}, + [916] = {.lex_state = 0}, + [917] = {.lex_state = 0}, + [918] = {.lex_state = 0}, + [919] = {.lex_state = 0}, + [920] = {.lex_state = 0}, + [921] = {.lex_state = 19}, + [922] = {.lex_state = 0}, + [923] = {.lex_state = 0}, + [924] = {.lex_state = 0}, + [925] = {.lex_state = 0}, + [926] = {.lex_state = 19}, + [927] = {.lex_state = 0}, + [928] = {.lex_state = 0}, + [929] = {.lex_state = 0}, + [930] = {.lex_state = 0}, + [931] = {.lex_state = 0}, + [932] = {.lex_state = 0}, + [933] = {.lex_state = 19}, + [934] = {.lex_state = 0}, + [935] = {.lex_state = 0}, + [936] = {.lex_state = 0}, + [937] = {.lex_state = 0}, + [938] = {.lex_state = 0}, + [939] = {.lex_state = 0}, + [940] = {.lex_state = 19}, + [941] = {.lex_state = 0}, + [942] = {.lex_state = 0}, + [943] = {.lex_state = 0}, + [944] = {.lex_state = 19}, + [945] = {.lex_state = 0}, + [946] = {.lex_state = 19}, + [947] = {.lex_state = 0}, + [948] = {.lex_state = 0}, + [949] = {.lex_state = 0}, + [950] = {.lex_state = 0}, + [951] = {.lex_state = 0}, + [952] = {.lex_state = 0}, + [953] = {.lex_state = 0}, + [954] = {.lex_state = 19}, + [955] = {.lex_state = 0}, + [956] = {.lex_state = 19}, + [957] = {.lex_state = 0}, + [958] = {.lex_state = 0}, + [959] = {.lex_state = 0}, + [960] = {.lex_state = 0}, + [961] = {.lex_state = 0}, + [962] = {.lex_state = 0}, + [963] = {.lex_state = 19}, + [964] = {.lex_state = 0}, + [965] = {.lex_state = 19}, + [966] = {.lex_state = 0}, + [967] = {.lex_state = 0}, + [968] = {.lex_state = 0}, + [969] = {.lex_state = 0}, + [970] = {.lex_state = 0}, + [971] = {.lex_state = 19}, + [972] = {.lex_state = 0}, + [973] = {.lex_state = 19}, + [974] = {.lex_state = 0}, + [975] = {.lex_state = 0}, + [976] = {.lex_state = 0}, + [977] = {.lex_state = 0}, + [978] = {.lex_state = 0}, + [979] = {.lex_state = 0}, + [980] = {.lex_state = 19}, + [981] = {.lex_state = 0}, + [982] = {.lex_state = 0}, + [983] = {.lex_state = 0}, + [984] = {.lex_state = 0}, + [985] = {.lex_state = 0}, + [986] = {.lex_state = 0}, + [987] = {.lex_state = 0}, + [988] = {.lex_state = 19}, + [989] = {.lex_state = 0}, + [990] = {.lex_state = 3}, + [991] = {.lex_state = 0}, + [992] = {.lex_state = 19}, + [993] = {.lex_state = 0}, + [994] = {.lex_state = 0}, + [995] = {.lex_state = 0}, + [996] = {.lex_state = 0}, + [997] = {.lex_state = 0}, + [998] = {.lex_state = 19}, + [999] = {.lex_state = 0}, + [1000] = {.lex_state = 0}, + [1001] = {.lex_state = 0}, + [1002] = {.lex_state = 0}, + [1003] = {.lex_state = 0}, + [1004] = {.lex_state = 0}, + [1005] = {.lex_state = 0}, + [1006] = {.lex_state = 0}, + [1007] = {.lex_state = 0}, + [1008] = {.lex_state = 0}, + [1009] = {.lex_state = 0}, + [1010] = {.lex_state = 0}, + [1011] = {.lex_state = 0}, + [1012] = {.lex_state = 19}, + [1013] = {.lex_state = 0}, + [1014] = {.lex_state = 0}, + [1015] = {.lex_state = 0}, + [1016] = {.lex_state = 19}, + [1017] = {.lex_state = 19}, + [1018] = {.lex_state = 0}, + [1019] = {.lex_state = 0}, + [1020] = {.lex_state = 19}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -4513,19 +5667,19 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_init] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), + [anon_sym_comptime] = ACTIONS(1), [anon_sym_DASH_GT] = ACTIONS(1), [anon_sym_requires] = ACTIONS(1), [anon_sym_ensures] = ACTIONS(1), [anon_sym_storage] = ACTIONS(1), [anon_sym_memory] = ACTIONS(1), [anon_sym_tstore] = ACTIONS(1), + [anon_sym_calldata] = ACTIONS(1), [anon_sym_var] = ACTIONS(1), [anon_sym_let] = ACTIONS(1), [anon_sym_immutable] = ACTIONS(1), [anon_sym_struct] = ACTIONS(1), [anon_sym_bitfield] = ACTIONS(1), - [anon_sym_ATat] = ACTIONS(1), - [anon_sym_ATbits] = ACTIONS(1), [anon_sym_DOT_DOT] = ACTIONS(1), [anon_sym_enum] = ACTIONS(1), [anon_sym_log] = ACTIONS(1), @@ -4564,10 +5718,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_SLASH_EQ] = ACTIONS(1), [anon_sym_PERCENT_EQ] = ACTIONS(1), [anon_sym_DOT] = ACTIONS(1), + [anon_sym_assume] = ACTIONS(1), + [anon_sym_havoc] = ACTIONS(1), [anon_sym_if] = ACTIONS(1), [anon_sym_else] = ACTIONS(1), [anon_sym_while] = ACTIONS(1), [anon_sym_for] = ACTIONS(1), + [anon_sym_decreases] = ACTIONS(1), [anon_sym_return] = ACTIONS(1), [anon_sym_break] = ACTIONS(1), [anon_sym_continue] = ACTIONS(1), @@ -4599,8 +5756,9 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_SLASH] = ACTIONS(1), [anon_sym_PERCENT] = ACTIONS(1), [anon_sym_STAR_PERCENT] = ACTIONS(1), + [anon_sym_STAR_STAR] = ACTIONS(1), + [anon_sym_STAR_STAR_PERCENT] = ACTIONS(1), [anon_sym_old] = ACTIONS(1), - [anon_sym_comptime] = ACTIONS(1), [anon_sym_cast] = ACTIONS(1), [anon_sym_forall] = ACTIONS(1), [anon_sym_exists] = ACTIONS(1), @@ -4608,487 +5766,887 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), [anon_sym_true] = ACTIONS(1), [anon_sym_false] = ACTIONS(1), - [aux_sym_number_literal_token1] = ACTIONS(1), - [aux_sym_number_literal_token2] = ACTIONS(1), [aux_sym_number_literal_token3] = ACTIONS(1), + [sym_bytes_literal] = ACTIONS(1), + [sym_field_index] = ACTIONS(1), [sym_string_literal] = ACTIONS(1), }, [STATE(1)] = { - [sym_source_file] = STATE(593), - [sym__top_level_declaration] = STATE(206), - [sym_import_declaration] = STATE(206), - [sym_contract_declaration] = STATE(206), - [sym_function_declaration] = STATE(206), - [sym_variable_declaration] = STATE(206), - [sym_memory_region] = STATE(384), - [sym_variable_kind] = STATE(626), - [sym_struct_declaration] = STATE(206), - [sym_bitfield_declaration] = STATE(206), - [sym_enum_declaration] = STATE(206), - [sym_log_declaration] = STATE(206), - [sym_error_declaration] = STATE(206), - [sym_ghost_declaration] = STATE(206), - [sym_contract_invariant] = STATE(206), - [aux_sym_source_file_repeat1] = STATE(206), + [sym_source_file] = STATE(953), + [sym__top_level_declaration] = STATE(338), + [sym_import_declaration] = STATE(338), + [sym_contract_declaration] = STATE(338), + [sym_function_declaration] = STATE(338), + [sym_variable_declaration] = STATE(338), + [sym_memory_region] = STATE(697), + [sym_variable_kind] = STATE(905), + [sym_struct_declaration] = STATE(338), + [sym_bitfield_declaration] = STATE(338), + [sym_enum_declaration] = STATE(338), + [sym_log_declaration] = STATE(338), + [sym_error_declaration] = STATE(338), + [sym_ghost_declaration] = STATE(338), + [sym_contract_invariant] = STATE(338), + [aux_sym_source_file_repeat1] = STATE(338), [ts_builtin_sym_end] = ACTIONS(5), - [anon_sym_AT] = ACTIONS(7), - [anon_sym_const] = ACTIONS(9), - [anon_sym_contract] = ACTIONS(11), - [anon_sym_pub] = ACTIONS(13), - [anon_sym_fn] = ACTIONS(15), - [anon_sym_storage] = ACTIONS(17), - [anon_sym_memory] = ACTIONS(17), - [anon_sym_tstore] = ACTIONS(17), - [anon_sym_var] = ACTIONS(19), - [anon_sym_let] = ACTIONS(19), - [anon_sym_immutable] = ACTIONS(19), - [anon_sym_struct] = ACTIONS(21), - [anon_sym_bitfield] = ACTIONS(23), - [anon_sym_enum] = ACTIONS(25), - [anon_sym_log] = ACTIONS(27), - [anon_sym_error] = ACTIONS(29), - [anon_sym_ghost] = ACTIONS(31), - [anon_sym_invariant] = ACTIONS(33), + [sym_identifier] = ACTIONS(7), + [anon_sym_AT] = ACTIONS(9), + [anon_sym_const] = ACTIONS(11), + [anon_sym_contract] = ACTIONS(13), + [anon_sym_pub] = ACTIONS(15), + [anon_sym_fn] = ACTIONS(17), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(21), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_struct] = ACTIONS(23), + [anon_sym_bitfield] = ACTIONS(25), + [anon_sym_enum] = ACTIONS(27), + [anon_sym_log] = ACTIONS(29), + [anon_sym_error] = ACTIONS(31), + [anon_sym_ghost] = ACTIONS(33), + [anon_sym_invariant] = ACTIONS(35), [sym_comment] = ACTIONS(3), }, [STATE(2)] = { - [sym_variable_declaration] = STATE(171), - [sym_memory_region] = STATE(384), - [sym_variable_kind] = STATE(626), - [sym__statement] = STATE(171), - [sym_assignment_statement] = STATE(171), - [sym_compound_assignment_statement] = STATE(171), - [sym_destructuring_assignment] = STATE(171), - [sym_expression_statement] = STATE(171), - [sym_if_statement] = STATE(171), - [sym_while_statement] = STATE(171), - [sym_for_statement] = STATE(171), - [sym_invariant_clause] = STATE(3), - [sym_return_statement] = STATE(171), - [sym_break_statement] = STATE(171), - [sym_continue_statement] = STATE(171), - [sym_log_statement] = STATE(171), - [sym_lock_statement] = STATE(171), - [sym_unlock_statement] = STATE(171), - [sym_assert_statement] = STATE(171), - [sym_try_statement] = STATE(171), - [sym_block] = STATE(171), - [sym_labeled_block] = STATE(171), - [sym_switch_statement] = STATE(171), - [sym_switch_expression] = STATE(31), - [sym__expression] = STATE(296), - [sym_assignment_expression] = STATE(296), - [sym_binary_expression] = STATE(296), - [sym_unary_expression] = STATE(296), - [sym_postfix_expression] = STATE(296), - [sym_lvalue] = STATE(372), - [sym_primary_expression] = STATE(203), - [sym_literal] = STATE(31), - [sym_parenthesized_expression] = STATE(31), - [sym_try_expression] = STATE(31), - [sym_old_expression] = STATE(31), - [sym_comptime_expression] = STATE(31), - [sym_cast_expression] = STATE(31), - [sym_error_expression] = STATE(31), - [sym_quantified_expression] = STATE(31), - [sym_struct_literal] = STATE(31), - [sym_anonymous_struct_literal] = STATE(31), - [sym_array_literal] = STATE(31), - [sym_bool_literal] = STATE(21), - [sym_number_literal] = STATE(21), - [aux_sym_while_statement_repeat1] = STATE(3), - [sym_identifier] = ACTIONS(35), - [anon_sym_AT] = ACTIONS(37), - [anon_sym_LPAREN] = ACTIONS(39), - [anon_sym_const] = ACTIONS(41), + [sym_variable_declaration] = STATE(272), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), + [sym__statement] = STATE(272), + [sym_assignment_statement] = STATE(272), + [sym_compound_assignment_statement] = STATE(272), + [sym_destructuring_assignment] = STATE(272), + [sym_tuple_variable_declaration] = STATE(272), + [sym_expression_statement] = STATE(272), + [sym_requires_statement] = STATE(272), + [sym_ensures_statement] = STATE(272), + [sym_assume_statement] = STATE(272), + [sym_havoc_statement] = STATE(272), + [sym_comptime_statement] = STATE(272), + [sym_if_statement] = STATE(272), + [sym_while_statement] = STATE(272), + [sym_for_statement] = STATE(272), + [sym_invariant_clause] = STATE(99), + [sym_decreases_clause] = STATE(99), + [sym_return_statement] = STATE(272), + [sym_break_statement] = STATE(272), + [sym_continue_statement] = STATE(272), + [sym_log_statement] = STATE(272), + [sym_lock_statement] = STATE(272), + [sym_unlock_statement] = STATE(272), + [sym_assert_statement] = STATE(272), + [sym_try_statement] = STATE(272), + [sym_block] = STATE(272), + [sym_labeled_block] = STATE(272), + [sym_switch_statement] = STATE(272), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), + [aux_sym_while_statement_repeat1] = STATE(99), + [sym_identifier] = ACTIONS(37), + [anon_sym_AT] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(41), + [anon_sym_const] = ACTIONS(21), [anon_sym_LBRACE] = ACTIONS(43), - [anon_sym_storage] = ACTIONS(45), - [anon_sym_memory] = ACTIONS(45), - [anon_sym_tstore] = ACTIONS(45), - [anon_sym_var] = ACTIONS(41), - [anon_sym_let] = ACTIONS(47), - [anon_sym_immutable] = ACTIONS(41), - [anon_sym_log] = ACTIONS(49), - [anon_sym_error] = ACTIONS(51), - [anon_sym_invariant] = ACTIONS(53), - [anon_sym_BANG] = ACTIONS(55), - [anon_sym_LBRACK] = ACTIONS(57), - [anon_sym_DOT] = ACTIONS(59), - [anon_sym_if] = ACTIONS(61), - [anon_sym_while] = ACTIONS(63), - [anon_sym_for] = ACTIONS(65), - [anon_sym_return] = ACTIONS(67), - [anon_sym_break] = ACTIONS(69), - [anon_sym_continue] = ACTIONS(71), - [anon_sym_assert] = ACTIONS(73), - [anon_sym_try] = ACTIONS(75), - [anon_sym_switch] = ACTIONS(77), - [anon_sym_PLUS] = ACTIONS(55), - [anon_sym_DASH] = ACTIONS(55), - [anon_sym_old] = ACTIONS(79), - [anon_sym_comptime] = ACTIONS(81), - [anon_sym_forall] = ACTIONS(83), - [anon_sym_exists] = ACTIONS(83), + [anon_sym_comptime] = ACTIONS(45), + [anon_sym_requires] = ACTIONS(47), + [anon_sym_ensures] = ACTIONS(49), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(51), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_log] = ACTIONS(53), + [anon_sym_error] = ACTIONS(55), + [anon_sym_invariant] = ACTIONS(57), + [anon_sym_BANG] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(63), + [anon_sym_assume] = ACTIONS(65), + [anon_sym_havoc] = ACTIONS(67), + [anon_sym_if] = ACTIONS(69), + [anon_sym_while] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_decreases] = ACTIONS(75), + [anon_sym_return] = ACTIONS(77), + [anon_sym_break] = ACTIONS(79), + [anon_sym_continue] = ACTIONS(81), + [anon_sym_assert] = ACTIONS(83), + [anon_sym_try] = ACTIONS(85), + [anon_sym_switch] = ACTIONS(87), + [anon_sym_PLUS] = ACTIONS(59), + [anon_sym_DASH] = ACTIONS(59), + [anon_sym_old] = ACTIONS(89), + [anon_sym_forall] = ACTIONS(91), + [anon_sym_exists] = ACTIONS(91), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(85), - [anon_sym_false] = ACTIONS(85), - [aux_sym_number_literal_token1] = ACTIONS(87), - [aux_sym_number_literal_token2] = ACTIONS(87), - [aux_sym_number_literal_token3] = ACTIONS(89), - [sym_string_literal] = ACTIONS(91), + [anon_sym_true] = ACTIONS(93), + [anon_sym_false] = ACTIONS(93), + [aux_sym_number_literal_token1] = ACTIONS(95), + [aux_sym_number_literal_token2] = ACTIONS(95), + [aux_sym_number_literal_token3] = ACTIONS(97), + [sym_bytes_literal] = ACTIONS(99), + [sym_string_literal] = ACTIONS(99), }, [STATE(3)] = { - [sym_variable_declaration] = STATE(185), - [sym_memory_region] = STATE(384), - [sym_variable_kind] = STATE(626), - [sym__statement] = STATE(185), - [sym_assignment_statement] = STATE(185), - [sym_compound_assignment_statement] = STATE(185), - [sym_destructuring_assignment] = STATE(185), - [sym_expression_statement] = STATE(185), - [sym_if_statement] = STATE(185), - [sym_while_statement] = STATE(185), - [sym_for_statement] = STATE(185), - [sym_invariant_clause] = STATE(168), - [sym_return_statement] = STATE(185), - [sym_break_statement] = STATE(185), - [sym_continue_statement] = STATE(185), - [sym_log_statement] = STATE(185), - [sym_lock_statement] = STATE(185), - [sym_unlock_statement] = STATE(185), - [sym_assert_statement] = STATE(185), - [sym_try_statement] = STATE(185), - [sym_block] = STATE(185), - [sym_labeled_block] = STATE(185), - [sym_switch_statement] = STATE(185), - [sym_switch_expression] = STATE(31), - [sym__expression] = STATE(296), - [sym_assignment_expression] = STATE(296), - [sym_binary_expression] = STATE(296), - [sym_unary_expression] = STATE(296), - [sym_postfix_expression] = STATE(296), - [sym_lvalue] = STATE(372), - [sym_primary_expression] = STATE(203), - [sym_literal] = STATE(31), - [sym_parenthesized_expression] = STATE(31), - [sym_try_expression] = STATE(31), - [sym_old_expression] = STATE(31), - [sym_comptime_expression] = STATE(31), - [sym_cast_expression] = STATE(31), - [sym_error_expression] = STATE(31), - [sym_quantified_expression] = STATE(31), - [sym_struct_literal] = STATE(31), - [sym_anonymous_struct_literal] = STATE(31), - [sym_array_literal] = STATE(31), - [sym_bool_literal] = STATE(21), - [sym_number_literal] = STATE(21), - [aux_sym_while_statement_repeat1] = STATE(168), - [sym_identifier] = ACTIONS(35), - [anon_sym_AT] = ACTIONS(37), - [anon_sym_LPAREN] = ACTIONS(39), - [anon_sym_const] = ACTIONS(41), + [sym_variable_declaration] = STATE(274), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), + [sym__statement] = STATE(274), + [sym_assignment_statement] = STATE(274), + [sym_compound_assignment_statement] = STATE(274), + [sym_destructuring_assignment] = STATE(274), + [sym_tuple_variable_declaration] = STATE(274), + [sym_expression_statement] = STATE(274), + [sym_requires_statement] = STATE(274), + [sym_ensures_statement] = STATE(274), + [sym_assume_statement] = STATE(274), + [sym_havoc_statement] = STATE(274), + [sym_comptime_statement] = STATE(274), + [sym_if_statement] = STATE(274), + [sym_while_statement] = STATE(274), + [sym_for_statement] = STATE(274), + [sym_invariant_clause] = STATE(4), + [sym_decreases_clause] = STATE(4), + [sym_return_statement] = STATE(274), + [sym_break_statement] = STATE(274), + [sym_continue_statement] = STATE(274), + [sym_log_statement] = STATE(274), + [sym_lock_statement] = STATE(274), + [sym_unlock_statement] = STATE(274), + [sym_assert_statement] = STATE(274), + [sym_try_statement] = STATE(274), + [sym_block] = STATE(274), + [sym_labeled_block] = STATE(274), + [sym_switch_statement] = STATE(274), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), + [aux_sym_while_statement_repeat1] = STATE(4), + [sym_identifier] = ACTIONS(37), + [anon_sym_AT] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(41), + [anon_sym_const] = ACTIONS(21), [anon_sym_LBRACE] = ACTIONS(43), - [anon_sym_storage] = ACTIONS(45), - [anon_sym_memory] = ACTIONS(45), - [anon_sym_tstore] = ACTIONS(45), - [anon_sym_var] = ACTIONS(41), - [anon_sym_let] = ACTIONS(47), - [anon_sym_immutable] = ACTIONS(41), - [anon_sym_log] = ACTIONS(49), - [anon_sym_error] = ACTIONS(51), - [anon_sym_invariant] = ACTIONS(53), - [anon_sym_BANG] = ACTIONS(55), - [anon_sym_LBRACK] = ACTIONS(57), - [anon_sym_DOT] = ACTIONS(59), - [anon_sym_if] = ACTIONS(61), - [anon_sym_while] = ACTIONS(63), - [anon_sym_for] = ACTIONS(65), - [anon_sym_return] = ACTIONS(67), - [anon_sym_break] = ACTIONS(69), - [anon_sym_continue] = ACTIONS(71), - [anon_sym_assert] = ACTIONS(73), - [anon_sym_try] = ACTIONS(75), - [anon_sym_switch] = ACTIONS(77), - [anon_sym_PLUS] = ACTIONS(55), - [anon_sym_DASH] = ACTIONS(55), - [anon_sym_old] = ACTIONS(79), - [anon_sym_comptime] = ACTIONS(81), - [anon_sym_forall] = ACTIONS(83), - [anon_sym_exists] = ACTIONS(83), + [anon_sym_comptime] = ACTIONS(45), + [anon_sym_requires] = ACTIONS(47), + [anon_sym_ensures] = ACTIONS(49), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(51), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_log] = ACTIONS(53), + [anon_sym_error] = ACTIONS(55), + [anon_sym_invariant] = ACTIONS(57), + [anon_sym_BANG] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(63), + [anon_sym_assume] = ACTIONS(65), + [anon_sym_havoc] = ACTIONS(67), + [anon_sym_if] = ACTIONS(69), + [anon_sym_while] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_decreases] = ACTIONS(75), + [anon_sym_return] = ACTIONS(77), + [anon_sym_break] = ACTIONS(79), + [anon_sym_continue] = ACTIONS(81), + [anon_sym_assert] = ACTIONS(83), + [anon_sym_try] = ACTIONS(85), + [anon_sym_switch] = ACTIONS(87), + [anon_sym_PLUS] = ACTIONS(59), + [anon_sym_DASH] = ACTIONS(59), + [anon_sym_old] = ACTIONS(89), + [anon_sym_forall] = ACTIONS(91), + [anon_sym_exists] = ACTIONS(91), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(85), - [anon_sym_false] = ACTIONS(85), - [aux_sym_number_literal_token1] = ACTIONS(87), - [aux_sym_number_literal_token2] = ACTIONS(87), - [aux_sym_number_literal_token3] = ACTIONS(89), - [sym_string_literal] = ACTIONS(91), + [anon_sym_true] = ACTIONS(93), + [anon_sym_false] = ACTIONS(93), + [aux_sym_number_literal_token1] = ACTIONS(95), + [aux_sym_number_literal_token2] = ACTIONS(95), + [aux_sym_number_literal_token3] = ACTIONS(97), + [sym_bytes_literal] = ACTIONS(99), + [sym_string_literal] = ACTIONS(99), }, [STATE(4)] = { - [sym_variable_declaration] = STATE(178), - [sym_memory_region] = STATE(384), - [sym_variable_kind] = STATE(626), - [sym__statement] = STATE(178), - [sym_assignment_statement] = STATE(178), - [sym_compound_assignment_statement] = STATE(178), - [sym_destructuring_assignment] = STATE(178), - [sym_expression_statement] = STATE(178), - [sym_if_statement] = STATE(178), - [sym_while_statement] = STATE(178), - [sym_for_statement] = STATE(178), - [sym_invariant_clause] = STATE(5), - [sym_return_statement] = STATE(178), - [sym_break_statement] = STATE(178), - [sym_continue_statement] = STATE(178), - [sym_log_statement] = STATE(178), - [sym_lock_statement] = STATE(178), - [sym_unlock_statement] = STATE(178), - [sym_assert_statement] = STATE(178), - [sym_try_statement] = STATE(178), - [sym_block] = STATE(178), - [sym_labeled_block] = STATE(178), - [sym_switch_statement] = STATE(178), - [sym_switch_expression] = STATE(31), - [sym__expression] = STATE(296), - [sym_assignment_expression] = STATE(296), - [sym_binary_expression] = STATE(296), - [sym_unary_expression] = STATE(296), - [sym_postfix_expression] = STATE(296), - [sym_lvalue] = STATE(372), - [sym_primary_expression] = STATE(203), - [sym_literal] = STATE(31), - [sym_parenthesized_expression] = STATE(31), - [sym_try_expression] = STATE(31), - [sym_old_expression] = STATE(31), - [sym_comptime_expression] = STATE(31), - [sym_cast_expression] = STATE(31), - [sym_error_expression] = STATE(31), - [sym_quantified_expression] = STATE(31), - [sym_struct_literal] = STATE(31), - [sym_anonymous_struct_literal] = STATE(31), - [sym_array_literal] = STATE(31), - [sym_bool_literal] = STATE(21), - [sym_number_literal] = STATE(21), - [aux_sym_while_statement_repeat1] = STATE(5), - [sym_identifier] = ACTIONS(35), - [anon_sym_AT] = ACTIONS(37), - [anon_sym_LPAREN] = ACTIONS(39), - [anon_sym_const] = ACTIONS(41), + [sym_variable_declaration] = STATE(285), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), + [sym__statement] = STATE(285), + [sym_assignment_statement] = STATE(285), + [sym_compound_assignment_statement] = STATE(285), + [sym_destructuring_assignment] = STATE(285), + [sym_tuple_variable_declaration] = STATE(285), + [sym_expression_statement] = STATE(285), + [sym_requires_statement] = STATE(285), + [sym_ensures_statement] = STATE(285), + [sym_assume_statement] = STATE(285), + [sym_havoc_statement] = STATE(285), + [sym_comptime_statement] = STATE(285), + [sym_if_statement] = STATE(285), + [sym_while_statement] = STATE(285), + [sym_for_statement] = STATE(285), + [sym_invariant_clause] = STATE(99), + [sym_decreases_clause] = STATE(99), + [sym_return_statement] = STATE(285), + [sym_break_statement] = STATE(285), + [sym_continue_statement] = STATE(285), + [sym_log_statement] = STATE(285), + [sym_lock_statement] = STATE(285), + [sym_unlock_statement] = STATE(285), + [sym_assert_statement] = STATE(285), + [sym_try_statement] = STATE(285), + [sym_block] = STATE(285), + [sym_labeled_block] = STATE(285), + [sym_switch_statement] = STATE(285), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), + [aux_sym_while_statement_repeat1] = STATE(99), + [sym_identifier] = ACTIONS(37), + [anon_sym_AT] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(41), + [anon_sym_const] = ACTIONS(21), [anon_sym_LBRACE] = ACTIONS(43), - [anon_sym_storage] = ACTIONS(45), - [anon_sym_memory] = ACTIONS(45), - [anon_sym_tstore] = ACTIONS(45), - [anon_sym_var] = ACTIONS(41), - [anon_sym_let] = ACTIONS(47), - [anon_sym_immutable] = ACTIONS(41), - [anon_sym_log] = ACTIONS(49), - [anon_sym_error] = ACTIONS(51), - [anon_sym_invariant] = ACTIONS(53), - [anon_sym_BANG] = ACTIONS(55), - [anon_sym_LBRACK] = ACTIONS(57), - [anon_sym_DOT] = ACTIONS(59), - [anon_sym_if] = ACTIONS(61), - [anon_sym_while] = ACTIONS(63), - [anon_sym_for] = ACTIONS(65), - [anon_sym_return] = ACTIONS(67), - [anon_sym_break] = ACTIONS(69), - [anon_sym_continue] = ACTIONS(71), - [anon_sym_assert] = ACTIONS(73), - [anon_sym_try] = ACTIONS(75), - [anon_sym_switch] = ACTIONS(77), - [anon_sym_PLUS] = ACTIONS(55), - [anon_sym_DASH] = ACTIONS(55), - [anon_sym_old] = ACTIONS(79), - [anon_sym_comptime] = ACTIONS(81), - [anon_sym_forall] = ACTIONS(83), - [anon_sym_exists] = ACTIONS(83), + [anon_sym_comptime] = ACTIONS(45), + [anon_sym_requires] = ACTIONS(47), + [anon_sym_ensures] = ACTIONS(49), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(51), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_log] = ACTIONS(53), + [anon_sym_error] = ACTIONS(55), + [anon_sym_invariant] = ACTIONS(57), + [anon_sym_BANG] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(63), + [anon_sym_assume] = ACTIONS(65), + [anon_sym_havoc] = ACTIONS(67), + [anon_sym_if] = ACTIONS(69), + [anon_sym_while] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_decreases] = ACTIONS(75), + [anon_sym_return] = ACTIONS(77), + [anon_sym_break] = ACTIONS(79), + [anon_sym_continue] = ACTIONS(81), + [anon_sym_assert] = ACTIONS(83), + [anon_sym_try] = ACTIONS(85), + [anon_sym_switch] = ACTIONS(87), + [anon_sym_PLUS] = ACTIONS(59), + [anon_sym_DASH] = ACTIONS(59), + [anon_sym_old] = ACTIONS(89), + [anon_sym_forall] = ACTIONS(91), + [anon_sym_exists] = ACTIONS(91), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(85), - [anon_sym_false] = ACTIONS(85), - [aux_sym_number_literal_token1] = ACTIONS(87), - [aux_sym_number_literal_token2] = ACTIONS(87), - [aux_sym_number_literal_token3] = ACTIONS(89), - [sym_string_literal] = ACTIONS(91), + [anon_sym_true] = ACTIONS(93), + [anon_sym_false] = ACTIONS(93), + [aux_sym_number_literal_token1] = ACTIONS(95), + [aux_sym_number_literal_token2] = ACTIONS(95), + [aux_sym_number_literal_token3] = ACTIONS(97), + [sym_bytes_literal] = ACTIONS(99), + [sym_string_literal] = ACTIONS(99), }, [STATE(5)] = { - [sym_variable_declaration] = STATE(181), - [sym_memory_region] = STATE(384), - [sym_variable_kind] = STATE(626), - [sym__statement] = STATE(181), - [sym_assignment_statement] = STATE(181), - [sym_compound_assignment_statement] = STATE(181), - [sym_destructuring_assignment] = STATE(181), - [sym_expression_statement] = STATE(181), - [sym_if_statement] = STATE(181), - [sym_while_statement] = STATE(181), - [sym_for_statement] = STATE(181), - [sym_invariant_clause] = STATE(168), - [sym_return_statement] = STATE(181), - [sym_break_statement] = STATE(181), - [sym_continue_statement] = STATE(181), - [sym_log_statement] = STATE(181), - [sym_lock_statement] = STATE(181), - [sym_unlock_statement] = STATE(181), - [sym_assert_statement] = STATE(181), - [sym_try_statement] = STATE(181), - [sym_block] = STATE(181), - [sym_labeled_block] = STATE(181), - [sym_switch_statement] = STATE(181), - [sym_switch_expression] = STATE(31), - [sym__expression] = STATE(296), - [sym_assignment_expression] = STATE(296), - [sym_binary_expression] = STATE(296), - [sym_unary_expression] = STATE(296), - [sym_postfix_expression] = STATE(296), - [sym_lvalue] = STATE(372), - [sym_primary_expression] = STATE(203), - [sym_literal] = STATE(31), - [sym_parenthesized_expression] = STATE(31), - [sym_try_expression] = STATE(31), - [sym_old_expression] = STATE(31), - [sym_comptime_expression] = STATE(31), - [sym_cast_expression] = STATE(31), - [sym_error_expression] = STATE(31), - [sym_quantified_expression] = STATE(31), - [sym_struct_literal] = STATE(31), - [sym_anonymous_struct_literal] = STATE(31), - [sym_array_literal] = STATE(31), - [sym_bool_literal] = STATE(21), - [sym_number_literal] = STATE(21), - [aux_sym_while_statement_repeat1] = STATE(168), - [sym_identifier] = ACTIONS(35), - [anon_sym_AT] = ACTIONS(37), - [anon_sym_LPAREN] = ACTIONS(39), - [anon_sym_const] = ACTIONS(41), + [sym_variable_declaration] = STATE(294), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), + [sym__statement] = STATE(294), + [sym_assignment_statement] = STATE(294), + [sym_compound_assignment_statement] = STATE(294), + [sym_destructuring_assignment] = STATE(294), + [sym_tuple_variable_declaration] = STATE(294), + [sym_expression_statement] = STATE(294), + [sym_requires_statement] = STATE(294), + [sym_ensures_statement] = STATE(294), + [sym_assume_statement] = STATE(294), + [sym_havoc_statement] = STATE(294), + [sym_comptime_statement] = STATE(294), + [sym_if_statement] = STATE(294), + [sym_while_statement] = STATE(294), + [sym_for_statement] = STATE(294), + [sym_invariant_clause] = STATE(2), + [sym_decreases_clause] = STATE(2), + [sym_return_statement] = STATE(294), + [sym_break_statement] = STATE(294), + [sym_continue_statement] = STATE(294), + [sym_log_statement] = STATE(294), + [sym_lock_statement] = STATE(294), + [sym_unlock_statement] = STATE(294), + [sym_assert_statement] = STATE(294), + [sym_try_statement] = STATE(294), + [sym_block] = STATE(294), + [sym_labeled_block] = STATE(294), + [sym_switch_statement] = STATE(294), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), + [aux_sym_while_statement_repeat1] = STATE(2), + [sym_identifier] = ACTIONS(37), + [anon_sym_AT] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(41), + [anon_sym_const] = ACTIONS(21), [anon_sym_LBRACE] = ACTIONS(43), - [anon_sym_storage] = ACTIONS(45), - [anon_sym_memory] = ACTIONS(45), - [anon_sym_tstore] = ACTIONS(45), - [anon_sym_var] = ACTIONS(41), - [anon_sym_let] = ACTIONS(47), - [anon_sym_immutable] = ACTIONS(41), - [anon_sym_log] = ACTIONS(49), - [anon_sym_error] = ACTIONS(51), - [anon_sym_invariant] = ACTIONS(53), - [anon_sym_BANG] = ACTIONS(55), - [anon_sym_LBRACK] = ACTIONS(57), - [anon_sym_DOT] = ACTIONS(59), - [anon_sym_if] = ACTIONS(61), - [anon_sym_while] = ACTIONS(63), - [anon_sym_for] = ACTIONS(65), - [anon_sym_return] = ACTIONS(67), - [anon_sym_break] = ACTIONS(69), - [anon_sym_continue] = ACTIONS(71), - [anon_sym_assert] = ACTIONS(73), - [anon_sym_try] = ACTIONS(75), - [anon_sym_switch] = ACTIONS(77), - [anon_sym_PLUS] = ACTIONS(55), - [anon_sym_DASH] = ACTIONS(55), - [anon_sym_old] = ACTIONS(79), - [anon_sym_comptime] = ACTIONS(81), - [anon_sym_forall] = ACTIONS(83), - [anon_sym_exists] = ACTIONS(83), + [anon_sym_comptime] = ACTIONS(45), + [anon_sym_requires] = ACTIONS(47), + [anon_sym_ensures] = ACTIONS(49), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(51), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_log] = ACTIONS(53), + [anon_sym_error] = ACTIONS(55), + [anon_sym_invariant] = ACTIONS(57), + [anon_sym_BANG] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(63), + [anon_sym_assume] = ACTIONS(65), + [anon_sym_havoc] = ACTIONS(67), + [anon_sym_if] = ACTIONS(69), + [anon_sym_while] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_decreases] = ACTIONS(75), + [anon_sym_return] = ACTIONS(77), + [anon_sym_break] = ACTIONS(79), + [anon_sym_continue] = ACTIONS(81), + [anon_sym_assert] = ACTIONS(83), + [anon_sym_try] = ACTIONS(85), + [anon_sym_switch] = ACTIONS(87), + [anon_sym_PLUS] = ACTIONS(59), + [anon_sym_DASH] = ACTIONS(59), + [anon_sym_old] = ACTIONS(89), + [anon_sym_forall] = ACTIONS(91), + [anon_sym_exists] = ACTIONS(91), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(85), - [anon_sym_false] = ACTIONS(85), - [aux_sym_number_literal_token1] = ACTIONS(87), - [aux_sym_number_literal_token2] = ACTIONS(87), - [aux_sym_number_literal_token3] = ACTIONS(89), - [sym_string_literal] = ACTIONS(91), + [anon_sym_true] = ACTIONS(93), + [anon_sym_false] = ACTIONS(93), + [aux_sym_number_literal_token1] = ACTIONS(95), + [aux_sym_number_literal_token2] = ACTIONS(95), + [aux_sym_number_literal_token3] = ACTIONS(97), + [sym_bytes_literal] = ACTIONS(99), + [sym_string_literal] = ACTIONS(99), }, [STATE(6)] = { - [sym_variable_declaration] = STATE(7), - [sym_memory_region] = STATE(384), - [sym_variable_kind] = STATE(626), - [sym__statement] = STATE(7), - [sym_assignment_statement] = STATE(7), - [sym_compound_assignment_statement] = STATE(7), - [sym_destructuring_assignment] = STATE(7), - [sym_expression_statement] = STATE(7), - [sym_if_statement] = STATE(7), - [sym_while_statement] = STATE(7), - [sym_for_statement] = STATE(7), - [sym_return_statement] = STATE(7), - [sym_break_statement] = STATE(7), - [sym_continue_statement] = STATE(7), - [sym_log_statement] = STATE(7), - [sym_lock_statement] = STATE(7), - [sym_unlock_statement] = STATE(7), - [sym_assert_statement] = STATE(7), - [sym_try_statement] = STATE(7), - [sym_block] = STATE(7), - [sym_labeled_block] = STATE(7), - [sym_switch_statement] = STATE(7), - [sym_switch_expression] = STATE(31), - [sym__expression] = STATE(296), - [sym_assignment_expression] = STATE(296), - [sym_binary_expression] = STATE(296), - [sym_unary_expression] = STATE(296), - [sym_postfix_expression] = STATE(296), - [sym_lvalue] = STATE(372), - [sym_primary_expression] = STATE(203), - [sym_literal] = STATE(31), - [sym_parenthesized_expression] = STATE(31), - [sym_try_expression] = STATE(31), - [sym_old_expression] = STATE(31), - [sym_comptime_expression] = STATE(31), - [sym_cast_expression] = STATE(31), - [sym_error_expression] = STATE(31), - [sym_quantified_expression] = STATE(31), - [sym_struct_literal] = STATE(31), - [sym_anonymous_struct_literal] = STATE(31), - [sym_array_literal] = STATE(31), - [sym_bool_literal] = STATE(21), - [sym_number_literal] = STATE(21), - [aux_sym_block_repeat1] = STATE(7), - [sym_identifier] = ACTIONS(35), - [anon_sym_AT] = ACTIONS(37), - [anon_sym_LPAREN] = ACTIONS(39), - [anon_sym_const] = ACTIONS(41), + [sym_variable_declaration] = STATE(11), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), + [sym__statement] = STATE(11), + [sym_assignment_statement] = STATE(11), + [sym_compound_assignment_statement] = STATE(11), + [sym_destructuring_assignment] = STATE(11), + [sym_tuple_variable_declaration] = STATE(11), + [sym_expression_statement] = STATE(11), + [sym_requires_statement] = STATE(11), + [sym_ensures_statement] = STATE(11), + [sym_assume_statement] = STATE(11), + [sym_havoc_statement] = STATE(11), + [sym_comptime_statement] = STATE(11), + [sym_if_statement] = STATE(11), + [sym_while_statement] = STATE(11), + [sym_for_statement] = STATE(11), + [sym_return_statement] = STATE(11), + [sym_break_statement] = STATE(11), + [sym_continue_statement] = STATE(11), + [sym_log_statement] = STATE(11), + [sym_lock_statement] = STATE(11), + [sym_unlock_statement] = STATE(11), + [sym_assert_statement] = STATE(11), + [sym_try_statement] = STATE(11), + [sym_block] = STATE(11), + [sym_labeled_block] = STATE(11), + [sym_switch_statement] = STATE(11), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), + [aux_sym_block_repeat1] = STATE(11), + [sym_identifier] = ACTIONS(37), + [anon_sym_AT] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(41), + [anon_sym_const] = ACTIONS(21), [anon_sym_LBRACE] = ACTIONS(43), - [anon_sym_RBRACE] = ACTIONS(93), - [anon_sym_storage] = ACTIONS(45), - [anon_sym_memory] = ACTIONS(45), - [anon_sym_tstore] = ACTIONS(45), - [anon_sym_var] = ACTIONS(41), - [anon_sym_let] = ACTIONS(47), - [anon_sym_immutable] = ACTIONS(41), - [anon_sym_log] = ACTIONS(49), - [anon_sym_error] = ACTIONS(51), - [anon_sym_BANG] = ACTIONS(55), - [anon_sym_LBRACK] = ACTIONS(57), - [anon_sym_DOT] = ACTIONS(59), - [anon_sym_if] = ACTIONS(61), - [anon_sym_while] = ACTIONS(63), - [anon_sym_for] = ACTIONS(65), - [anon_sym_return] = ACTIONS(67), - [anon_sym_break] = ACTIONS(69), - [anon_sym_continue] = ACTIONS(71), - [anon_sym_assert] = ACTIONS(73), - [anon_sym_try] = ACTIONS(75), - [anon_sym_switch] = ACTIONS(77), - [anon_sym_PLUS] = ACTIONS(55), - [anon_sym_DASH] = ACTIONS(55), - [anon_sym_old] = ACTIONS(79), - [anon_sym_comptime] = ACTIONS(81), - [anon_sym_forall] = ACTIONS(83), - [anon_sym_exists] = ACTIONS(83), + [anon_sym_RBRACE] = ACTIONS(101), + [anon_sym_comptime] = ACTIONS(45), + [anon_sym_requires] = ACTIONS(47), + [anon_sym_ensures] = ACTIONS(49), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(51), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_log] = ACTIONS(53), + [anon_sym_error] = ACTIONS(55), + [anon_sym_BANG] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(63), + [anon_sym_assume] = ACTIONS(65), + [anon_sym_havoc] = ACTIONS(67), + [anon_sym_if] = ACTIONS(69), + [anon_sym_while] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(77), + [anon_sym_break] = ACTIONS(79), + [anon_sym_continue] = ACTIONS(81), + [anon_sym_assert] = ACTIONS(83), + [anon_sym_try] = ACTIONS(85), + [anon_sym_switch] = ACTIONS(87), + [anon_sym_PLUS] = ACTIONS(59), + [anon_sym_DASH] = ACTIONS(59), + [anon_sym_old] = ACTIONS(89), + [anon_sym_forall] = ACTIONS(91), + [anon_sym_exists] = ACTIONS(91), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(85), - [anon_sym_false] = ACTIONS(85), - [aux_sym_number_literal_token1] = ACTIONS(87), - [aux_sym_number_literal_token2] = ACTIONS(87), - [aux_sym_number_literal_token3] = ACTIONS(89), - [sym_string_literal] = ACTIONS(91), + [anon_sym_true] = ACTIONS(93), + [anon_sym_false] = ACTIONS(93), + [aux_sym_number_literal_token1] = ACTIONS(95), + [aux_sym_number_literal_token2] = ACTIONS(95), + [aux_sym_number_literal_token3] = ACTIONS(97), + [sym_bytes_literal] = ACTIONS(99), + [sym_string_literal] = ACTIONS(99), }, [STATE(7)] = { + [sym_variable_declaration] = STATE(8), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), + [sym__statement] = STATE(8), + [sym_assignment_statement] = STATE(8), + [sym_compound_assignment_statement] = STATE(8), + [sym_destructuring_assignment] = STATE(8), + [sym_tuple_variable_declaration] = STATE(8), + [sym_expression_statement] = STATE(8), + [sym_requires_statement] = STATE(8), + [sym_ensures_statement] = STATE(8), + [sym_assume_statement] = STATE(8), + [sym_havoc_statement] = STATE(8), + [sym_comptime_statement] = STATE(8), + [sym_if_statement] = STATE(8), + [sym_while_statement] = STATE(8), + [sym_for_statement] = STATE(8), + [sym_return_statement] = STATE(8), + [sym_break_statement] = STATE(8), + [sym_continue_statement] = STATE(8), + [sym_log_statement] = STATE(8), + [sym_lock_statement] = STATE(8), + [sym_unlock_statement] = STATE(8), + [sym_assert_statement] = STATE(8), + [sym_try_statement] = STATE(8), + [sym_block] = STATE(8), + [sym_labeled_block] = STATE(8), + [sym_switch_statement] = STATE(8), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), + [aux_sym_block_repeat1] = STATE(8), + [sym_identifier] = ACTIONS(37), + [anon_sym_AT] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(41), + [anon_sym_const] = ACTIONS(21), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_RBRACE] = ACTIONS(103), + [anon_sym_comptime] = ACTIONS(45), + [anon_sym_requires] = ACTIONS(47), + [anon_sym_ensures] = ACTIONS(49), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(51), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_log] = ACTIONS(53), + [anon_sym_error] = ACTIONS(55), + [anon_sym_BANG] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(63), + [anon_sym_assume] = ACTIONS(65), + [anon_sym_havoc] = ACTIONS(67), + [anon_sym_if] = ACTIONS(69), + [anon_sym_while] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(77), + [anon_sym_break] = ACTIONS(79), + [anon_sym_continue] = ACTIONS(81), + [anon_sym_assert] = ACTIONS(83), + [anon_sym_try] = ACTIONS(85), + [anon_sym_switch] = ACTIONS(87), + [anon_sym_PLUS] = ACTIONS(59), + [anon_sym_DASH] = ACTIONS(59), + [anon_sym_old] = ACTIONS(89), + [anon_sym_forall] = ACTIONS(91), + [anon_sym_exists] = ACTIONS(91), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(93), + [anon_sym_false] = ACTIONS(93), + [aux_sym_number_literal_token1] = ACTIONS(95), + [aux_sym_number_literal_token2] = ACTIONS(95), + [aux_sym_number_literal_token3] = ACTIONS(97), + [sym_bytes_literal] = ACTIONS(99), + [sym_string_literal] = ACTIONS(99), + }, + [STATE(8)] = { + [sym_variable_declaration] = STATE(8), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), + [sym__statement] = STATE(8), + [sym_assignment_statement] = STATE(8), + [sym_compound_assignment_statement] = STATE(8), + [sym_destructuring_assignment] = STATE(8), + [sym_tuple_variable_declaration] = STATE(8), + [sym_expression_statement] = STATE(8), + [sym_requires_statement] = STATE(8), + [sym_ensures_statement] = STATE(8), + [sym_assume_statement] = STATE(8), + [sym_havoc_statement] = STATE(8), + [sym_comptime_statement] = STATE(8), + [sym_if_statement] = STATE(8), + [sym_while_statement] = STATE(8), + [sym_for_statement] = STATE(8), + [sym_return_statement] = STATE(8), + [sym_break_statement] = STATE(8), + [sym_continue_statement] = STATE(8), + [sym_log_statement] = STATE(8), + [sym_lock_statement] = STATE(8), + [sym_unlock_statement] = STATE(8), + [sym_assert_statement] = STATE(8), + [sym_try_statement] = STATE(8), + [sym_block] = STATE(8), + [sym_labeled_block] = STATE(8), + [sym_switch_statement] = STATE(8), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), + [aux_sym_block_repeat1] = STATE(8), + [sym_identifier] = ACTIONS(105), + [anon_sym_AT] = ACTIONS(108), + [anon_sym_LPAREN] = ACTIONS(111), + [anon_sym_const] = ACTIONS(114), + [anon_sym_LBRACE] = ACTIONS(117), + [anon_sym_RBRACE] = ACTIONS(120), + [anon_sym_comptime] = ACTIONS(122), + [anon_sym_requires] = ACTIONS(125), + [anon_sym_ensures] = ACTIONS(128), + [anon_sym_storage] = ACTIONS(131), + [anon_sym_memory] = ACTIONS(131), + [anon_sym_tstore] = ACTIONS(131), + [anon_sym_calldata] = ACTIONS(131), + [anon_sym_var] = ACTIONS(114), + [anon_sym_let] = ACTIONS(134), + [anon_sym_immutable] = ACTIONS(114), + [anon_sym_log] = ACTIONS(137), + [anon_sym_error] = ACTIONS(140), + [anon_sym_BANG] = ACTIONS(143), + [anon_sym_LBRACK] = ACTIONS(146), + [anon_sym_DOT] = ACTIONS(149), + [anon_sym_assume] = ACTIONS(152), + [anon_sym_havoc] = ACTIONS(155), + [anon_sym_if] = ACTIONS(158), + [anon_sym_while] = ACTIONS(161), + [anon_sym_for] = ACTIONS(164), + [anon_sym_return] = ACTIONS(167), + [anon_sym_break] = ACTIONS(170), + [anon_sym_continue] = ACTIONS(173), + [anon_sym_assert] = ACTIONS(176), + [anon_sym_try] = ACTIONS(179), + [anon_sym_switch] = ACTIONS(182), + [anon_sym_PLUS] = ACTIONS(143), + [anon_sym_DASH] = ACTIONS(143), + [anon_sym_old] = ACTIONS(185), + [anon_sym_forall] = ACTIONS(188), + [anon_sym_exists] = ACTIONS(188), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(191), + [anon_sym_false] = ACTIONS(191), + [aux_sym_number_literal_token1] = ACTIONS(194), + [aux_sym_number_literal_token2] = ACTIONS(194), + [aux_sym_number_literal_token3] = ACTIONS(197), + [sym_bytes_literal] = ACTIONS(200), + [sym_string_literal] = ACTIONS(200), + }, + [STATE(9)] = { + [sym_variable_declaration] = STATE(12), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), + [sym__statement] = STATE(12), + [sym_assignment_statement] = STATE(12), + [sym_compound_assignment_statement] = STATE(12), + [sym_destructuring_assignment] = STATE(12), + [sym_tuple_variable_declaration] = STATE(12), + [sym_expression_statement] = STATE(12), + [sym_requires_statement] = STATE(12), + [sym_ensures_statement] = STATE(12), + [sym_assume_statement] = STATE(12), + [sym_havoc_statement] = STATE(12), + [sym_comptime_statement] = STATE(12), + [sym_if_statement] = STATE(12), + [sym_while_statement] = STATE(12), + [sym_for_statement] = STATE(12), + [sym_return_statement] = STATE(12), + [sym_break_statement] = STATE(12), + [sym_continue_statement] = STATE(12), + [sym_log_statement] = STATE(12), + [sym_lock_statement] = STATE(12), + [sym_unlock_statement] = STATE(12), + [sym_assert_statement] = STATE(12), + [sym_try_statement] = STATE(12), + [sym_block] = STATE(12), + [sym_labeled_block] = STATE(12), + [sym_switch_statement] = STATE(12), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), + [aux_sym_block_repeat1] = STATE(12), + [sym_identifier] = ACTIONS(37), + [anon_sym_AT] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(41), + [anon_sym_const] = ACTIONS(21), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_RBRACE] = ACTIONS(203), + [anon_sym_comptime] = ACTIONS(45), + [anon_sym_requires] = ACTIONS(47), + [anon_sym_ensures] = ACTIONS(49), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(51), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_log] = ACTIONS(53), + [anon_sym_error] = ACTIONS(55), + [anon_sym_BANG] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(63), + [anon_sym_assume] = ACTIONS(65), + [anon_sym_havoc] = ACTIONS(67), + [anon_sym_if] = ACTIONS(69), + [anon_sym_while] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(77), + [anon_sym_break] = ACTIONS(79), + [anon_sym_continue] = ACTIONS(81), + [anon_sym_assert] = ACTIONS(83), + [anon_sym_try] = ACTIONS(85), + [anon_sym_switch] = ACTIONS(87), + [anon_sym_PLUS] = ACTIONS(59), + [anon_sym_DASH] = ACTIONS(59), + [anon_sym_old] = ACTIONS(89), + [anon_sym_forall] = ACTIONS(91), + [anon_sym_exists] = ACTIONS(91), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(93), + [anon_sym_false] = ACTIONS(93), + [aux_sym_number_literal_token1] = ACTIONS(95), + [aux_sym_number_literal_token2] = ACTIONS(95), + [aux_sym_number_literal_token3] = ACTIONS(97), + [sym_bytes_literal] = ACTIONS(99), + [sym_string_literal] = ACTIONS(99), + }, + [STATE(10)] = { [sym_variable_declaration] = STATE(7), - [sym_memory_region] = STATE(384), - [sym_variable_kind] = STATE(626), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), [sym__statement] = STATE(7), [sym_assignment_statement] = STATE(7), [sym_compound_assignment_statement] = STATE(7), [sym_destructuring_assignment] = STATE(7), + [sym_tuple_variable_declaration] = STATE(7), [sym_expression_statement] = STATE(7), + [sym_requires_statement] = STATE(7), + [sym_ensures_statement] = STATE(7), + [sym_assume_statement] = STATE(7), + [sym_havoc_statement] = STATE(7), + [sym_comptime_statement] = STATE(7), [sym_if_statement] = STATE(7), [sym_while_statement] = STATE(7), [sym_for_statement] = STATE(7), @@ -5103,508 +6661,864 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_block] = STATE(7), [sym_labeled_block] = STATE(7), [sym_switch_statement] = STATE(7), - [sym_switch_expression] = STATE(31), - [sym__expression] = STATE(296), - [sym_assignment_expression] = STATE(296), - [sym_binary_expression] = STATE(296), - [sym_unary_expression] = STATE(296), - [sym_postfix_expression] = STATE(296), - [sym_lvalue] = STATE(372), - [sym_primary_expression] = STATE(203), - [sym_literal] = STATE(31), - [sym_parenthesized_expression] = STATE(31), - [sym_try_expression] = STATE(31), - [sym_old_expression] = STATE(31), - [sym_comptime_expression] = STATE(31), - [sym_cast_expression] = STATE(31), - [sym_error_expression] = STATE(31), - [sym_quantified_expression] = STATE(31), - [sym_struct_literal] = STATE(31), - [sym_anonymous_struct_literal] = STATE(31), - [sym_array_literal] = STATE(31), - [sym_bool_literal] = STATE(21), - [sym_number_literal] = STATE(21), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), [aux_sym_block_repeat1] = STATE(7), - [sym_identifier] = ACTIONS(95), - [anon_sym_AT] = ACTIONS(98), - [anon_sym_LPAREN] = ACTIONS(101), - [anon_sym_const] = ACTIONS(104), - [anon_sym_LBRACE] = ACTIONS(107), - [anon_sym_RBRACE] = ACTIONS(110), - [anon_sym_storage] = ACTIONS(112), - [anon_sym_memory] = ACTIONS(112), - [anon_sym_tstore] = ACTIONS(112), - [anon_sym_var] = ACTIONS(104), - [anon_sym_let] = ACTIONS(115), - [anon_sym_immutable] = ACTIONS(104), - [anon_sym_log] = ACTIONS(118), - [anon_sym_error] = ACTIONS(121), - [anon_sym_BANG] = ACTIONS(124), - [anon_sym_LBRACK] = ACTIONS(127), - [anon_sym_DOT] = ACTIONS(130), - [anon_sym_if] = ACTIONS(133), - [anon_sym_while] = ACTIONS(136), - [anon_sym_for] = ACTIONS(139), - [anon_sym_return] = ACTIONS(142), - [anon_sym_break] = ACTIONS(145), - [anon_sym_continue] = ACTIONS(148), - [anon_sym_assert] = ACTIONS(151), - [anon_sym_try] = ACTIONS(154), - [anon_sym_switch] = ACTIONS(157), - [anon_sym_PLUS] = ACTIONS(124), - [anon_sym_DASH] = ACTIONS(124), - [anon_sym_old] = ACTIONS(160), - [anon_sym_comptime] = ACTIONS(163), - [anon_sym_forall] = ACTIONS(166), - [anon_sym_exists] = ACTIONS(166), + [sym_identifier] = ACTIONS(37), + [anon_sym_AT] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(41), + [anon_sym_const] = ACTIONS(21), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_RBRACE] = ACTIONS(205), + [anon_sym_comptime] = ACTIONS(45), + [anon_sym_requires] = ACTIONS(47), + [anon_sym_ensures] = ACTIONS(49), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(51), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_log] = ACTIONS(53), + [anon_sym_error] = ACTIONS(55), + [anon_sym_BANG] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(63), + [anon_sym_assume] = ACTIONS(65), + [anon_sym_havoc] = ACTIONS(67), + [anon_sym_if] = ACTIONS(69), + [anon_sym_while] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(77), + [anon_sym_break] = ACTIONS(79), + [anon_sym_continue] = ACTIONS(81), + [anon_sym_assert] = ACTIONS(83), + [anon_sym_try] = ACTIONS(85), + [anon_sym_switch] = ACTIONS(87), + [anon_sym_PLUS] = ACTIONS(59), + [anon_sym_DASH] = ACTIONS(59), + [anon_sym_old] = ACTIONS(89), + [anon_sym_forall] = ACTIONS(91), + [anon_sym_exists] = ACTIONS(91), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(169), - [anon_sym_false] = ACTIONS(169), - [aux_sym_number_literal_token1] = ACTIONS(172), - [aux_sym_number_literal_token2] = ACTIONS(172), - [aux_sym_number_literal_token3] = ACTIONS(175), - [sym_string_literal] = ACTIONS(178), + [anon_sym_true] = ACTIONS(93), + [anon_sym_false] = ACTIONS(93), + [aux_sym_number_literal_token1] = ACTIONS(95), + [aux_sym_number_literal_token2] = ACTIONS(95), + [aux_sym_number_literal_token3] = ACTIONS(97), + [sym_bytes_literal] = ACTIONS(99), + [sym_string_literal] = ACTIONS(99), }, - [STATE(8)] = { - [sym_variable_declaration] = STATE(6), - [sym_memory_region] = STATE(384), - [sym_variable_kind] = STATE(626), - [sym__statement] = STATE(6), - [sym_assignment_statement] = STATE(6), - [sym_compound_assignment_statement] = STATE(6), - [sym_destructuring_assignment] = STATE(6), - [sym_expression_statement] = STATE(6), - [sym_if_statement] = STATE(6), - [sym_while_statement] = STATE(6), - [sym_for_statement] = STATE(6), - [sym_return_statement] = STATE(6), - [sym_break_statement] = STATE(6), - [sym_continue_statement] = STATE(6), - [sym_log_statement] = STATE(6), - [sym_lock_statement] = STATE(6), - [sym_unlock_statement] = STATE(6), - [sym_assert_statement] = STATE(6), - [sym_try_statement] = STATE(6), - [sym_block] = STATE(6), - [sym_labeled_block] = STATE(6), - [sym_switch_statement] = STATE(6), - [sym_switch_expression] = STATE(31), - [sym__expression] = STATE(296), - [sym_assignment_expression] = STATE(296), - [sym_binary_expression] = STATE(296), - [sym_unary_expression] = STATE(296), - [sym_postfix_expression] = STATE(296), - [sym_lvalue] = STATE(372), - [sym_primary_expression] = STATE(203), - [sym_literal] = STATE(31), - [sym_parenthesized_expression] = STATE(31), - [sym_try_expression] = STATE(31), - [sym_old_expression] = STATE(31), - [sym_comptime_expression] = STATE(31), - [sym_cast_expression] = STATE(31), - [sym_error_expression] = STATE(31), - [sym_quantified_expression] = STATE(31), - [sym_struct_literal] = STATE(31), - [sym_anonymous_struct_literal] = STATE(31), - [sym_array_literal] = STATE(31), - [sym_bool_literal] = STATE(21), - [sym_number_literal] = STATE(21), - [aux_sym_block_repeat1] = STATE(6), - [sym_identifier] = ACTIONS(35), - [anon_sym_AT] = ACTIONS(37), - [anon_sym_LPAREN] = ACTIONS(39), - [anon_sym_const] = ACTIONS(41), + [STATE(11)] = { + [sym_variable_declaration] = STATE(8), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), + [sym__statement] = STATE(8), + [sym_assignment_statement] = STATE(8), + [sym_compound_assignment_statement] = STATE(8), + [sym_destructuring_assignment] = STATE(8), + [sym_tuple_variable_declaration] = STATE(8), + [sym_expression_statement] = STATE(8), + [sym_requires_statement] = STATE(8), + [sym_ensures_statement] = STATE(8), + [sym_assume_statement] = STATE(8), + [sym_havoc_statement] = STATE(8), + [sym_comptime_statement] = STATE(8), + [sym_if_statement] = STATE(8), + [sym_while_statement] = STATE(8), + [sym_for_statement] = STATE(8), + [sym_return_statement] = STATE(8), + [sym_break_statement] = STATE(8), + [sym_continue_statement] = STATE(8), + [sym_log_statement] = STATE(8), + [sym_lock_statement] = STATE(8), + [sym_unlock_statement] = STATE(8), + [sym_assert_statement] = STATE(8), + [sym_try_statement] = STATE(8), + [sym_block] = STATE(8), + [sym_labeled_block] = STATE(8), + [sym_switch_statement] = STATE(8), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), + [aux_sym_block_repeat1] = STATE(8), + [sym_identifier] = ACTIONS(37), + [anon_sym_AT] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(41), + [anon_sym_const] = ACTIONS(21), [anon_sym_LBRACE] = ACTIONS(43), - [anon_sym_RBRACE] = ACTIONS(181), - [anon_sym_storage] = ACTIONS(45), - [anon_sym_memory] = ACTIONS(45), - [anon_sym_tstore] = ACTIONS(45), - [anon_sym_var] = ACTIONS(41), - [anon_sym_let] = ACTIONS(47), - [anon_sym_immutable] = ACTIONS(41), - [anon_sym_log] = ACTIONS(49), - [anon_sym_error] = ACTIONS(51), - [anon_sym_BANG] = ACTIONS(55), - [anon_sym_LBRACK] = ACTIONS(57), - [anon_sym_DOT] = ACTIONS(59), - [anon_sym_if] = ACTIONS(61), - [anon_sym_while] = ACTIONS(63), - [anon_sym_for] = ACTIONS(65), - [anon_sym_return] = ACTIONS(67), - [anon_sym_break] = ACTIONS(69), - [anon_sym_continue] = ACTIONS(71), - [anon_sym_assert] = ACTIONS(73), - [anon_sym_try] = ACTIONS(75), - [anon_sym_switch] = ACTIONS(77), - [anon_sym_PLUS] = ACTIONS(55), - [anon_sym_DASH] = ACTIONS(55), - [anon_sym_old] = ACTIONS(79), - [anon_sym_comptime] = ACTIONS(81), - [anon_sym_forall] = ACTIONS(83), - [anon_sym_exists] = ACTIONS(83), + [anon_sym_RBRACE] = ACTIONS(207), + [anon_sym_comptime] = ACTIONS(45), + [anon_sym_requires] = ACTIONS(47), + [anon_sym_ensures] = ACTIONS(49), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(51), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_log] = ACTIONS(53), + [anon_sym_error] = ACTIONS(55), + [anon_sym_BANG] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(63), + [anon_sym_assume] = ACTIONS(65), + [anon_sym_havoc] = ACTIONS(67), + [anon_sym_if] = ACTIONS(69), + [anon_sym_while] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(77), + [anon_sym_break] = ACTIONS(79), + [anon_sym_continue] = ACTIONS(81), + [anon_sym_assert] = ACTIONS(83), + [anon_sym_try] = ACTIONS(85), + [anon_sym_switch] = ACTIONS(87), + [anon_sym_PLUS] = ACTIONS(59), + [anon_sym_DASH] = ACTIONS(59), + [anon_sym_old] = ACTIONS(89), + [anon_sym_forall] = ACTIONS(91), + [anon_sym_exists] = ACTIONS(91), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(85), - [anon_sym_false] = ACTIONS(85), - [aux_sym_number_literal_token1] = ACTIONS(87), - [aux_sym_number_literal_token2] = ACTIONS(87), - [aux_sym_number_literal_token3] = ACTIONS(89), - [sym_string_literal] = ACTIONS(91), + [anon_sym_true] = ACTIONS(93), + [anon_sym_false] = ACTIONS(93), + [aux_sym_number_literal_token1] = ACTIONS(95), + [aux_sym_number_literal_token2] = ACTIONS(95), + [aux_sym_number_literal_token3] = ACTIONS(97), + [sym_bytes_literal] = ACTIONS(99), + [sym_string_literal] = ACTIONS(99), }, - [STATE(9)] = { - [sym_variable_declaration] = STATE(195), - [sym_memory_region] = STATE(384), - [sym_variable_kind] = STATE(626), - [sym__statement] = STATE(195), - [sym_assignment_statement] = STATE(195), - [sym_compound_assignment_statement] = STATE(195), - [sym_destructuring_assignment] = STATE(195), - [sym_expression_statement] = STATE(195), - [sym_if_statement] = STATE(195), - [sym_while_statement] = STATE(195), - [sym_for_statement] = STATE(195), - [sym_return_statement] = STATE(195), - [sym_break_statement] = STATE(195), - [sym_continue_statement] = STATE(195), - [sym_log_statement] = STATE(195), - [sym_lock_statement] = STATE(195), - [sym_unlock_statement] = STATE(195), - [sym_assert_statement] = STATE(195), - [sym_try_statement] = STATE(195), - [sym_block] = STATE(195), - [sym_labeled_block] = STATE(195), - [sym_switch_statement] = STATE(195), - [sym_switch_expression] = STATE(31), - [sym__expression] = STATE(296), - [sym_assignment_expression] = STATE(296), - [sym_binary_expression] = STATE(296), - [sym_unary_expression] = STATE(296), - [sym_postfix_expression] = STATE(296), - [sym_lvalue] = STATE(372), - [sym_primary_expression] = STATE(203), - [sym_literal] = STATE(31), - [sym_parenthesized_expression] = STATE(31), - [sym_try_expression] = STATE(31), - [sym_old_expression] = STATE(31), - [sym_comptime_expression] = STATE(31), - [sym_cast_expression] = STATE(31), - [sym_error_expression] = STATE(31), - [sym_quantified_expression] = STATE(31), - [sym_struct_literal] = STATE(31), - [sym_anonymous_struct_literal] = STATE(31), - [sym_array_literal] = STATE(31), - [sym_bool_literal] = STATE(21), - [sym_number_literal] = STATE(21), - [sym_identifier] = ACTIONS(35), - [anon_sym_AT] = ACTIONS(37), - [anon_sym_LPAREN] = ACTIONS(39), - [anon_sym_const] = ACTIONS(41), + [STATE(12)] = { + [sym_variable_declaration] = STATE(8), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), + [sym__statement] = STATE(8), + [sym_assignment_statement] = STATE(8), + [sym_compound_assignment_statement] = STATE(8), + [sym_destructuring_assignment] = STATE(8), + [sym_tuple_variable_declaration] = STATE(8), + [sym_expression_statement] = STATE(8), + [sym_requires_statement] = STATE(8), + [sym_ensures_statement] = STATE(8), + [sym_assume_statement] = STATE(8), + [sym_havoc_statement] = STATE(8), + [sym_comptime_statement] = STATE(8), + [sym_if_statement] = STATE(8), + [sym_while_statement] = STATE(8), + [sym_for_statement] = STATE(8), + [sym_return_statement] = STATE(8), + [sym_break_statement] = STATE(8), + [sym_continue_statement] = STATE(8), + [sym_log_statement] = STATE(8), + [sym_lock_statement] = STATE(8), + [sym_unlock_statement] = STATE(8), + [sym_assert_statement] = STATE(8), + [sym_try_statement] = STATE(8), + [sym_block] = STATE(8), + [sym_labeled_block] = STATE(8), + [sym_switch_statement] = STATE(8), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), + [aux_sym_block_repeat1] = STATE(8), + [sym_identifier] = ACTIONS(37), + [anon_sym_AT] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(41), + [anon_sym_const] = ACTIONS(21), [anon_sym_LBRACE] = ACTIONS(43), - [anon_sym_storage] = ACTIONS(45), - [anon_sym_memory] = ACTIONS(45), - [anon_sym_tstore] = ACTIONS(45), - [anon_sym_var] = ACTIONS(41), - [anon_sym_let] = ACTIONS(47), - [anon_sym_immutable] = ACTIONS(41), - [anon_sym_log] = ACTIONS(49), - [anon_sym_error] = ACTIONS(51), - [anon_sym_BANG] = ACTIONS(55), - [anon_sym_LBRACK] = ACTIONS(57), - [anon_sym_DOT] = ACTIONS(59), - [anon_sym_if] = ACTIONS(61), - [anon_sym_while] = ACTIONS(63), - [anon_sym_for] = ACTIONS(65), - [anon_sym_return] = ACTIONS(67), - [anon_sym_break] = ACTIONS(69), - [anon_sym_continue] = ACTIONS(71), - [anon_sym_assert] = ACTIONS(73), - [anon_sym_try] = ACTIONS(75), - [anon_sym_switch] = ACTIONS(77), - [anon_sym_PLUS] = ACTIONS(55), - [anon_sym_DASH] = ACTIONS(55), - [anon_sym_old] = ACTIONS(79), - [anon_sym_comptime] = ACTIONS(81), - [anon_sym_forall] = ACTIONS(83), - [anon_sym_exists] = ACTIONS(83), + [anon_sym_RBRACE] = ACTIONS(209), + [anon_sym_comptime] = ACTIONS(45), + [anon_sym_requires] = ACTIONS(47), + [anon_sym_ensures] = ACTIONS(49), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(51), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_log] = ACTIONS(53), + [anon_sym_error] = ACTIONS(55), + [anon_sym_BANG] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(63), + [anon_sym_assume] = ACTIONS(65), + [anon_sym_havoc] = ACTIONS(67), + [anon_sym_if] = ACTIONS(69), + [anon_sym_while] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(77), + [anon_sym_break] = ACTIONS(79), + [anon_sym_continue] = ACTIONS(81), + [anon_sym_assert] = ACTIONS(83), + [anon_sym_try] = ACTIONS(85), + [anon_sym_switch] = ACTIONS(87), + [anon_sym_PLUS] = ACTIONS(59), + [anon_sym_DASH] = ACTIONS(59), + [anon_sym_old] = ACTIONS(89), + [anon_sym_forall] = ACTIONS(91), + [anon_sym_exists] = ACTIONS(91), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(85), - [anon_sym_false] = ACTIONS(85), - [aux_sym_number_literal_token1] = ACTIONS(87), - [aux_sym_number_literal_token2] = ACTIONS(87), - [aux_sym_number_literal_token3] = ACTIONS(89), - [sym_string_literal] = ACTIONS(91), + [anon_sym_true] = ACTIONS(93), + [anon_sym_false] = ACTIONS(93), + [aux_sym_number_literal_token1] = ACTIONS(95), + [aux_sym_number_literal_token2] = ACTIONS(95), + [aux_sym_number_literal_token3] = ACTIONS(97), + [sym_bytes_literal] = ACTIONS(99), + [sym_string_literal] = ACTIONS(99), }, - [STATE(10)] = { - [sym_variable_declaration] = STATE(194), - [sym_memory_region] = STATE(384), - [sym_variable_kind] = STATE(626), - [sym__statement] = STATE(194), - [sym_assignment_statement] = STATE(194), - [sym_compound_assignment_statement] = STATE(194), - [sym_destructuring_assignment] = STATE(194), - [sym_expression_statement] = STATE(194), - [sym_if_statement] = STATE(194), - [sym_while_statement] = STATE(194), - [sym_for_statement] = STATE(194), - [sym_return_statement] = STATE(194), - [sym_break_statement] = STATE(194), - [sym_continue_statement] = STATE(194), - [sym_log_statement] = STATE(194), - [sym_lock_statement] = STATE(194), - [sym_unlock_statement] = STATE(194), - [sym_assert_statement] = STATE(194), - [sym_try_statement] = STATE(194), - [sym_block] = STATE(194), - [sym_labeled_block] = STATE(194), - [sym_switch_statement] = STATE(194), - [sym_switch_expression] = STATE(31), - [sym__expression] = STATE(296), - [sym_assignment_expression] = STATE(296), - [sym_binary_expression] = STATE(296), - [sym_unary_expression] = STATE(296), - [sym_postfix_expression] = STATE(296), - [sym_lvalue] = STATE(372), - [sym_primary_expression] = STATE(203), - [sym_literal] = STATE(31), - [sym_parenthesized_expression] = STATE(31), - [sym_try_expression] = STATE(31), - [sym_old_expression] = STATE(31), - [sym_comptime_expression] = STATE(31), - [sym_cast_expression] = STATE(31), - [sym_error_expression] = STATE(31), - [sym_quantified_expression] = STATE(31), - [sym_struct_literal] = STATE(31), - [sym_anonymous_struct_literal] = STATE(31), - [sym_array_literal] = STATE(31), - [sym_bool_literal] = STATE(21), - [sym_number_literal] = STATE(21), - [sym_identifier] = ACTIONS(35), - [anon_sym_AT] = ACTIONS(37), - [anon_sym_LPAREN] = ACTIONS(39), - [anon_sym_const] = ACTIONS(41), + [STATE(13)] = { + [sym_variable_declaration] = STATE(288), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), + [sym__statement] = STATE(288), + [sym_assignment_statement] = STATE(288), + [sym_compound_assignment_statement] = STATE(288), + [sym_destructuring_assignment] = STATE(288), + [sym_tuple_variable_declaration] = STATE(288), + [sym_expression_statement] = STATE(288), + [sym_requires_statement] = STATE(288), + [sym_ensures_statement] = STATE(288), + [sym_assume_statement] = STATE(288), + [sym_havoc_statement] = STATE(288), + [sym_comptime_statement] = STATE(288), + [sym_if_statement] = STATE(288), + [sym_while_statement] = STATE(288), + [sym_for_statement] = STATE(288), + [sym_return_statement] = STATE(288), + [sym_break_statement] = STATE(288), + [sym_continue_statement] = STATE(288), + [sym_log_statement] = STATE(288), + [sym_lock_statement] = STATE(288), + [sym_unlock_statement] = STATE(288), + [sym_assert_statement] = STATE(288), + [sym_try_statement] = STATE(288), + [sym_block] = STATE(288), + [sym_labeled_block] = STATE(288), + [sym_switch_statement] = STATE(288), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), + [sym_identifier] = ACTIONS(37), + [anon_sym_AT] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(41), + [anon_sym_const] = ACTIONS(21), [anon_sym_LBRACE] = ACTIONS(43), - [anon_sym_storage] = ACTIONS(45), - [anon_sym_memory] = ACTIONS(45), - [anon_sym_tstore] = ACTIONS(45), - [anon_sym_var] = ACTIONS(41), - [anon_sym_let] = ACTIONS(47), - [anon_sym_immutable] = ACTIONS(41), - [anon_sym_log] = ACTIONS(49), - [anon_sym_error] = ACTIONS(51), - [anon_sym_BANG] = ACTIONS(55), - [anon_sym_LBRACK] = ACTIONS(57), - [anon_sym_DOT] = ACTIONS(59), - [anon_sym_if] = ACTIONS(61), - [anon_sym_while] = ACTIONS(63), - [anon_sym_for] = ACTIONS(65), - [anon_sym_return] = ACTIONS(67), - [anon_sym_break] = ACTIONS(69), - [anon_sym_continue] = ACTIONS(71), - [anon_sym_assert] = ACTIONS(73), - [anon_sym_try] = ACTIONS(75), - [anon_sym_switch] = ACTIONS(77), - [anon_sym_PLUS] = ACTIONS(55), - [anon_sym_DASH] = ACTIONS(55), - [anon_sym_old] = ACTIONS(79), - [anon_sym_comptime] = ACTIONS(81), - [anon_sym_forall] = ACTIONS(83), - [anon_sym_exists] = ACTIONS(83), + [anon_sym_comptime] = ACTIONS(45), + [anon_sym_requires] = ACTIONS(47), + [anon_sym_ensures] = ACTIONS(49), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(51), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_log] = ACTIONS(53), + [anon_sym_error] = ACTIONS(55), + [anon_sym_BANG] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(63), + [anon_sym_assume] = ACTIONS(65), + [anon_sym_havoc] = ACTIONS(67), + [anon_sym_if] = ACTIONS(69), + [anon_sym_while] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(77), + [anon_sym_break] = ACTIONS(79), + [anon_sym_continue] = ACTIONS(81), + [anon_sym_assert] = ACTIONS(83), + [anon_sym_try] = ACTIONS(85), + [anon_sym_switch] = ACTIONS(87), + [anon_sym_PLUS] = ACTIONS(59), + [anon_sym_DASH] = ACTIONS(59), + [anon_sym_old] = ACTIONS(89), + [anon_sym_forall] = ACTIONS(91), + [anon_sym_exists] = ACTIONS(91), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(85), - [anon_sym_false] = ACTIONS(85), - [aux_sym_number_literal_token1] = ACTIONS(87), - [aux_sym_number_literal_token2] = ACTIONS(87), - [aux_sym_number_literal_token3] = ACTIONS(89), - [sym_string_literal] = ACTIONS(91), + [anon_sym_true] = ACTIONS(93), + [anon_sym_false] = ACTIONS(93), + [aux_sym_number_literal_token1] = ACTIONS(95), + [aux_sym_number_literal_token2] = ACTIONS(95), + [aux_sym_number_literal_token3] = ACTIONS(97), + [sym_bytes_literal] = ACTIONS(99), + [sym_string_literal] = ACTIONS(99), }, - [STATE(11)] = { - [ts_builtin_sym_end] = ACTIONS(183), - [sym_identifier] = ACTIONS(185), - [anon_sym_AT] = ACTIONS(183), - [anon_sym_LPAREN] = ACTIONS(183), - [anon_sym_RPAREN] = ACTIONS(183), - [anon_sym_SEMI] = ACTIONS(183), - [anon_sym_const] = ACTIONS(185), - [anon_sym_contract] = ACTIONS(185), - [anon_sym_LBRACE] = ACTIONS(183), - [anon_sym_RBRACE] = ACTIONS(183), - [anon_sym_pub] = ACTIONS(185), - [anon_sym_fn] = ACTIONS(185), - [anon_sym_COMMA] = ACTIONS(183), - [anon_sym_storage] = ACTIONS(185), - [anon_sym_memory] = ACTIONS(185), - [anon_sym_tstore] = ACTIONS(185), - [anon_sym_var] = ACTIONS(185), - [anon_sym_let] = ACTIONS(185), - [anon_sym_immutable] = ACTIONS(185), - [anon_sym_struct] = ACTIONS(185), - [anon_sym_bitfield] = ACTIONS(185), - [anon_sym_enum] = ACTIONS(185), - [anon_sym_log] = ACTIONS(185), - [anon_sym_error] = ACTIONS(185), - [anon_sym_ghost] = ACTIONS(185), - [anon_sym_invariant] = ACTIONS(185), - [anon_sym_BANG] = ACTIONS(185), - [anon_sym_PIPE] = ACTIONS(185), - [anon_sym_LT] = ACTIONS(185), - [anon_sym_GT] = ACTIONS(185), - [anon_sym_LBRACK] = ACTIONS(183), - [anon_sym_RBRACK] = ACTIONS(183), - [anon_sym_DOT] = ACTIONS(185), - [anon_sym_if] = ACTIONS(185), - [anon_sym_else] = ACTIONS(185), - [anon_sym_while] = ACTIONS(185), - [anon_sym_for] = ACTIONS(185), - [anon_sym_return] = ACTIONS(185), - [anon_sym_break] = ACTIONS(185), - [anon_sym_continue] = ACTIONS(185), - [anon_sym_assert] = ACTIONS(185), - [anon_sym_try] = ACTIONS(185), - [anon_sym_catch] = ACTIONS(185), - [anon_sym_switch] = ACTIONS(185), - [anon_sym_EQ_GT] = ACTIONS(183), - [anon_sym_DOT_DOT_DOT] = ACTIONS(183), - [anon_sym_PIPE_PIPE] = ACTIONS(183), - [anon_sym_AMP_AMP] = ACTIONS(183), - [anon_sym_CARET] = ACTIONS(183), - [anon_sym_AMP] = ACTIONS(185), - [anon_sym_EQ_EQ] = ACTIONS(183), - [anon_sym_BANG_EQ] = ACTIONS(183), - [anon_sym_LT_EQ] = ACTIONS(183), - [anon_sym_GT_EQ] = ACTIONS(183), - [anon_sym_LT_LT] = ACTIONS(185), - [anon_sym_GT_GT] = ACTIONS(185), - [anon_sym_LT_LT_PERCENT] = ACTIONS(183), - [anon_sym_GT_GT_PERCENT] = ACTIONS(183), - [anon_sym_PLUS] = ACTIONS(185), - [anon_sym_DASH] = ACTIONS(185), - [anon_sym_PLUS_PERCENT] = ACTIONS(183), - [anon_sym_DASH_PERCENT] = ACTIONS(183), - [anon_sym_STAR] = ACTIONS(185), - [anon_sym_SLASH] = ACTIONS(185), - [anon_sym_PERCENT] = ACTIONS(183), - [anon_sym_STAR_PERCENT] = ACTIONS(183), - [anon_sym_old] = ACTIONS(185), - [anon_sym_comptime] = ACTIONS(185), - [anon_sym_forall] = ACTIONS(185), - [anon_sym_exists] = ACTIONS(185), + [STATE(14)] = { + [sym_variable_declaration] = STATE(273), + [sym_memory_region] = STATE(694), + [sym_variable_kind] = STATE(777), + [sym_generic_type] = STATE(802), + [sym__statement] = STATE(273), + [sym_assignment_statement] = STATE(273), + [sym_compound_assignment_statement] = STATE(273), + [sym_destructuring_assignment] = STATE(273), + [sym_tuple_variable_declaration] = STATE(273), + [sym_expression_statement] = STATE(273), + [sym_requires_statement] = STATE(273), + [sym_ensures_statement] = STATE(273), + [sym_assume_statement] = STATE(273), + [sym_havoc_statement] = STATE(273), + [sym_comptime_statement] = STATE(273), + [sym_if_statement] = STATE(273), + [sym_while_statement] = STATE(273), + [sym_for_statement] = STATE(273), + [sym_return_statement] = STATE(273), + [sym_break_statement] = STATE(273), + [sym_continue_statement] = STATE(273), + [sym_log_statement] = STATE(273), + [sym_lock_statement] = STATE(273), + [sym_unlock_statement] = STATE(273), + [sym_assert_statement] = STATE(273), + [sym_try_statement] = STATE(273), + [sym_block] = STATE(273), + [sym_labeled_block] = STATE(273), + [sym_switch_statement] = STATE(273), + [sym_switch_expression] = STATE(59), + [sym__expression] = STATE(534), + [sym_assignment_expression] = STATE(534), + [sym_binary_expression] = STATE(534), + [sym_unary_expression] = STATE(534), + [sym_postfix_expression] = STATE(534), + [sym_lvalue] = STATE(670), + [sym_primary_expression] = STATE(337), + [sym_literal] = STATE(59), + [sym_parenthesized_expression] = STATE(59), + [sym_try_expression] = STATE(59), + [sym_old_expression] = STATE(59), + [sym_comptime_expression] = STATE(59), + [sym_cast_expression] = STATE(59), + [sym_intrinsic_expression] = STATE(59), + [sym_error_expression] = STATE(59), + [sym_error_identifier] = STATE(59), + [sym_quantified_expression] = STATE(59), + [sym_struct_literal] = STATE(59), + [sym_anonymous_struct_literal] = STATE(59), + [sym_array_literal] = STATE(59), + [sym_tuple_expression] = STATE(59), + [sym_bool_literal] = STATE(32), + [sym_number_literal] = STATE(32), + [sym_identifier] = ACTIONS(37), + [anon_sym_AT] = ACTIONS(39), + [anon_sym_LPAREN] = ACTIONS(41), + [anon_sym_const] = ACTIONS(21), + [anon_sym_LBRACE] = ACTIONS(43), + [anon_sym_comptime] = ACTIONS(45), + [anon_sym_requires] = ACTIONS(47), + [anon_sym_ensures] = ACTIONS(49), + [anon_sym_storage] = ACTIONS(19), + [anon_sym_memory] = ACTIONS(19), + [anon_sym_tstore] = ACTIONS(19), + [anon_sym_calldata] = ACTIONS(19), + [anon_sym_var] = ACTIONS(21), + [anon_sym_let] = ACTIONS(51), + [anon_sym_immutable] = ACTIONS(21), + [anon_sym_log] = ACTIONS(53), + [anon_sym_error] = ACTIONS(55), + [anon_sym_BANG] = ACTIONS(59), + [anon_sym_LBRACK] = ACTIONS(61), + [anon_sym_DOT] = ACTIONS(63), + [anon_sym_assume] = ACTIONS(65), + [anon_sym_havoc] = ACTIONS(67), + [anon_sym_if] = ACTIONS(69), + [anon_sym_while] = ACTIONS(71), + [anon_sym_for] = ACTIONS(73), + [anon_sym_return] = ACTIONS(77), + [anon_sym_break] = ACTIONS(79), + [anon_sym_continue] = ACTIONS(81), + [anon_sym_assert] = ACTIONS(83), + [anon_sym_try] = ACTIONS(85), + [anon_sym_switch] = ACTIONS(87), + [anon_sym_PLUS] = ACTIONS(59), + [anon_sym_DASH] = ACTIONS(59), + [anon_sym_old] = ACTIONS(89), + [anon_sym_forall] = ACTIONS(91), + [anon_sym_exists] = ACTIONS(91), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(185), - [anon_sym_false] = ACTIONS(185), - [aux_sym_number_literal_token1] = ACTIONS(183), - [aux_sym_number_literal_token2] = ACTIONS(183), - [aux_sym_number_literal_token3] = ACTIONS(185), - [sym_string_literal] = ACTIONS(183), + [anon_sym_true] = ACTIONS(93), + [anon_sym_false] = ACTIONS(93), + [aux_sym_number_literal_token1] = ACTIONS(95), + [aux_sym_number_literal_token2] = ACTIONS(95), + [aux_sym_number_literal_token3] = ACTIONS(97), + [sym_bytes_literal] = ACTIONS(99), + [sym_string_literal] = ACTIONS(99), }, - [STATE(12)] = { - [ts_builtin_sym_end] = ACTIONS(187), - [sym_identifier] = ACTIONS(189), - [anon_sym_AT] = ACTIONS(187), - [anon_sym_LPAREN] = ACTIONS(187), - [anon_sym_RPAREN] = ACTIONS(187), - [anon_sym_SEMI] = ACTIONS(187), - [anon_sym_const] = ACTIONS(189), - [anon_sym_contract] = ACTIONS(189), - [anon_sym_LBRACE] = ACTIONS(187), - [anon_sym_RBRACE] = ACTIONS(187), - [anon_sym_pub] = ACTIONS(189), - [anon_sym_fn] = ACTIONS(189), - [anon_sym_COMMA] = ACTIONS(187), - [anon_sym_storage] = ACTIONS(189), - [anon_sym_memory] = ACTIONS(189), - [anon_sym_tstore] = ACTIONS(189), - [anon_sym_var] = ACTIONS(189), - [anon_sym_let] = ACTIONS(189), - [anon_sym_immutable] = ACTIONS(189), - [anon_sym_struct] = ACTIONS(189), - [anon_sym_bitfield] = ACTIONS(189), - [anon_sym_enum] = ACTIONS(189), - [anon_sym_log] = ACTIONS(189), - [anon_sym_error] = ACTIONS(189), - [anon_sym_ghost] = ACTIONS(189), - [anon_sym_invariant] = ACTIONS(189), - [anon_sym_BANG] = ACTIONS(189), - [anon_sym_PIPE] = ACTIONS(189), - [anon_sym_LT] = ACTIONS(189), - [anon_sym_GT] = ACTIONS(189), - [anon_sym_LBRACK] = ACTIONS(187), - [anon_sym_RBRACK] = ACTIONS(187), - [anon_sym_DOT] = ACTIONS(189), - [anon_sym_if] = ACTIONS(189), - [anon_sym_else] = ACTIONS(189), - [anon_sym_while] = ACTIONS(189), - [anon_sym_for] = ACTIONS(189), - [anon_sym_return] = ACTIONS(189), - [anon_sym_break] = ACTIONS(189), - [anon_sym_continue] = ACTIONS(189), - [anon_sym_assert] = ACTIONS(189), - [anon_sym_try] = ACTIONS(189), - [anon_sym_catch] = ACTIONS(189), - [anon_sym_switch] = ACTIONS(189), - [anon_sym_EQ_GT] = ACTIONS(187), - [anon_sym_DOT_DOT_DOT] = ACTIONS(187), - [anon_sym_PIPE_PIPE] = ACTIONS(187), - [anon_sym_AMP_AMP] = ACTIONS(187), - [anon_sym_CARET] = ACTIONS(187), - [anon_sym_AMP] = ACTIONS(189), - [anon_sym_EQ_EQ] = ACTIONS(187), - [anon_sym_BANG_EQ] = ACTIONS(187), - [anon_sym_LT_EQ] = ACTIONS(187), - [anon_sym_GT_EQ] = ACTIONS(187), - [anon_sym_LT_LT] = ACTIONS(189), - [anon_sym_GT_GT] = ACTIONS(189), - [anon_sym_LT_LT_PERCENT] = ACTIONS(187), - [anon_sym_GT_GT_PERCENT] = ACTIONS(187), - [anon_sym_PLUS] = ACTIONS(189), - [anon_sym_DASH] = ACTIONS(189), - [anon_sym_PLUS_PERCENT] = ACTIONS(187), - [anon_sym_DASH_PERCENT] = ACTIONS(187), - [anon_sym_STAR] = ACTIONS(189), - [anon_sym_SLASH] = ACTIONS(189), - [anon_sym_PERCENT] = ACTIONS(187), - [anon_sym_STAR_PERCENT] = ACTIONS(187), - [anon_sym_old] = ACTIONS(189), - [anon_sym_comptime] = ACTIONS(189), - [anon_sym_forall] = ACTIONS(189), - [anon_sym_exists] = ACTIONS(189), + [STATE(15)] = { + [sym_identifier] = ACTIONS(211), + [anon_sym_AT] = ACTIONS(213), + [anon_sym_LPAREN] = ACTIONS(213), + [anon_sym_SEMI] = ACTIONS(213), + [anon_sym_const] = ACTIONS(211), + [anon_sym_LBRACE] = ACTIONS(213), + [anon_sym_RBRACE] = ACTIONS(213), + [anon_sym_COMMA] = ACTIONS(213), + [anon_sym_comptime] = ACTIONS(211), + [anon_sym_requires] = ACTIONS(211), + [anon_sym_ensures] = ACTIONS(211), + [anon_sym_storage] = ACTIONS(211), + [anon_sym_memory] = ACTIONS(211), + [anon_sym_tstore] = ACTIONS(211), + [anon_sym_calldata] = ACTIONS(211), + [anon_sym_var] = ACTIONS(211), + [anon_sym_let] = ACTIONS(211), + [anon_sym_immutable] = ACTIONS(211), + [anon_sym_DOT_DOT] = ACTIONS(213), + [anon_sym_log] = ACTIONS(211), + [anon_sym_error] = ACTIONS(211), + [anon_sym_BANG] = ACTIONS(211), + [anon_sym_PIPE] = ACTIONS(211), + [anon_sym_LT] = ACTIONS(211), + [anon_sym_GT] = ACTIONS(211), + [anon_sym_LBRACK] = ACTIONS(213), + [anon_sym_DOT] = ACTIONS(211), + [anon_sym_assume] = ACTIONS(211), + [anon_sym_havoc] = ACTIONS(211), + [anon_sym_if] = ACTIONS(211), + [anon_sym_else] = ACTIONS(211), + [anon_sym_while] = ACTIONS(211), + [anon_sym_for] = ACTIONS(211), + [anon_sym_return] = ACTIONS(211), + [anon_sym_break] = ACTIONS(211), + [anon_sym_continue] = ACTIONS(211), + [anon_sym_assert] = ACTIONS(211), + [anon_sym_try] = ACTIONS(211), + [anon_sym_catch] = ACTIONS(211), + [anon_sym_switch] = ACTIONS(211), + [anon_sym_PIPE_PIPE] = ACTIONS(213), + [anon_sym_AMP_AMP] = ACTIONS(213), + [anon_sym_CARET] = ACTIONS(213), + [anon_sym_AMP] = ACTIONS(211), + [anon_sym_EQ_EQ] = ACTIONS(213), + [anon_sym_BANG_EQ] = ACTIONS(213), + [anon_sym_LT_EQ] = ACTIONS(213), + [anon_sym_GT_EQ] = ACTIONS(213), + [anon_sym_LT_LT] = ACTIONS(211), + [anon_sym_GT_GT] = ACTIONS(211), + [anon_sym_LT_LT_PERCENT] = ACTIONS(213), + [anon_sym_GT_GT_PERCENT] = ACTIONS(213), + [anon_sym_PLUS] = ACTIONS(211), + [anon_sym_DASH] = ACTIONS(211), + [anon_sym_PLUS_PERCENT] = ACTIONS(213), + [anon_sym_DASH_PERCENT] = ACTIONS(213), + [anon_sym_STAR] = ACTIONS(211), + [anon_sym_SLASH] = ACTIONS(211), + [anon_sym_PERCENT] = ACTIONS(213), + [anon_sym_STAR_PERCENT] = ACTIONS(213), + [anon_sym_STAR_STAR] = ACTIONS(211), + [anon_sym_STAR_STAR_PERCENT] = ACTIONS(213), + [anon_sym_old] = ACTIONS(211), + [anon_sym_forall] = ACTIONS(211), + [anon_sym_exists] = ACTIONS(211), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(211), + [anon_sym_false] = ACTIONS(211), + [aux_sym_number_literal_token1] = ACTIONS(213), + [aux_sym_number_literal_token2] = ACTIONS(213), + [aux_sym_number_literal_token3] = ACTIONS(211), + [sym_bytes_literal] = ACTIONS(213), + [sym_string_literal] = ACTIONS(213), + }, + [STATE(16)] = { + [sym_identifier] = ACTIONS(215), + [anon_sym_AT] = ACTIONS(217), + [anon_sym_LPAREN] = ACTIONS(217), + [anon_sym_SEMI] = ACTIONS(217), + [anon_sym_const] = ACTIONS(215), + [anon_sym_LBRACE] = ACTIONS(217), + [anon_sym_RBRACE] = ACTIONS(217), + [anon_sym_COMMA] = ACTIONS(217), + [anon_sym_comptime] = ACTIONS(215), + [anon_sym_requires] = ACTIONS(215), + [anon_sym_ensures] = ACTIONS(215), + [anon_sym_storage] = ACTIONS(215), + [anon_sym_memory] = ACTIONS(215), + [anon_sym_tstore] = ACTIONS(215), + [anon_sym_calldata] = ACTIONS(215), + [anon_sym_var] = ACTIONS(215), + [anon_sym_let] = ACTIONS(215), + [anon_sym_immutable] = ACTIONS(215), + [anon_sym_DOT_DOT] = ACTIONS(217), + [anon_sym_log] = ACTIONS(215), + [anon_sym_error] = ACTIONS(215), + [anon_sym_BANG] = ACTIONS(215), + [anon_sym_PIPE] = ACTIONS(215), + [anon_sym_LT] = ACTIONS(215), + [anon_sym_GT] = ACTIONS(215), + [anon_sym_LBRACK] = ACTIONS(217), + [anon_sym_DOT] = ACTIONS(215), + [anon_sym_assume] = ACTIONS(215), + [anon_sym_havoc] = ACTIONS(215), + [anon_sym_if] = ACTIONS(215), + [anon_sym_else] = ACTIONS(215), + [anon_sym_while] = ACTIONS(215), + [anon_sym_for] = ACTIONS(215), + [anon_sym_return] = ACTIONS(215), + [anon_sym_break] = ACTIONS(215), + [anon_sym_continue] = ACTIONS(215), + [anon_sym_assert] = ACTIONS(215), + [anon_sym_try] = ACTIONS(215), + [anon_sym_catch] = ACTIONS(215), + [anon_sym_switch] = ACTIONS(215), + [anon_sym_PIPE_PIPE] = ACTIONS(217), + [anon_sym_AMP_AMP] = ACTIONS(217), + [anon_sym_CARET] = ACTIONS(217), + [anon_sym_AMP] = ACTIONS(215), + [anon_sym_EQ_EQ] = ACTIONS(217), + [anon_sym_BANG_EQ] = ACTIONS(217), + [anon_sym_LT_EQ] = ACTIONS(217), + [anon_sym_GT_EQ] = ACTIONS(217), + [anon_sym_LT_LT] = ACTIONS(215), + [anon_sym_GT_GT] = ACTIONS(215), + [anon_sym_LT_LT_PERCENT] = ACTIONS(217), + [anon_sym_GT_GT_PERCENT] = ACTIONS(217), + [anon_sym_PLUS] = ACTIONS(215), + [anon_sym_DASH] = ACTIONS(215), + [anon_sym_PLUS_PERCENT] = ACTIONS(217), + [anon_sym_DASH_PERCENT] = ACTIONS(217), + [anon_sym_STAR] = ACTIONS(215), + [anon_sym_SLASH] = ACTIONS(215), + [anon_sym_PERCENT] = ACTIONS(217), + [anon_sym_STAR_PERCENT] = ACTIONS(217), + [anon_sym_STAR_STAR] = ACTIONS(215), + [anon_sym_STAR_STAR_PERCENT] = ACTIONS(217), + [anon_sym_old] = ACTIONS(215), + [anon_sym_forall] = ACTIONS(215), + [anon_sym_exists] = ACTIONS(215), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(215), + [anon_sym_false] = ACTIONS(215), + [aux_sym_number_literal_token1] = ACTIONS(217), + [aux_sym_number_literal_token2] = ACTIONS(217), + [aux_sym_number_literal_token3] = ACTIONS(215), + [sym_bytes_literal] = ACTIONS(217), + [sym_string_literal] = ACTIONS(217), + }, + [STATE(17)] = { + [sym_identifier] = ACTIONS(219), + [anon_sym_AT] = ACTIONS(221), + [anon_sym_LPAREN] = ACTIONS(223), + [anon_sym_SEMI] = ACTIONS(226), + [anon_sym_const] = ACTIONS(219), + [anon_sym_LBRACE] = ACTIONS(221), + [anon_sym_RBRACE] = ACTIONS(221), + [anon_sym_COMMA] = ACTIONS(221), + [anon_sym_comptime] = ACTIONS(219), + [anon_sym_requires] = ACTIONS(219), + [anon_sym_ensures] = ACTIONS(219), + [anon_sym_storage] = ACTIONS(219), + [anon_sym_memory] = ACTIONS(219), + [anon_sym_tstore] = ACTIONS(219), + [anon_sym_calldata] = ACTIONS(219), + [anon_sym_var] = ACTIONS(219), + [anon_sym_let] = ACTIONS(219), + [anon_sym_immutable] = ACTIONS(219), + [anon_sym_DOT_DOT] = ACTIONS(226), + [anon_sym_log] = ACTIONS(219), + [anon_sym_error] = ACTIONS(219), + [anon_sym_BANG] = ACTIONS(219), + [anon_sym_PIPE] = ACTIONS(228), + [anon_sym_LT] = ACTIONS(228), + [anon_sym_GT] = ACTIONS(228), + [anon_sym_LBRACK] = ACTIONS(223), + [anon_sym_DOT] = ACTIONS(230), + [anon_sym_assume] = ACTIONS(219), + [anon_sym_havoc] = ACTIONS(219), + [anon_sym_if] = ACTIONS(219), + [anon_sym_else] = ACTIONS(219), + [anon_sym_while] = ACTIONS(219), + [anon_sym_for] = ACTIONS(219), + [anon_sym_return] = ACTIONS(219), + [anon_sym_break] = ACTIONS(219), + [anon_sym_continue] = ACTIONS(219), + [anon_sym_assert] = ACTIONS(219), + [anon_sym_try] = ACTIONS(219), + [anon_sym_switch] = ACTIONS(219), + [anon_sym_PIPE_PIPE] = ACTIONS(226), + [anon_sym_AMP_AMP] = ACTIONS(226), + [anon_sym_CARET] = ACTIONS(226), + [anon_sym_AMP] = ACTIONS(228), + [anon_sym_EQ_EQ] = ACTIONS(226), + [anon_sym_BANG_EQ] = ACTIONS(226), + [anon_sym_LT_EQ] = ACTIONS(226), + [anon_sym_GT_EQ] = ACTIONS(226), + [anon_sym_LT_LT] = ACTIONS(228), + [anon_sym_GT_GT] = ACTIONS(228), + [anon_sym_LT_LT_PERCENT] = ACTIONS(226), + [anon_sym_GT_GT_PERCENT] = ACTIONS(226), + [anon_sym_PLUS] = ACTIONS(230), + [anon_sym_DASH] = ACTIONS(230), + [anon_sym_PLUS_PERCENT] = ACTIONS(226), + [anon_sym_DASH_PERCENT] = ACTIONS(226), + [anon_sym_STAR] = ACTIONS(228), + [anon_sym_SLASH] = ACTIONS(228), + [anon_sym_PERCENT] = ACTIONS(226), + [anon_sym_STAR_PERCENT] = ACTIONS(226), + [anon_sym_STAR_STAR] = ACTIONS(228), + [anon_sym_STAR_STAR_PERCENT] = ACTIONS(226), + [anon_sym_old] = ACTIONS(219), + [anon_sym_forall] = ACTIONS(219), + [anon_sym_exists] = ACTIONS(219), + [sym_comment] = ACTIONS(3), + [anon_sym_true] = ACTIONS(219), + [anon_sym_false] = ACTIONS(219), + [aux_sym_number_literal_token1] = ACTIONS(221), + [aux_sym_number_literal_token2] = ACTIONS(221), + [aux_sym_number_literal_token3] = ACTIONS(219), + [sym_bytes_literal] = ACTIONS(221), + [sym_string_literal] = ACTIONS(221), + }, + [STATE(18)] = { + [sym_type_argument_list_angle] = STATE(642), + [sym_type_argument_list_paren] = STATE(642), + [sym_struct_literal_fields] = STATE(48), + [aux_sym_lvalue_repeat1] = STATE(656), + [sym_identifier] = ACTIONS(233), + [anon_sym_AT] = ACTIONS(235), + [anon_sym_LPAREN] = ACTIONS(237), + [anon_sym_RPAREN] = ACTIONS(240), + [anon_sym_SEMI] = ACTIONS(235), + [anon_sym_EQ] = ACTIONS(243), + [anon_sym_LBRACE] = ACTIONS(245), + [anon_sym_RBRACE] = ACTIONS(235), + [anon_sym_COMMA] = ACTIONS(235), + [anon_sym_comptime] = ACTIONS(233), + [anon_sym_DOT_DOT] = ACTIONS(235), + [anon_sym_error] = ACTIONS(233), + [anon_sym_BANG] = ACTIONS(233), + [anon_sym_PIPE] = ACTIONS(233), + [anon_sym_LT] = ACTIONS(247), + [anon_sym_GT] = ACTIONS(233), + [anon_sym_LBRACK] = ACTIONS(250), + [anon_sym_RBRACK] = ACTIONS(235), + [anon_sym_PLUS_EQ] = ACTIONS(253), + [anon_sym_DASH_EQ] = ACTIONS(253), + [anon_sym_STAR_EQ] = ACTIONS(253), + [anon_sym_SLASH_EQ] = ACTIONS(253), + [anon_sym_PERCENT_EQ] = ACTIONS(253), + [anon_sym_DOT] = ACTIONS(255), + [anon_sym_else] = ACTIONS(233), + [anon_sym_try] = ACTIONS(233), + [anon_sym_switch] = ACTIONS(233), + [anon_sym_EQ_GT] = ACTIONS(235), + [anon_sym_PIPE_PIPE] = ACTIONS(235), + [anon_sym_AMP_AMP] = ACTIONS(235), + [anon_sym_CARET] = ACTIONS(235), + [anon_sym_AMP] = ACTIONS(233), + [anon_sym_EQ_EQ] = ACTIONS(235), + [anon_sym_BANG_EQ] = ACTIONS(235), + [anon_sym_LT_EQ] = ACTIONS(235), + [anon_sym_GT_EQ] = ACTIONS(235), + [anon_sym_LT_LT] = ACTIONS(233), + [anon_sym_GT_GT] = ACTIONS(233), + [anon_sym_LT_LT_PERCENT] = ACTIONS(235), + [anon_sym_GT_GT_PERCENT] = ACTIONS(235), + [anon_sym_PLUS] = ACTIONS(233), + [anon_sym_DASH] = ACTIONS(233), + [anon_sym_PLUS_PERCENT] = ACTIONS(235), + [anon_sym_DASH_PERCENT] = ACTIONS(235), + [anon_sym_STAR] = ACTIONS(233), + [anon_sym_SLASH] = ACTIONS(233), + [anon_sym_PERCENT] = ACTIONS(233), + [anon_sym_STAR_PERCENT] = ACTIONS(235), + [anon_sym_STAR_STAR] = ACTIONS(233), + [anon_sym_STAR_STAR_PERCENT] = ACTIONS(235), + [anon_sym_old] = ACTIONS(233), + [anon_sym_forall] = ACTIONS(233), + [anon_sym_exists] = ACTIONS(233), [sym_comment] = ACTIONS(3), - [anon_sym_true] = ACTIONS(189), - [anon_sym_false] = ACTIONS(189), - [aux_sym_number_literal_token1] = ACTIONS(187), - [aux_sym_number_literal_token2] = ACTIONS(187), - [aux_sym_number_literal_token3] = ACTIONS(189), - [sym_string_literal] = ACTIONS(187), + [anon_sym_true] = ACTIONS(233), + [anon_sym_false] = ACTIONS(233), + [aux_sym_number_literal_token1] = ACTIONS(235), + [aux_sym_number_literal_token2] = ACTIONS(235), + [aux_sym_number_literal_token3] = ACTIONS(233), + [sym_bytes_literal] = ACTIONS(235), + [sym_string_literal] = ACTIONS(235), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 7, + [0] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(202), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(195), 3, + ACTIONS(237), 1, anon_sym_LPAREN, + ACTIONS(243), 1, + anon_sym_EQ, + ACTIONS(245), 1, + anon_sym_LBRACE, + ACTIONS(247), 1, + anon_sym_LT, + ACTIONS(250), 1, anon_sym_LBRACK, + ACTIONS(255), 1, anon_sym_DOT, - ACTIONS(193), 6, + ACTIONS(258), 1, + anon_sym_COLON, + STATE(48), 1, + sym_struct_literal_fields, + STATE(656), 1, + aux_sym_lvalue_repeat1, + STATE(642), 2, + sym_type_argument_list_angle, + sym_type_argument_list_paren, + ACTIONS(253), 5, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + ACTIONS(235), 22, anon_sym_AT, - anon_sym_LBRACE, + anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(200), 8, + ACTIONS(233), 24, + anon_sym_comptime, + anon_sym_error, + anon_sym_BANG, anon_sym_PIPE, - anon_sym_LT, anon_sym_GT, + anon_sym_else, + anon_sym_try, + anon_sym_switch, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(198), 14, + anon_sym_PERCENT, + anon_sym_STAR_STAR, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [92] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(217), 25, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -5618,67 +7532,54 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(191), 28, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(215), 31, anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, anon_sym_storage, anon_sym_memory, anon_sym_tstore, + anon_sym_calldata, anon_sym_var, anon_sym_let, anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, anon_sym_log, anon_sym_error, - anon_sym_BANG, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, + anon_sym_ghost, + anon_sym_invariant, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, sym_identifier, - [77] = 11, + [156] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(209), 1, - anon_sym_RPAREN, - ACTIONS(212), 1, - anon_sym_EQ, - ACTIONS(214), 1, - anon_sym_LBRACE, - ACTIONS(216), 1, - anon_sym_LBRACK, - ACTIONS(221), 1, - anon_sym_DOT, - STATE(30), 1, - sym_struct_literal_fields, - STATE(359), 1, - aux_sym_lvalue_repeat1, - ACTIONS(219), 5, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - ACTIONS(207), 23, + ACTIONS(213), 25, + ts_builtin_sym_end, anon_sym_AT, anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -5690,19 +7591,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_GT_PERCENT, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, + anon_sym_PERCENT, anon_sym_STAR_PERCENT, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(205), 24, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(211), 31, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, anon_sym_error, - anon_sym_BANG, + anon_sym_ghost, + anon_sym_invariant, anon_sym_PIPE, anon_sym_LT, anon_sym_GT, - anon_sym_else, - anon_sym_try, - anon_sym_switch, + anon_sym_DOT, anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, @@ -5710,28 +7624,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, - anon_sym_PERCENT, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, + anon_sym_STAR_STAR, sym_identifier, - [160] = 7, + [220] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(228), 1, + ACTIONS(264), 1, anon_sym_LPAREN, - ACTIONS(231), 1, + ACTIONS(267), 1, anon_sym_LBRACK, - ACTIONS(234), 1, + ACTIONS(270), 1, anon_sym_DOT, - STATE(15), 2, + STATE(22), 2, sym_postfix_operator, aux_sym_postfix_expression_repeat1, - ACTIONS(224), 23, + ACTIONS(260), 24, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -5747,23 +7655,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(226), 24, + ACTIONS(262), 26, anon_sym_AT, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -5777,85 +7685,111 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [228] = 4, + [291] = 29, ACTIONS(3), 1, sym_comment, - STATE(15), 2, - sym_postfix_operator, - aux_sym_postfix_expression_repeat1, - ACTIONS(237), 24, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(279), 1, + anon_sym_RBRACE, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - anon_sym_BANG, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, + ACTIONS(287), 1, + anon_sym_LBRACK, + ACTIONS(289), 1, anon_sym_DOT, + ACTIONS(291), 1, anon_sym_else, + ACTIONS(293), 1, anon_sym_try, + ACTIONS(295), 1, anon_sym_switch, - anon_sym_AMP, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, + ACTIONS(297), 1, anon_sym_old, - anon_sym_comptime, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(391), 1, + sym_primary_expression, + STATE(685), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + STATE(895), 1, + sym_range_pattern, + STATE(896), 1, + sym_switch_pattern, + ACTIONS(299), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - ACTIONS(239), 26, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, sym_string_literal, - [290] = 7, + STATE(37), 2, + sym_switch_arm, + aux_sym_switch_statement_repeat1, + STATE(38), 2, + sym_switch_expression_arm, + aux_sym_switch_expression_repeat1, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(285), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(516), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [406] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(245), 1, - anon_sym_LPAREN, - ACTIONS(247), 1, - anon_sym_LBRACK, - ACTIONS(249), 1, - anon_sym_DOT, - STATE(16), 2, + STATE(22), 2, sym_postfix_operator, aux_sym_postfix_expression_repeat1, - ACTIONS(241), 23, + ACTIONS(309), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, anon_sym_LT, anon_sym_GT, + anon_sym_DOT, anon_sym_else, anon_sym_try, anon_sym_switch, @@ -5866,23 +7800,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(243), 24, + ACTIONS(311), 28, anon_sym_AT, + anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -5896,20 +7832,30 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [358] = 3, + [471] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(251), 25, - anon_sym_DOT_DOT, + ACTIONS(317), 1, + anon_sym_LPAREN, + ACTIONS(319), 1, + anon_sym_LBRACK, + ACTIONS(321), 1, + anon_sym_DOT, + STATE(24), 2, + sym_postfix_operator, + aux_sym_postfix_expression_repeat1, + ACTIONS(313), 24, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, anon_sym_LT, anon_sym_GT, - anon_sym_DOT, anon_sym_else, anon_sym_try, anon_sym_switch, @@ -5920,25 +7866,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(253), 26, + ACTIONS(315), 26, anon_sym_AT, - anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, - anon_sym_LBRACK, + anon_sym_DOT_DOT, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -5952,13 +7896,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [417] = 3, + [542] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(255), 24, + ACTIONS(228), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -5975,25 +7922,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(257), 26, + ACTIONS(226), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6007,13 +7954,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [475] = 3, + [603] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 24, + ACTIONS(323), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6030,25 +7980,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(261), 26, + ACTIONS(325), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6062,13 +8012,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [533] = 3, + [664] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(263), 24, + ACTIONS(327), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6085,25 +8038,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(265), 26, + ACTIONS(329), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6117,13 +8070,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [591] = 3, + [725] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(267), 24, + ACTIONS(331), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6140,25 +8096,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(269), 26, + ACTIONS(333), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6172,13 +8128,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [649] = 3, + [786] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(271), 24, + ACTIONS(335), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6195,25 +8154,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(273), 26, + ACTIONS(337), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6227,13 +8186,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [707] = 3, + [847] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(275), 24, + ACTIONS(339), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6250,25 +8212,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(277), 26, + ACTIONS(341), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6282,13 +8244,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [765] = 3, + [908] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(279), 24, + ACTIONS(343), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6305,25 +8270,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(281), 26, + ACTIONS(345), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6337,13 +8302,99 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [969] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, + anon_sym_LBRACK, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(291), 1, + anon_sym_else, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + ACTIONS(347), 1, + anon_sym_RBRACE, + STATE(391), 1, + sym_primary_expression, + STATE(685), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + STATE(895), 1, + sym_range_pattern, + STATE(927), 1, + sym_switch_pattern, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, sym_string_literal, - [823] = 3, + STATE(38), 2, + sym_switch_expression_arm, + aux_sym_switch_expression_repeat1, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(285), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(516), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [1080] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(283), 24, + ACTIONS(349), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6360,25 +8411,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(285), 26, + ACTIONS(351), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6392,13 +8443,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [881] = 3, + [1141] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(287), 24, + ACTIONS(353), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6415,25 +8469,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(289), 26, + ACTIONS(355), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6447,13 +8501,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [939] = 3, + [1202] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(291), 24, + ACTIONS(357), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6470,25 +8527,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(293), 26, + ACTIONS(359), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6502,77 +8559,79 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [997] = 28, + [1263] = 28, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, - anon_sym_AT, - ACTIONS(299), 1, - anon_sym_RBRACE, - ACTIONS(301), 1, + ACTIONS(291), 1, anon_sym_else, - ACTIONS(303), 1, + ACTIONS(293), 1, anon_sym_try, - ACTIONS(305), 1, + ACTIONS(295), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + ACTIONS(361), 1, + anon_sym_RBRACE, + STATE(391), 1, sym_primary_expression, - STATE(378), 1, + STATE(685), 1, sym_lvalue, - STATE(541), 1, + STATE(798), 1, + sym_generic_type, + STATE(895), 1, sym_range_pattern, - STATE(553), 1, + STATE(941), 1, sym_switch_pattern, - ACTIONS(83), 2, + ACTIONS(299), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, - sym_bool_literal, - sym_number_literal, - STATE(59), 2, - sym_switch_expression_arm, - aux_sym_switch_expression_repeat1, - STATE(60), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(43), 2, sym_switch_arm, aux_sym_switch_statement_repeat1, - ACTIONS(55), 3, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(260), 5, + STATE(516), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -6580,70 +8639,102 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [1105] = 3, + sym_tuple_expression, + [1374] = 28, ACTIONS(3), 1, sym_comment, - ACTIONS(307), 24, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - anon_sym_BANG, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, + ACTIONS(287), 1, + anon_sym_LBRACK, + ACTIONS(289), 1, anon_sym_DOT, + ACTIONS(291), 1, anon_sym_else, + ACTIONS(293), 1, anon_sym_try, + ACTIONS(295), 1, anon_sym_switch, - anon_sym_AMP, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, + ACTIONS(297), 1, anon_sym_old, - anon_sym_comptime, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + ACTIONS(363), 1, + anon_sym_RBRACE, + STATE(391), 1, + sym_primary_expression, + STATE(685), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + STATE(895), 1, + sym_range_pattern, + STATE(927), 1, + sym_switch_pattern, + ACTIONS(299), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - ACTIONS(309), 26, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, sym_string_literal, - [1163] = 3, + STATE(45), 2, + sym_switch_expression_arm, + aux_sym_switch_expression_repeat1, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(285), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(516), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [1485] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(205), 24, + ACTIONS(365), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6660,25 +8751,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(207), 26, + ACTIONS(367), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6692,13 +8783,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [1221] = 3, + [1546] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(311), 24, + ACTIONS(369), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6715,25 +8809,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(313), 26, + ACTIONS(371), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6747,13 +8841,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [1279] = 3, + [1607] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(200), 24, + ACTIONS(373), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6770,25 +8867,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(198), 26, + ACTIONS(375), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6802,13 +8899,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [1337] = 3, + [1668] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(315), 24, + ACTIONS(377), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6825,25 +8925,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(317), 26, + ACTIONS(379), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6857,13 +8957,99 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [1729] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(381), 1, + sym_identifier, + ACTIONS(384), 1, + anon_sym_AT, + ACTIONS(387), 1, + anon_sym_LPAREN, + ACTIONS(390), 1, + anon_sym_RBRACE, + ACTIONS(392), 1, + anon_sym_comptime, + ACTIONS(395), 1, + anon_sym_error, + ACTIONS(401), 1, + anon_sym_LBRACK, + ACTIONS(404), 1, + anon_sym_DOT, + ACTIONS(407), 1, + anon_sym_else, + ACTIONS(410), 1, + anon_sym_try, + ACTIONS(413), 1, + anon_sym_switch, + ACTIONS(416), 1, + anon_sym_old, + ACTIONS(428), 1, + aux_sym_number_literal_token3, + STATE(391), 1, + sym_primary_expression, + STATE(685), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + STATE(895), 1, + sym_range_pattern, + STATE(941), 1, + sym_switch_pattern, + ACTIONS(419), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(422), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(425), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(431), 2, + sym_bytes_literal, sym_string_literal, - [1395] = 3, + STATE(43), 2, + sym_switch_arm, + aux_sym_switch_statement_repeat1, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(398), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(516), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [1840] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(319), 24, + ACTIONS(434), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6880,25 +9066,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(321), 26, + ACTIONS(436), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6912,19 +9098,189 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [1901] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(438), 1, + sym_identifier, + ACTIONS(441), 1, + anon_sym_AT, + ACTIONS(444), 1, + anon_sym_LPAREN, + ACTIONS(447), 1, + anon_sym_RBRACE, + ACTIONS(449), 1, + anon_sym_comptime, + ACTIONS(452), 1, + anon_sym_error, + ACTIONS(458), 1, + anon_sym_LBRACK, + ACTIONS(461), 1, + anon_sym_DOT, + ACTIONS(464), 1, + anon_sym_else, + ACTIONS(467), 1, + anon_sym_try, + ACTIONS(470), 1, + anon_sym_switch, + ACTIONS(473), 1, + anon_sym_old, + ACTIONS(485), 1, + aux_sym_number_literal_token3, + STATE(391), 1, + sym_primary_expression, + STATE(685), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + STATE(895), 1, + sym_range_pattern, + STATE(927), 1, + sym_switch_pattern, + ACTIONS(476), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(479), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(482), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(488), 2, + sym_bytes_literal, + sym_string_literal, + STATE(45), 2, + sym_switch_expression_arm, + aux_sym_switch_expression_repeat1, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(455), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(516), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [2012] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, + anon_sym_LBRACK, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(291), 1, + anon_sym_else, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + ACTIONS(491), 1, + anon_sym_RBRACE, + STATE(391), 1, + sym_primary_expression, + STATE(685), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + STATE(895), 1, + sym_range_pattern, + STATE(941), 1, + sym_switch_pattern, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, sym_string_literal, - [1453] = 3, + STATE(37), 2, + sym_switch_arm, + aux_sym_switch_statement_repeat1, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(285), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(516), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [2123] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(323), 24, + ACTIONS(497), 1, + anon_sym_DOT, + ACTIONS(493), 24, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, anon_sym_LT, anon_sym_GT, - anon_sym_DOT, anon_sym_else, anon_sym_try, anon_sym_switch, @@ -6935,25 +9291,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(325), 26, + ACTIONS(495), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -6967,13 +9323,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [1511] = 3, + [2186] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(327), 24, + ACTIONS(500), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -6990,25 +9349,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(329), 26, + ACTIONS(502), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -7022,13 +9381,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [1569] = 3, + [2247] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(331), 24, + ACTIONS(504), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -7045,25 +9407,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(333), 26, + ACTIONS(506), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -7077,13 +9439,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [1627] = 3, + [2308] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 24, + ACTIONS(508), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -7100,25 +9465,25 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(337), 26, + ACTIONS(510), 28, anon_sym_AT, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -7132,359 +9497,190 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH_PERCENT, anon_sym_PERCENT, anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [1685] = 11, + [2369] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(339), 2, + ACTIONS(512), 25, + anon_sym_comptime, + anon_sym_error, + anon_sym_BANG, + anon_sym_PIPE, anon_sym_LT, anon_sym_GT, - ACTIONS(341), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(343), 2, + anon_sym_DOT, + anon_sym_else, + anon_sym_try, + anon_sym_switch, + anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(345), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(349), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(351), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(353), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(335), 16, - anon_sym_error, - anon_sym_BANG, - anon_sym_PIPE, - anon_sym_DOT, - anon_sym_else, - anon_sym_try, - anon_sym_switch, - anon_sym_AMP, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(337), 17, + ACTIONS(514), 28, anon_sym_AT, anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - [1758] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(359), 1, - anon_sym_PIPE, - ACTIONS(361), 1, - anon_sym_PIPE_PIPE, - ACTIONS(363), 1, - anon_sym_AMP_AMP, - ACTIONS(365), 1, - anon_sym_CARET, - ACTIONS(367), 1, - anon_sym_AMP, - ACTIONS(339), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(341), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(343), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(345), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(349), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(351), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(353), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(369), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(357), 12, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(355), 14, - anon_sym_error, - anon_sym_BANG, - anon_sym_DOT, - anon_sym_else, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [1843] = 17, + [2430] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(359), 1, + ACTIONS(516), 25, + anon_sym_comptime, + anon_sym_error, + anon_sym_BANG, anon_sym_PIPE, - ACTIONS(361), 1, - anon_sym_PIPE_PIPE, - ACTIONS(363), 1, - anon_sym_AMP_AMP, - ACTIONS(365), 1, - anon_sym_CARET, - ACTIONS(367), 1, - anon_sym_AMP, - ACTIONS(339), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(341), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(343), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(345), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(349), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(351), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(353), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(369), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(373), 12, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(371), 14, - anon_sym_error, - anon_sym_BANG, anon_sym_DOT, anon_sym_else, anon_sym_try, anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [1928] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, anon_sym_AMP, - ACTIONS(339), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(341), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(343), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(345), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(349), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(351), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(353), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(369), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(335), 15, - anon_sym_error, - anon_sym_BANG, - anon_sym_PIPE, - anon_sym_DOT, - anon_sym_else, - anon_sym_try, - anon_sym_switch, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(337), 15, + ACTIONS(518), 28, anon_sym_AT, anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - [2005] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(359), 1, - anon_sym_PIPE, - ACTIONS(365), 1, - anon_sym_CARET, - ACTIONS(367), 1, - anon_sym_AMP, - ACTIONS(339), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(341), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(343), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(345), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(349), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(351), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(353), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(369), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(335), 14, + anon_sym_STAR_STAR_PERCENT, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [2491] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(520), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, anon_sym_DOT, anon_sym_else, anon_sym_try, anon_sym_switch, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(337), 14, + ACTIONS(522), 28, anon_sym_AT, anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - [2086] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(343), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(345), 2, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(349), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(351), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(353), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(335), 18, + anon_sym_STAR_STAR_PERCENT, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [2552] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(524), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -7495,24 +9691,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_try, anon_sym_switch, anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(337), 19, + ACTIONS(526), 28, anon_sym_AT, anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -7520,356 +9723,246 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - [2155] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(359), 1, - anon_sym_PIPE, - ACTIONS(361), 1, - anon_sym_PIPE_PIPE, - ACTIONS(363), 1, - anon_sym_AMP_AMP, - ACTIONS(365), 1, - anon_sym_CARET, - ACTIONS(367), 1, - anon_sym_AMP, - ACTIONS(339), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(341), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(343), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(345), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(349), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(351), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(353), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(369), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(377), 12, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(375), 14, + [2613] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - anon_sym_BANG, + ACTIONS(287), 1, + anon_sym_LBRACK, + ACTIONS(289), 1, anon_sym_DOT, + ACTIONS(291), 1, anon_sym_else, + ACTIONS(293), 1, anon_sym_try, + ACTIONS(295), 1, anon_sym_switch, + ACTIONS(297), 1, anon_sym_old, - anon_sym_comptime, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + ACTIONS(528), 1, + anon_sym_RBRACE, + STATE(391), 1, + sym_primary_expression, + STATE(685), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + STATE(895), 1, + sym_range_pattern, + STATE(927), 1, + sym_switch_pattern, + ACTIONS(299), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [2240] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(339), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(341), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(343), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(345), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(56), 2, + sym_switch_expression_arm, + aux_sym_switch_expression_repeat1, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(285), 3, + anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(349), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(351), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(353), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(369), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(337), 15, + STATE(516), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [2724] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(335), 16, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - anon_sym_BANG, - anon_sym_PIPE, + ACTIONS(287), 1, + anon_sym_LBRACK, + ACTIONS(289), 1, anon_sym_DOT, + ACTIONS(291), 1, anon_sym_else, + ACTIONS(293), 1, anon_sym_try, + ACTIONS(295), 1, anon_sym_switch, - anon_sym_AMP, + ACTIONS(297), 1, anon_sym_old, - anon_sym_comptime, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + ACTIONS(530), 1, + anon_sym_RBRACE, + STATE(391), 1, + sym_primary_expression, + STATE(685), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + STATE(895), 1, + sym_range_pattern, + STATE(927), 1, + sym_switch_pattern, + ACTIONS(299), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [2315] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(365), 1, - anon_sym_CARET, - ACTIONS(367), 1, - anon_sym_AMP, - ACTIONS(339), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(341), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(343), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(345), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(349), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(351), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(353), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(369), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(337), 14, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(335), 15, + STATE(45), 2, + sym_switch_expression_arm, + aux_sym_switch_expression_repeat1, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(285), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(516), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [2835] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(532), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, anon_sym_DOT, anon_sym_else, anon_sym_try, anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [2394] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(359), 1, - anon_sym_PIPE, - ACTIONS(363), 1, - anon_sym_AMP_AMP, - ACTIONS(365), 1, - anon_sym_CARET, - ACTIONS(367), 1, anon_sym_AMP, - ACTIONS(339), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(341), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(343), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(345), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(349), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(351), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(353), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(369), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(337), 13, + anon_sym_STAR_STAR, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + ACTIONS(534), 28, anon_sym_AT, anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - anon_sym_PIPE_PIPE, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(335), 14, - anon_sym_error, - anon_sym_BANG, - anon_sym_DOT, - anon_sym_else, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [2477] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(359), 1, - anon_sym_PIPE, - ACTIONS(361), 1, anon_sym_PIPE_PIPE, - ACTIONS(363), 1, anon_sym_AMP_AMP, - ACTIONS(365), 1, anon_sym_CARET, - ACTIONS(367), 1, - anon_sym_AMP, - ACTIONS(339), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(341), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(343), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(345), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(349), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(351), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(353), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(369), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(381), 12, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(379), 14, - anon_sym_error, - anon_sym_BANG, - anon_sym_DOT, - anon_sym_else, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [2562] = 7, + [2896] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(347), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(349), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(351), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(353), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(335), 20, + ACTIONS(536), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -7882,24 +9975,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP, anon_sym_LT_LT, anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(337), 21, + ACTIONS(538), 28, anon_sym_AT, anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -7909,19 +10007,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_EQ, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [2627] = 5, + [2957] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(351), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(353), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(335), 22, + ACTIONS(233), 25, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, anon_sym_PIPE, @@ -7936,24 +10035,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_GT, anon_sym_PLUS, anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - ACTIONS(337), 23, + ACTIONS(235), 28, anon_sym_AT, anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, @@ -7965,180 +10067,156 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_GT_GT_PERCENT, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - [2688] = 3, + [3018] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(383), 13, - ts_builtin_sym_end, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, + ACTIONS(43), 1, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(385), 35, - anon_sym_const, - anon_sym_contract, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, + ACTIONS(97), 1, aux_sym_number_literal_token3, + ACTIONS(540), 1, sym_identifier, - [2744] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(387), 13, - ts_builtin_sym_end, + ACTIONS(542), 1, anon_sym_AT, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + STATE(25), 1, + sym_primary_expression, + STATE(572), 1, + sym_switch_body, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(389), 35, - anon_sym_const, - anon_sym_contract, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(552), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [2800] = 27, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + STATE(571), 2, + sym_block, + sym_labeled_block, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(64), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [3123] = 26, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, + ACTIONS(540), 1, sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(301), 1, - anon_sym_else, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(391), 1, - anon_sym_RBRACE, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(572), 1, + sym_switch_body, + STATE(675), 1, sym_lvalue, - STATE(541), 1, - sym_range_pattern, - STATE(586), 1, - sym_switch_pattern, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - STATE(59), 2, - sym_switch_expression_arm, - aux_sym_switch_expression_repeat1, - ACTIONS(55), 3, + STATE(571), 2, + sym_block, + sym_labeled_block, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(260), 5, + STATE(566), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -8146,971 +10224,1211 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [2904] = 3, + sym_tuple_expression, + [3228] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(393), 13, - ts_builtin_sym_end, + ACTIONS(564), 1, + anon_sym_AMP, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(562), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(566), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(568), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(570), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(572), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(574), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 14, anon_sym_AT, anon_sym_LPAREN, - anon_sym_LBRACE, + anon_sym_SEMI, anon_sym_RBRACE, - anon_sym_BANG, + anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(395), 35, - anon_sym_const, - anon_sym_contract, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, + ACTIONS(558), 15, + anon_sym_comptime, anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - anon_sym_if, + anon_sym_BANG, + anon_sym_PIPE, + anon_sym_DOT, anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, anon_sym_try, anon_sym_switch, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - [2960] = 3, + [3310] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(397), 13, - ts_builtin_sym_end, + ACTIONS(564), 1, + anon_sym_AMP, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(590), 1, + anon_sym_DOT_DOT, + ACTIONS(592), 1, + anon_sym_PIPE, + ACTIONS(594), 1, + anon_sym_PIPE_PIPE, + ACTIONS(596), 1, + anon_sym_AMP_AMP, + ACTIONS(598), 1, + anon_sym_CARET, + ACTIONS(562), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(566), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(568), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(570), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(572), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(574), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(588), 10, anon_sym_AT, anon_sym_LPAREN, - anon_sym_LBRACE, + anon_sym_SEMI, anon_sym_RBRACE, - anon_sym_BANG, + anon_sym_COMMA, anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(399), 35, - anon_sym_const, - anon_sym_contract, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, + ACTIONS(586), 14, + anon_sym_comptime, anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - anon_sym_if, + anon_sym_BANG, + anon_sym_DOT, anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, anon_sym_try, anon_sym_switch, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - [3016] = 3, + [3402] = 22, ACTIONS(3), 1, sym_comment, - ACTIONS(401), 13, - ts_builtin_sym_end, + ACTIONS(564), 1, + anon_sym_AMP, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(590), 1, + anon_sym_DOT_DOT, + ACTIONS(592), 1, + anon_sym_PIPE, + ACTIONS(594), 1, + anon_sym_PIPE_PIPE, + ACTIONS(596), 1, + anon_sym_AMP_AMP, + ACTIONS(598), 1, + anon_sym_CARET, + ACTIONS(604), 1, + anon_sym_SEMI, + ACTIONS(606), 1, + anon_sym_COMMA, + ACTIONS(562), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(566), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(568), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(570), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(572), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(574), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(602), 8, anon_sym_AT, anon_sym_LPAREN, - anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_BANG, anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(403), 35, - anon_sym_const, - anon_sym_contract, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, + ACTIONS(600), 14, + anon_sym_comptime, anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - anon_sym_if, + anon_sym_BANG, + anon_sym_DOT, anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, anon_sym_try, anon_sym_switch, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - [3072] = 27, + [3498] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(564), 1, + anon_sym_AMP, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(590), 1, + anon_sym_DOT_DOT, + ACTIONS(592), 1, + anon_sym_PIPE, + ACTIONS(594), 1, + anon_sym_PIPE_PIPE, + ACTIONS(596), 1, + anon_sym_AMP_AMP, + ACTIONS(598), 1, + anon_sym_CARET, + ACTIONS(562), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(566), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(568), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(570), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(572), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(574), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 10, + anon_sym_AT, anon_sym_LPAREN, - ACTIONS(51), 1, - anon_sym_error, - ACTIONS(57), 1, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_LBRACK, - ACTIONS(59), 1, - anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, - anon_sym_AT, - ACTIONS(301), 1, + ACTIONS(558), 14, + anon_sym_comptime, + anon_sym_error, + anon_sym_BANG, + anon_sym_DOT, anon_sym_else, - ACTIONS(303), 1, anon_sym_try, - ACTIONS(305), 1, anon_sym_switch, - ACTIONS(405), 1, - anon_sym_RBRACE, - STATE(203), 1, - sym_primary_expression, - STATE(378), 1, - sym_lvalue, - STATE(541), 1, - sym_range_pattern, - STATE(586), 1, - sym_switch_pattern, - ACTIONS(83), 2, + anon_sym_old, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - STATE(21), 2, - sym_bool_literal, - sym_number_literal, - STATE(65), 2, - sym_switch_expression_arm, - aux_sym_switch_expression_repeat1, - ACTIONS(55), 3, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_DASH, - STATE(260), 5, - sym__expression, - sym_assignment_expression, - sym_binary_expression, - sym_unary_expression, - sym_postfix_expression, - STATE(31), 12, - sym_switch_expression, - sym_literal, - sym_parenthesized_expression, - sym_try_expression, - sym_old_expression, - sym_comptime_expression, - sym_cast_expression, - sym_error_expression, - sym_quantified_expression, - sym_struct_literal, - sym_anonymous_struct_literal, - sym_array_literal, - [3176] = 27, + aux_sym_number_literal_token3, + sym_identifier, + [3590] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(564), 1, + anon_sym_AMP, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(598), 1, + anon_sym_CARET, + ACTIONS(562), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(566), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(568), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(570), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(572), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(574), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 13, + anon_sym_AT, anon_sym_LPAREN, - ACTIONS(51), 1, - anon_sym_error, - ACTIONS(57), 1, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, - ACTIONS(59), 1, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(558), 15, + anon_sym_comptime, + anon_sym_error, + anon_sym_BANG, + anon_sym_PIPE, anon_sym_DOT, - ACTIONS(79), 1, + anon_sym_else, + anon_sym_try, + anon_sym_switch, anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, sym_identifier, - ACTIONS(297), 1, - anon_sym_AT, - ACTIONS(301), 1, + [3674] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(570), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(572), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(574), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 18, + anon_sym_comptime, + anon_sym_error, + anon_sym_BANG, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, anon_sym_else, - ACTIONS(303), 1, anon_sym_try, - ACTIONS(305), 1, anon_sym_switch, - ACTIONS(407), 1, - anon_sym_RBRACE, - STATE(203), 1, - sym_primary_expression, - STATE(378), 1, - sym_lvalue, - STATE(504), 1, - sym_switch_pattern, - STATE(541), 1, - sym_range_pattern, - ACTIONS(83), 2, + anon_sym_AMP, + anon_sym_old, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - STATE(21), 2, - sym_bool_literal, - sym_number_literal, - STATE(64), 2, - sym_switch_arm, - aux_sym_switch_statement_repeat1, - ACTIONS(55), 3, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_DASH, - STATE(260), 5, - sym__expression, - sym_assignment_expression, - sym_binary_expression, - sym_unary_expression, - sym_postfix_expression, - STATE(31), 12, - sym_switch_expression, - sym_literal, - sym_parenthesized_expression, - sym_try_expression, - sym_old_expression, - sym_comptime_expression, - sym_cast_expression, - sym_error_expression, - sym_quantified_expression, - sym_struct_literal, - sym_anonymous_struct_literal, - sym_array_literal, - [3280] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(409), 13, - ts_builtin_sym_end, + aux_sym_number_literal_token3, + sym_identifier, + ACTIONS(560), 18, anon_sym_AT, anon_sym_LPAREN, - anon_sym_LBRACE, + anon_sym_SEMI, anon_sym_RBRACE, - anon_sym_BANG, + anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, - anon_sym_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [3748] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_AMP, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(592), 1, + anon_sym_PIPE, + ACTIONS(596), 1, + anon_sym_AMP_AMP, + ACTIONS(598), 1, + anon_sym_CARET, + ACTIONS(562), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(566), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(568), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(570), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(572), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(574), 2, anon_sym_PLUS, anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 12, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(411), 35, - anon_sym_const, - anon_sym_contract, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, + ACTIONS(558), 14, + anon_sym_comptime, anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - anon_sym_if, + anon_sym_BANG, + anon_sym_DOT, anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, anon_sym_try, anon_sym_switch, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - [3336] = 3, + [3836] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(413), 13, - ts_builtin_sym_end, + ACTIONS(564), 1, + anon_sym_AMP, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(592), 1, + anon_sym_PIPE, + ACTIONS(598), 1, + anon_sym_CARET, + ACTIONS(562), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(566), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(568), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(570), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(572), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(574), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 13, anon_sym_AT, anon_sym_LPAREN, - anon_sym_LBRACE, + anon_sym_SEMI, anon_sym_RBRACE, - anon_sym_BANG, + anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(415), 35, - anon_sym_const, - anon_sym_contract, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, + ACTIONS(558), 14, + anon_sym_comptime, anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - anon_sym_if, + anon_sym_BANG, + anon_sym_DOT, anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, anon_sym_try, anon_sym_switch, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - [3392] = 3, + [3922] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(417), 13, - ts_builtin_sym_end, + ACTIONS(564), 1, + anon_sym_AMP, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(590), 1, + anon_sym_DOT_DOT, + ACTIONS(592), 1, + anon_sym_PIPE, + ACTIONS(594), 1, + anon_sym_PIPE_PIPE, + ACTIONS(596), 1, + anon_sym_AMP_AMP, + ACTIONS(598), 1, + anon_sym_CARET, + ACTIONS(562), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(566), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(568), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(570), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(572), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(574), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(610), 10, anon_sym_AT, anon_sym_LPAREN, - anon_sym_LBRACE, + anon_sym_SEMI, anon_sym_RBRACE, - anon_sym_BANG, + anon_sym_COMMA, anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(419), 35, - anon_sym_const, - anon_sym_contract, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, + ACTIONS(608), 14, + anon_sym_comptime, anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - anon_sym_if, + anon_sym_BANG, + anon_sym_DOT, anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, anon_sym_try, anon_sym_switch, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - [3448] = 27, + [4014] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(421), 1, - sym_identifier, - ACTIONS(424), 1, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(562), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(566), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(568), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(570), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(572), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(574), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 14, anon_sym_AT, - ACTIONS(427), 1, anon_sym_LPAREN, - ACTIONS(430), 1, + anon_sym_SEMI, anon_sym_RBRACE, - ACTIONS(432), 1, - anon_sym_error, - ACTIONS(438), 1, + anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, - ACTIONS(441), 1, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(558), 16, + anon_sym_comptime, + anon_sym_error, + anon_sym_BANG, + anon_sym_PIPE, anon_sym_DOT, - ACTIONS(444), 1, anon_sym_else, - ACTIONS(447), 1, anon_sym_try, - ACTIONS(450), 1, anon_sym_switch, - ACTIONS(453), 1, + anon_sym_AMP, anon_sym_old, - ACTIONS(456), 1, - anon_sym_comptime, - ACTIONS(468), 1, - aux_sym_number_literal_token3, - ACTIONS(471), 1, - sym_string_literal, - STATE(203), 1, - sym_primary_expression, - STATE(378), 1, - sym_lvalue, - STATE(504), 1, - sym_switch_pattern, - STATE(541), 1, - sym_range_pattern, - ACTIONS(459), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(462), 2, anon_sym_true, anon_sym_false, - ACTIONS(465), 2, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - STATE(21), 2, - sym_bool_literal, - sym_number_literal, - STATE(64), 2, - sym_switch_arm, - aux_sym_switch_statement_repeat1, - ACTIONS(435), 3, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_DASH, - STATE(260), 5, - sym__expression, - sym_assignment_expression, - sym_binary_expression, - sym_unary_expression, - sym_postfix_expression, - STATE(31), 12, - sym_switch_expression, - sym_literal, - sym_parenthesized_expression, - sym_try_expression, - sym_old_expression, - sym_comptime_expression, - sym_cast_expression, - sym_error_expression, - sym_quantified_expression, - sym_struct_literal, - sym_anonymous_struct_literal, - sym_array_literal, - [3552] = 27, - ACTIONS(3), 1, - sym_comment, - ACTIONS(474), 1, - sym_identifier, - ACTIONS(477), 1, - anon_sym_AT, - ACTIONS(480), 1, - anon_sym_LPAREN, - ACTIONS(483), 1, - anon_sym_RBRACE, - ACTIONS(485), 1, - anon_sym_error, - ACTIONS(491), 1, - anon_sym_LBRACK, - ACTIONS(494), 1, - anon_sym_DOT, - ACTIONS(497), 1, - anon_sym_else, - ACTIONS(500), 1, - anon_sym_try, - ACTIONS(503), 1, - anon_sym_switch, - ACTIONS(506), 1, - anon_sym_old, - ACTIONS(509), 1, - anon_sym_comptime, - ACTIONS(521), 1, aux_sym_number_literal_token3, - ACTIONS(524), 1, - sym_string_literal, - STATE(203), 1, - sym_primary_expression, - STATE(378), 1, - sym_lvalue, - STATE(541), 1, - sym_range_pattern, - STATE(586), 1, - sym_switch_pattern, - ACTIONS(512), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(515), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(518), 2, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - STATE(21), 2, - sym_bool_literal, - sym_number_literal, - STATE(65), 2, - sym_switch_expression_arm, - aux_sym_switch_expression_repeat1, - ACTIONS(488), 3, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_DASH, - STATE(260), 5, - sym__expression, - sym_assignment_expression, - sym_binary_expression, - sym_unary_expression, - sym_postfix_expression, - STATE(31), 12, - sym_switch_expression, - sym_literal, - sym_parenthesized_expression, - sym_try_expression, - sym_old_expression, - sym_comptime_expression, - sym_cast_expression, - sym_error_expression, - sym_quantified_expression, - sym_struct_literal, - sym_anonymous_struct_literal, - sym_array_literal, - [3656] = 19, + sym_identifier, + [4094] = 13, ACTIONS(3), 1, sym_comment, - ACTIONS(359), 1, - anon_sym_PIPE, - ACTIONS(361), 1, - anon_sym_PIPE_PIPE, - ACTIONS(363), 1, - anon_sym_AMP_AMP, - ACTIONS(365), 1, - anon_sym_CARET, - ACTIONS(367), 1, - anon_sym_AMP, - ACTIONS(531), 1, - anon_sym_SEMI, - ACTIONS(533), 1, - anon_sym_COMMA, - ACTIONS(339), 2, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(562), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(341), 2, + ACTIONS(568), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(343), 2, + ACTIONS(570), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(345), 2, + ACTIONS(572), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, + ACTIONS(574), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(349), 2, + ACTIONS(576), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(351), 2, + ACTIONS(578), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(353), 2, + ACTIONS(580), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(369), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(529), 8, + ACTIONS(558), 16, + anon_sym_comptime, + anon_sym_error, + anon_sym_BANG, + anon_sym_PIPE, + anon_sym_DOT, + anon_sym_else, + anon_sym_try, + anon_sym_switch, + anon_sym_AMP, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + ACTIONS(560), 16, anon_sym_AT, anon_sym_LPAREN, + anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, anon_sym_LBRACK, - anon_sym_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(527), 13, + [4172] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(574), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 20, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, anon_sym_else, anon_sym_try, anon_sym_switch, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - [3742] = 25, + ACTIONS(560), 20, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [4242] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, - anon_sym_LPAREN, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(51), 1, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 22, + anon_sym_comptime, anon_sym_error, - ACTIONS(57), 1, - anon_sym_LBRACK, - ACTIONS(59), 1, + anon_sym_BANG, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, - anon_sym_AT, - ACTIONS(303), 1, + anon_sym_else, anon_sym_try, - ACTIONS(305), 1, anon_sym_switch, - STATE(17), 1, - sym_primary_expression, - STATE(275), 1, - sym_block, - STATE(276), 1, - sym_switch_body, - STATE(381), 1, - sym_lvalue, - ACTIONS(83), 2, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_old, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + aux_sym_number_literal_token3, + sym_identifier, + ACTIONS(560), 22, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, - sym_bool_literal, - sym_number_literal, - ACTIONS(535), 3, - anon_sym_BANG, - anon_sym_PLUS, - anon_sym_DASH, - STATE(66), 5, - sym__expression, - sym_assignment_expression, - sym_binary_expression, - sym_unary_expression, - sym_postfix_expression, - STATE(31), 12, - sym_switch_expression, - sym_literal, - sym_parenthesized_expression, - sym_try_expression, - sym_old_expression, - sym_comptime_expression, - sym_cast_expression, - sym_error_expression, - sym_quantified_expression, - sym_struct_literal, - sym_anonymous_struct_literal, - sym_array_literal, - [3839] = 25, + sym_bytes_literal, + sym_string_literal, + [4308] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, - anon_sym_LPAREN, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(51), 1, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 24, + anon_sym_comptime, anon_sym_error, - ACTIONS(57), 1, - anon_sym_LBRACK, - ACTIONS(59), 1, + anon_sym_BANG, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, - anon_sym_AT, - ACTIONS(303), 1, + anon_sym_else, anon_sym_try, - ACTIONS(305), 1, anon_sym_switch, - STATE(203), 1, - sym_primary_expression, - STATE(275), 1, - sym_block, - STATE(276), 1, - sym_switch_body, - STATE(378), 1, - sym_lvalue, - ACTIONS(83), 2, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_old, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + aux_sym_number_literal_token3, + sym_identifier, + ACTIONS(560), 24, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, - sym_bool_literal, - sym_number_literal, - ACTIONS(55), 3, + sym_bytes_literal, + sym_string_literal, + [4370] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 24, + anon_sym_comptime, + anon_sym_error, anon_sym_BANG, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_else, + anon_sym_try, + anon_sym_switch, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, anon_sym_PLUS, anon_sym_DASH, - STATE(282), 5, - sym__expression, - sym_assignment_expression, - sym_binary_expression, - sym_unary_expression, - sym_postfix_expression, - STATE(31), 12, - sym_switch_expression, - sym_literal, - sym_parenthesized_expression, - sym_try_expression, - sym_old_expression, - sym_comptime_expression, - sym_cast_expression, - sym_error_expression, - sym_quantified_expression, - sym_struct_literal, - sym_anonymous_struct_literal, - sym_array_literal, - [3936] = 18, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + ACTIONS(560), 24, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [4432] = 20, ACTIONS(3), 1, sym_comment, - ACTIONS(359), 1, + ACTIONS(564), 1, + anon_sym_AMP, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(590), 1, + anon_sym_DOT_DOT, + ACTIONS(592), 1, anon_sym_PIPE, - ACTIONS(361), 1, + ACTIONS(594), 1, anon_sym_PIPE_PIPE, - ACTIONS(363), 1, + ACTIONS(596), 1, anon_sym_AMP_AMP, - ACTIONS(365), 1, + ACTIONS(598), 1, anon_sym_CARET, - ACTIONS(367), 1, - anon_sym_AMP, - ACTIONS(533), 1, - anon_sym_COMMA, - ACTIONS(339), 2, + ACTIONS(562), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(341), 2, + ACTIONS(566), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(568), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(343), 2, + ACTIONS(570), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(345), 2, + ACTIONS(572), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(347), 2, + ACTIONS(574), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(349), 2, + ACTIONS(576), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(351), 2, + ACTIONS(578), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(353), 2, + ACTIONS(580), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(369), 2, + ACTIONS(614), 10, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LBRACK, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(612), 14, + anon_sym_comptime, + anon_sym_error, + anon_sym_BANG, + anon_sym_DOT, + anon_sym_else, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [4524] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_AMP, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(590), 1, + anon_sym_DOT_DOT, + ACTIONS(592), 1, + anon_sym_PIPE, + ACTIONS(594), 1, + anon_sym_PIPE_PIPE, + ACTIONS(596), 1, + anon_sym_AMP_AMP, + ACTIONS(598), 1, + anon_sym_CARET, + ACTIONS(562), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(566), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(529), 8, + ACTIONS(568), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(570), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(572), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(574), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(618), 10, anon_sym_AT, anon_sym_LPAREN, + anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_LBRACK, - anon_sym_DOT, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + sym_bytes_literal, sym_string_literal, - ACTIONS(527), 13, + ACTIONS(616), 14, + anon_sym_comptime, anon_sym_error, anon_sym_BANG, + anon_sym_DOT, anon_sym_else, anon_sym_try, anon_sym_switch, anon_sym_old, - anon_sym_comptime, anon_sym_forall, anon_sym_exists, anon_sym_true, anon_sym_false, aux_sym_number_literal_token3, sym_identifier, - [4019] = 24, + [4616] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(539), 1, + ACTIONS(622), 1, anon_sym_RPAREN, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - STATE(537), 1, + STATE(802), 1, + sym_generic_type, + STATE(865), 1, sym_expression_list, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(254), 5, + STATE(480), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9118,69 +11436,147 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [4113] = 24, + sym_tuple_expression, + [4717] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(564), 1, + anon_sym_AMP, + ACTIONS(582), 1, + anon_sym_STAR_STAR, + ACTIONS(584), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(590), 1, + anon_sym_DOT_DOT, + ACTIONS(592), 1, + anon_sym_PIPE, + ACTIONS(594), 1, + anon_sym_PIPE_PIPE, + ACTIONS(596), 1, + anon_sym_AMP_AMP, + ACTIONS(598), 1, + anon_sym_CARET, + ACTIONS(606), 1, + anon_sym_COMMA, + ACTIONS(562), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(566), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(568), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(570), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(572), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(574), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(576), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(578), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(580), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(602), 8, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RBRACE, + anon_sym_LBRACK, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(600), 14, + anon_sym_comptime, + anon_sym_error, + anon_sym_BANG, + anon_sym_DOT, + anon_sym_else, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [4810] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - ACTIONS(547), 1, + ACTIONS(630), 1, anon_sym_RPAREN, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - STATE(570), 1, + STATE(802), 1, + sym_generic_type, + STATE(888), 1, sym_expression_list, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(254), 5, + STATE(480), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9188,69 +11584,75 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [4207] = 24, + sym_tuple_expression, + [4911] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(549), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + ACTIONS(634), 1, anon_sym_RBRACK, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - STATE(573), 1, + STATE(802), 1, + sym_generic_type, + STATE(925), 1, sym_expression_list, - ACTIONS(83), 2, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(253), 5, + STATE(481), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9258,69 +11660,75 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [4301] = 24, + sym_tuple_expression, + [5012] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + ACTIONS(636), 1, + anon_sym_RPAREN, + STATE(337), 1, sym_primary_expression, - STATE(167), 1, - sym_block, - STATE(381), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + STATE(996), 1, + sym_expression_list, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(42), 5, + STATE(480), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9328,67 +11736,75 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [4395] = 23, + sym_tuple_expression, + [5113] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(551), 1, - anon_sym_RBRACK, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, sym_primary_expression, - STATE(378), 1, + STATE(101), 1, + sym_block, + STATE(678), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(638), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(256), 5, + STATE(379), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9396,67 +11812,75 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [4486] = 23, + sym_tuple_expression, + [5214] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(553), 1, - anon_sym_SEMI, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + ACTIONS(640), 1, + anon_sym_RPAREN, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + STATE(860), 1, + sym_expression_list, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(271), 5, + STATE(480), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9464,67 +11888,75 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [4577] = 23, + sym_tuple_expression, + [5315] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, anon_sym_try, - ACTIONS(555), 1, - anon_sym_RPAREN, - STATE(203), 1, + ACTIONS(632), 1, + sym_identifier, + ACTIONS(642), 1, + anon_sym_RBRACK, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + STATE(929), 1, + sym_expression_list, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(262), 5, + STATE(481), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9532,67 +11964,75 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [4668] = 23, + sym_tuple_expression, + [5416] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - ACTIONS(551), 1, + ACTIONS(644), 1, anon_sym_RPAREN, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + STATE(1015), 1, + sym_expression_list, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(262), 5, + STATE(480), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9600,67 +12040,73 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [4759] = 23, + sym_tuple_expression, + [5517] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(555), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + ACTIONS(646), 1, anon_sym_RBRACK, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(256), 5, + STATE(498), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9668,67 +12114,73 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [4850] = 23, + sym_tuple_expression, + [5615] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(557), 1, - anon_sym_SEMI, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + ACTIONS(648), 1, + anon_sym_RPAREN, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(273), 5, + STATE(497), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9736,65 +12188,73 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [4941] = 22, + sym_tuple_expression, + [5713] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + ACTIONS(650), 1, + anon_sym_RPAREN, + STATE(337), 1, sym_primary_expression, - STATE(381), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(40), 5, + STATE(497), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9802,65 +12262,73 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [5029] = 22, + sym_tuple_expression, + [5811] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + ACTIONS(652), 1, + anon_sym_SEMI, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(280), 5, + STATE(530), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9868,65 +12336,73 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [5117] = 22, + sym_tuple_expression, + [5909] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, anon_sym_try, - STATE(17), 1, + ACTIONS(632), 1, + sym_identifier, + ACTIONS(654), 1, + anon_sym_SEMI, + STATE(337), 1, sym_primary_expression, - STATE(380), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(240), 5, + STATE(544), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -9934,65 +12410,73 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [5205] = 22, + sym_tuple_expression, + [6007] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(543), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, anon_sym_try, - STATE(203), 1, + ACTIONS(632), 1, + sym_identifier, + ACTIONS(656), 1, + anon_sym_SEMI, + STATE(337), 1, sym_primary_expression, - STATE(370), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(304), 5, + STATE(569), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10000,65 +12484,73 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [5293] = 22, + sym_tuple_expression, + [6105] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + ACTIONS(646), 1, + anon_sym_RPAREN, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(23), 5, + STATE(497), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10066,65 +12558,73 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [5381] = 22, + sym_tuple_expression, + [6203] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + ACTIONS(658), 1, + anon_sym_RPAREN, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(285), 5, + STATE(497), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10132,65 +12632,73 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [5469] = 22, + sym_tuple_expression, + [6301] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, anon_sym_try, - STATE(203), 1, + ACTIONS(632), 1, + sym_identifier, + ACTIONS(660), 1, + anon_sym_SEMI, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(286), 5, + STATE(521), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10198,65 +12706,73 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [5557] = 22, + sym_tuple_expression, + [6399] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, anon_sym_try, - STATE(203), 1, + ACTIONS(632), 1, + sym_identifier, + ACTIONS(658), 1, + anon_sym_RBRACK, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(287), 5, + STATE(498), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10264,65 +12780,73 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [5645] = 22, + sym_tuple_expression, + [6497] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + ACTIONS(662), 1, + anon_sym_RPAREN, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(288), 5, + STATE(497), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10330,65 +12854,129 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [5733] = 22, + sym_tuple_expression, + [6595] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(668), 1, + anon_sym_invariant, + ACTIONS(671), 1, + anon_sym_decreases, + STATE(99), 3, + sym_invariant_clause, + sym_decreases_clause, + aux_sym_while_statement_repeat1, + ACTIONS(666), 12, + anon_sym_AT, anon_sym_LPAREN, - ACTIONS(51), 1, - anon_sym_error, - ACTIONS(57), 1, + anon_sym_LBRACE, + anon_sym_BANG, anon_sym_LBRACK, - ACTIONS(59), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(664), 31, + anon_sym_const, anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [6657] = 24, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + ACTIONS(674), 1, + anon_sym_RPAREN, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(289), 5, + STATE(497), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10396,65 +12984,124 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [5821] = 22, + sym_tuple_expression, + [6755] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(680), 1, + anon_sym_catch, + ACTIONS(678), 14, + anon_sym_AT, anon_sym_LPAREN, - ACTIONS(51), 1, - anon_sym_error, - ACTIONS(57), 1, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, anon_sym_LBRACK, - ACTIONS(59), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(676), 32, + anon_sym_const, anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [6812] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(290), 5, + STATE(567), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10462,65 +13109,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [5909] = 22, + sym_tuple_expression, + [6907] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(293), 5, + STATE(551), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10528,65 +13181,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [5997] = 22, + sym_tuple_expression, + [7002] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(268), 5, + STATE(558), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10594,65 +13253,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [6085] = 22, + sym_tuple_expression, + [7097] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, anon_sym_try, - STATE(203), 1, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(270), 5, + STATE(513), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10660,65 +13325,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [6173] = 22, + sym_tuple_expression, + [7192] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(291), 5, + STATE(568), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10726,65 +13397,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [6261] = 22, + sym_tuple_expression, + [7287] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(292), 5, + STATE(563), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10792,65 +13469,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [6349] = 22, + sym_tuple_expression, + [7382] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(297), 5, + STATE(522), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10858,65 +13541,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [6437] = 22, + sym_tuple_expression, + [7477] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(301), 5, + STATE(478), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10924,65 +13613,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [6525] = 22, + sym_tuple_expression, + [7572] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(256), 5, + STATE(517), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -10990,65 +13685,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [6613] = 22, + sym_tuple_expression, + [7667] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(295), 5, + STATE(545), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11056,65 +13757,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [6701] = 22, + sym_tuple_expression, + [7762] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(381), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(41), 5, + STATE(543), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11122,65 +13829,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [6789] = 22, + sym_tuple_expression, + [7857] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(283), 5, + STATE(546), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11188,65 +13901,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [6877] = 22, + sym_tuple_expression, + [7952] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(235), 5, + STATE(547), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11254,65 +13973,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [6965] = 22, + sym_tuple_expression, + [8047] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(239), 5, + STATE(549), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11320,65 +14045,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [7053] = 22, + sym_tuple_expression, + [8142] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(272), 5, + STATE(550), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11386,65 +14117,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [7141] = 22, + sym_tuple_expression, + [8237] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(230), 5, + STATE(552), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11452,65 +14189,177 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [7229] = 22, + sym_tuple_expression, + [8332] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(686), 1, + anon_sym_SEMI, + ACTIONS(684), 14, + anon_sym_AT, anon_sym_LPAREN, - ACTIONS(51), 1, - anon_sym_error, - ACTIONS(57), 1, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, anon_sym_LBRACK, - ACTIONS(59), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(682), 32, + anon_sym_const, anon_sym_comptime, - ACTIONS(89), 1, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, sym_identifier, - ACTIONS(297), 1, + [8389] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(692), 1, + anon_sym_SEMI, + ACTIONS(690), 14, anon_sym_AT, - ACTIONS(303), 1, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(688), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, anon_sym_try, - ACTIONS(305), 1, anon_sym_switch, - STATE(203), 1, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [8446] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(231), 5, + STATE(506), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11518,65 +14367,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [7317] = 22, + sym_tuple_expression, + [8541] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(228), 5, + STATE(527), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11584,65 +14439,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [7405] = 22, + sym_tuple_expression, + [8636] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(232), 5, + STATE(539), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11650,65 +14511,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [7493] = 22, + sym_tuple_expression, + [8731] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(233), 5, + STATE(542), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11716,65 +14583,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [7581] = 22, + sym_tuple_expression, + [8826] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(234), 5, + STATE(524), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11782,65 +14655,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [7669] = 22, + sym_tuple_expression, + [8921] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(236), 5, + STATE(498), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11848,65 +14727,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [7757] = 22, + sym_tuple_expression, + [9016] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(39), 5, + STATE(483), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11914,65 +14799,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [7845] = 22, + sym_tuple_expression, + [9111] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(561), 1, - sym_identifier, - ACTIONS(564), 1, - anon_sym_AT, - ACTIONS(567), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(570), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(576), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(579), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(582), 1, - anon_sym_try, - ACTIONS(585), 1, - anon_sym_switch, - ACTIONS(588), 1, + ACTIONS(89), 1, anon_sym_old, - ACTIONS(591), 1, - anon_sym_comptime, - ACTIONS(603), 1, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(606), 1, - sym_string_literal, - STATE(203), 1, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, sym_primary_expression, - STATE(378), 1, + STATE(678), 1, sym_lvalue, - ACTIONS(594), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(597), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(600), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(573), 3, + ACTIONS(638), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(298), 5, + STATE(365), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -11980,65 +14871,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [7933] = 22, + sym_tuple_expression, + [9206] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(299), 5, + STATE(553), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12046,65 +14943,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [8021] = 22, + sym_tuple_expression, + [9301] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(300), 5, + STATE(557), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12112,65 +15015,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [8109] = 22, + sym_tuple_expression, + [9396] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(237), 5, + STATE(559), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12178,65 +15087,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [8197] = 22, + sym_tuple_expression, + [9491] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(284), 5, + STATE(560), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12244,65 +15159,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [8285] = 22, + sym_tuple_expression, + [9586] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, sym_primary_expression, - STATE(381), 1, + STATE(676), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(694), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(46), 5, + STATE(435), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12310,65 +15231,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [8373] = 22, + sym_tuple_expression, + [9681] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(381), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(69), 5, + STATE(564), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12376,65 +15303,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [8461] = 22, + sym_tuple_expression, + [9776] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(302), 5, + STATE(556), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12442,65 +15375,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [8549] = 22, + sym_tuple_expression, + [9871] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(294), 5, + STATE(562), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12508,65 +15447,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [8637] = 22, + sym_tuple_expression, + [9966] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(669), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(263), 5, + STATE(499), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12574,65 +15519,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [8725] = 22, + sym_tuple_expression, + [10061] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, anon_sym_try, - STATE(203), 1, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, sym_primary_expression, - STATE(379), 1, + STATE(678), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(638), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(265), 5, + STATE(374), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12640,65 +15591,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [8813] = 22, + sym_tuple_expression, + [10156] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(632), 1, sym_identifier, - ACTIONS(543), 1, - anon_sym_try, - STATE(203), 1, + STATE(25), 1, sym_primary_expression, - STATE(379), 1, + STATE(684), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(546), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(266), 5, + STATE(80), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12706,65 +15663,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [8901] = 22, + sym_tuple_expression, + [10251] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(267), 5, + STATE(554), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12772,65 +15735,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [8989] = 22, + sym_tuple_expression, + [10346] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(259), 5, + STATE(555), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12838,65 +15807,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [9077] = 22, + sym_tuple_expression, + [10441] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(257), 5, + STATE(519), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12904,65 +15879,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [9165] = 22, + sym_tuple_expression, + [10536] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(258), 5, + STATE(520), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -12970,65 +15951,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [9253] = 22, + sym_tuple_expression, + [10631] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, ACTIONS(297), 1, - anon_sym_AT, + anon_sym_old, ACTIONS(305), 1, - anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, - anon_sym_try, - STATE(203), 1, + aux_sym_number_literal_token3, + STATE(391), 1, sym_primary_expression, - STATE(379), 1, + STATE(685), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(264), 5, + STATE(477), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13036,65 +16023,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [9341] = 22, + sym_tuple_expression, + [10726] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, ACTIONS(297), 1, - anon_sym_AT, + anon_sym_old, ACTIONS(305), 1, - anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, - anon_sym_try, - STATE(203), 1, + aux_sym_number_literal_token3, + STATE(394), 1, sym_primary_expression, - STATE(379), 1, + STATE(687), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(696), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(255), 5, + STATE(407), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13102,65 +16095,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [9429] = 22, + sym_tuple_expression, + [10821] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(39), 5, + STATE(512), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13168,65 +16167,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [9517] = 22, + sym_tuple_expression, + [10916] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(261), 5, + STATE(500), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13234,65 +16239,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [9605] = 22, + sym_tuple_expression, + [11011] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(378), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(303), 5, + STATE(501), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13300,65 +16311,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [9693] = 22, + sym_tuple_expression, + [11106] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(262), 5, + STATE(504), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13366,65 +16383,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [9781] = 22, + sym_tuple_expression, + [11201] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(17), 1, + STATE(337), 1, sym_primary_expression, - STATE(380), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(242), 5, + STATE(505), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13432,65 +16455,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [9869] = 22, + sym_tuple_expression, + [11296] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(17), 1, + STATE(337), 1, sym_primary_expression, - STATE(380), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(241), 5, + STATE(507), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13498,65 +16527,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [9957] = 22, + sym_tuple_expression, + [11391] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(203), 1, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(23), 5, + STATE(508), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13564,65 +16599,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [10045] = 22, + sym_tuple_expression, + [11486] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(381), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(42), 5, + STATE(509), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13630,65 +16671,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [10133] = 22, + sym_tuple_expression, + [11581] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(381), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(48), 5, + STATE(510), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13696,65 +16743,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [10221] = 22, + sym_tuple_expression, + [11676] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(381), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(45), 5, + STATE(511), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13762,65 +16815,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [10309] = 22, + sym_tuple_expression, + [11771] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(381), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(49), 5, + STATE(514), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13828,65 +16887,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [10397] = 22, + sym_tuple_expression, + [11866] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(381), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(44), 5, + STATE(515), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13894,65 +16959,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [10485] = 22, + sym_tuple_expression, + [11961] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(381), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(43), 5, + STATE(493), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -13960,65 +17031,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [10573] = 22, + sym_tuple_expression, + [12056] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(381), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(47), 5, + STATE(503), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14026,65 +17103,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [10661] = 22, + sym_tuple_expression, + [12151] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, sym_primary_expression, - STATE(381), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(51), 5, + STATE(497), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14092,65 +17175,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [10749] = 22, + sym_tuple_expression, + [12246] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, sym_primary_expression, - STATE(381), 1, + STATE(676), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(694), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(52), 5, + STATE(423), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14158,65 +17247,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [10837] = 22, + sym_tuple_expression, + [12341] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, + ACTIONS(89), 1, anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, sym_primary_expression, - STATE(381), 1, + STATE(676), 1, sym_lvalue, - ACTIONS(83), 2, - anon_sym_forall, - anon_sym_exists, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(694), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(39), 5, + STATE(428), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14224,65 +17319,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [10925] = 22, + sym_tuple_expression, + [12436] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, + ACTIONS(293), 1, + anon_sym_try, ACTIONS(295), 1, - sym_identifier, + anon_sym_switch, ACTIONS(297), 1, - anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, + anon_sym_old, ACTIONS(305), 1, - anon_sym_switch, - STATE(17), 1, + aux_sym_number_literal_token3, + STATE(391), 1, sym_primary_expression, - STATE(381), 1, + STATE(685), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(50), 5, + STATE(484), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14290,65 +17391,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [11013] = 22, + sym_tuple_expression, + [12531] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, + ACTIONS(293), 1, + anon_sym_try, ACTIONS(295), 1, - sym_identifier, + anon_sym_switch, ACTIONS(297), 1, - anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, + anon_sym_old, ACTIONS(305), 1, - anon_sym_switch, - STATE(203), 1, + aux_sym_number_literal_token3, + STATE(391), 1, sym_primary_expression, - STATE(378), 1, + STATE(685), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(269), 5, + STATE(485), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14356,65 +17463,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [11101] = 22, + sym_tuple_expression, + [12626] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, ACTIONS(297), 1, - anon_sym_AT, + anon_sym_old, ACTIONS(305), 1, - anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, - anon_sym_try, - STATE(203), 1, + aux_sym_number_literal_token3, + STATE(391), 1, sym_primary_expression, - STATE(379), 1, + STATE(685), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(274), 5, + STATE(486), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14422,65 +17535,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [11189] = 22, + sym_tuple_expression, + [12721] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, anon_sym_try, - STATE(203), 1, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, sym_primary_expression, - STATE(379), 1, + STATE(675), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(59), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(277), 5, + STATE(541), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14488,65 +17607,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [11277] = 22, + sym_tuple_expression, + [12816] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, ACTIONS(297), 1, - anon_sym_AT, + anon_sym_old, ACTIONS(305), 1, - anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, - anon_sym_try, - STATE(203), 1, + aux_sym_number_literal_token3, + STATE(391), 1, sym_primary_expression, - STATE(379), 1, + STATE(685), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(541), 3, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(279), 5, + STATE(488), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14554,65 +17679,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [11365] = 22, + sym_tuple_expression, + [12911] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, ACTIONS(297), 1, - anon_sym_AT, + anon_sym_old, ACTIONS(305), 1, - anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, - anon_sym_try, - STATE(17), 1, + aux_sym_number_literal_token3, + STATE(391), 1, sym_primary_expression, - STATE(380), 1, + STATE(685), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(243), 5, + STATE(489), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14620,65 +17751,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [11453] = 22, + sym_tuple_expression, + [13006] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, ACTIONS(297), 1, - anon_sym_AT, + anon_sym_old, ACTIONS(305), 1, - anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, - anon_sym_try, - STATE(17), 1, + aux_sym_number_literal_token3, + STATE(391), 1, sym_primary_expression, - STATE(380), 1, + STATE(685), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(244), 5, + STATE(490), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14686,65 +17823,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [11541] = 22, + sym_tuple_expression, + [13101] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, ACTIONS(297), 1, - anon_sym_AT, + anon_sym_old, ACTIONS(305), 1, - anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, - anon_sym_try, - STATE(17), 1, + aux_sym_number_literal_token3, + STATE(391), 1, sym_primary_expression, - STATE(380), 1, + STATE(685), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(245), 5, + STATE(491), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14752,65 +17895,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [11629] = 22, + sym_tuple_expression, + [13196] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, ACTIONS(297), 1, - anon_sym_AT, + anon_sym_old, ACTIONS(305), 1, - anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, - anon_sym_try, - STATE(17), 1, + aux_sym_number_literal_token3, + STATE(391), 1, sym_primary_expression, - STATE(380), 1, + STATE(685), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(246), 5, + STATE(492), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14818,65 +17967,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [11717] = 22, + sym_tuple_expression, + [13291] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, ACTIONS(297), 1, - anon_sym_AT, + anon_sym_old, ACTIONS(305), 1, - anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, - anon_sym_try, - STATE(17), 1, + aux_sym_number_literal_token3, + STATE(391), 1, sym_primary_expression, - STATE(380), 1, + STATE(685), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(247), 5, + STATE(482), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14884,65 +18039,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [11805] = 22, + sym_tuple_expression, + [13386] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, ACTIONS(297), 1, - anon_sym_AT, + anon_sym_old, ACTIONS(305), 1, - anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, - anon_sym_try, - STATE(17), 1, + aux_sym_number_literal_token3, + STATE(391), 1, sym_primary_expression, - STATE(380), 1, + STATE(685), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(248), 5, + STATE(494), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -14950,65 +18111,143 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [11893] = 22, + sym_tuple_expression, + [13481] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, + ACTIONS(305), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, + STATE(391), 1, + sym_primary_expression, + STATE(685), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(297), 1, - anon_sym_AT, - ACTIONS(305), 1, - anon_sym_switch, - ACTIONS(537), 1, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(285), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(495), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [13576] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(273), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, + anon_sym_LBRACK, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, anon_sym_try, - STATE(17), 1, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(391), 1, sym_primary_expression, - STATE(380), 1, + STATE(685), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(285), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(249), 5, + STATE(496), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -15016,65 +18255,143 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [11981] = 22, + sym_tuple_expression, + [13671] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(79), 1, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, - ACTIONS(89), 1, + ACTIONS(305), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(297), 1, - anon_sym_AT, - ACTIONS(305), 1, - anon_sym_switch, - ACTIONS(537), 1, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(696), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(432), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [13766] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(273), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, + anon_sym_LBRACK, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, anon_sym_try, - STATE(17), 1, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(394), 1, sym_primary_expression, - STATE(380), 1, + STATE(687), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(696), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(250), 5, + STATE(433), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(409), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -15082,65 +18399,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [12069] = 22, + sym_tuple_expression, + [13861] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(17), 1, + STATE(337), 1, sym_primary_expression, - STATE(380), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(251), 5, + STATE(50), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -15148,65 +18471,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [12157] = 22, + sym_tuple_expression, + [13956] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(17), 1, + STATE(337), 1, sym_primary_expression, - STATE(380), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(39), 5, + STATE(548), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -15214,65 +18543,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [12245] = 22, + sym_tuple_expression, + [14051] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, sym_identifier, - ACTIONS(543), 1, + ACTIONS(626), 1, anon_sym_try, - STATE(17), 1, + STATE(337), 1, sym_primary_expression, - STATE(380), 1, + STATE(686), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - STATE(21), 2, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(624), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(252), 5, + STATE(518), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -15280,65 +18615,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [12333] = 22, + sym_tuple_expression, + [14146] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - ACTIONS(537), 1, - sym_identifier, - ACTIONS(543), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, anon_sym_try, - STATE(17), 1, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, sym_primary_expression, - STATE(380), 1, + STATE(678), 1, sym_lvalue, - ACTIONS(85), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - ACTIONS(545), 2, - anon_sym_forall, - anon_sym_exists, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(559), 3, + ACTIONS(638), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(23), 5, + STATE(379), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -15346,65 +18687,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [12421] = 22, + sym_tuple_expression, + [14241] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(17), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, sym_primary_expression, - STATE(381), 1, + STATE(678), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(535), 3, + ACTIONS(638), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(23), 5, + STATE(389), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -15412,65 +18759,71 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [12509] = 22, + sym_tuple_expression, + [14336] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(41), 1, anon_sym_LPAREN, - ACTIONS(51), 1, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(57), 1, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(59), 1, + ACTIONS(63), 1, anon_sym_DOT, - ACTIONS(79), 1, - anon_sym_old, - ACTIONS(81), 1, - anon_sym_comptime, ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, aux_sym_number_literal_token3, - ACTIONS(91), 1, - sym_string_literal, - ACTIONS(295), 1, - sym_identifier, - ACTIONS(297), 1, + ACTIONS(542), 1, anon_sym_AT, - ACTIONS(303), 1, - anon_sym_try, - ACTIONS(305), 1, + ACTIONS(550), 1, anon_sym_switch, - STATE(203), 1, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, sym_primary_expression, - STATE(378), 1, + STATE(678), 1, sym_lvalue, - ACTIONS(83), 2, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, - ACTIONS(85), 2, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(21), 2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, sym_bool_literal, sym_number_literal, - ACTIONS(55), 3, + ACTIONS(638), 3, anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - STATE(278), 5, + STATE(343), 5, sym__expression, sym_assignment_expression, sym_binary_expression, sym_unary_expression, sym_postfix_expression, - STATE(31), 12, + STATE(59), 15, sym_switch_expression, sym_literal, sym_parenthesized_expression, @@ -15478,9911 +18831,26517 @@ static const uint16_t ts_small_parse_table[] = { sym_old_expression, sym_comptime_expression, sym_cast_expression, + sym_intrinsic_expression, sym_error_expression, + sym_error_identifier, sym_quantified_expression, sym_struct_literal, sym_anonymous_struct_literal, sym_array_literal, - [12597] = 4, + sym_tuple_expression, + [14431] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(613), 1, - anon_sym_catch, - ACTIONS(611), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(609), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(678), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [12647] = 5, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(638), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(344), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [14526] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(619), 1, - anon_sym_invariant, - STATE(168), 2, - sym_invariant_clause, - aux_sym_while_statement_repeat1, - ACTIONS(617), 11, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(615), 26, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(678), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [12699] = 3, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(638), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(346), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [14621] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(624), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(622), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(678), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [12746] = 3, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(638), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(348), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [14716] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(628), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(626), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(678), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [12793] = 3, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(638), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(354), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [14811] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(632), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(678), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(630), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(638), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(355), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [14906] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(678), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [12840] = 3, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(638), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(356), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [15001] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(636), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(634), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(678), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [12887] = 3, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(638), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(360), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [15096] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(640), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(638), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(678), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [12934] = 3, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(638), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(361), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [15191] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(644), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(642), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(678), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [12981] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(648), 12, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(646), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13028] = 3, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(638), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(362), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [15286] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(652), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(650), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(678), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13075] = 3, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(638), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(342), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [15381] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(656), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(654), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(678), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13122] = 3, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(638), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(364), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [15476] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(660), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(658), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13169] = 3, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(523), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [15571] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(664), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(662), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(552), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13216] = 3, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(63), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [15666] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(668), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(666), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13263] = 3, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(50), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [15761] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(672), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(670), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(552), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13310] = 3, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(70), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [15856] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(676), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(674), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13357] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(680), 12, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, anon_sym_BANG, - anon_sym_LBRACK, - anon_sym_DOT, anon_sym_PLUS, anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(678), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13404] = 3, + STATE(449), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [15951] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(684), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(682), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13451] = 3, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(450), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [16046] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(688), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(686), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13498] = 3, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(451), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [16141] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(692), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(690), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13545] = 3, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(452), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [16236] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(696), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(694), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13592] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(700), 12, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(698), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13639] = 3, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(453), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [16331] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(704), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(702), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13686] = 3, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(454), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [16426] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(708), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(706), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13733] = 3, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(455), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [16521] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(712), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(710), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13780] = 3, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(456), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [16616] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(716), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(714), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13827] = 3, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(457), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [16711] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(720), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(718), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13874] = 3, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(458), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [16806] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(724), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(722), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_else, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, + ACTIONS(628), 2, anon_sym_forall, anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13921] = 4, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(459), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [16901] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(730), 1, - anon_sym_else, - ACTIONS(728), 12, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(726), 26, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, - anon_sym_error, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, - anon_sym_try, - anon_sym_switch, + ACTIONS(89), 1, anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [13970] = 3, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(460), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [16996] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(734), 11, - anon_sym_AT, + ACTIONS(41), 1, anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_BANG, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, + ACTIONS(63), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, sym_string_literal, - ACTIONS(732), 27, - anon_sym_const, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_log, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(461), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [17091] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - anon_sym_invariant, - anon_sym_if, - anon_sym_while, - anon_sym_for, - anon_sym_return, - anon_sym_break, - anon_sym_continue, - anon_sym_assert, + ACTIONS(287), 1, + anon_sym_LBRACK, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, anon_sym_try, + ACTIONS(295), 1, anon_sym_switch, + ACTIONS(297), 1, anon_sym_old, - anon_sym_comptime, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, anon_sym_forall, anon_sym_exists, + ACTIONS(301), 2, anon_sym_true, anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [14016] = 15, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(696), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(463), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [17186] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, + ACTIONS(273), 1, sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(744), 1, - anon_sym_GT, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - ACTIONS(754), 1, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, aux_sym_number_literal_token3, - STATE(490), 1, - sym_type_argument, - ACTIONS(752), 2, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(481), 2, - sym_type, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, sym_number_literal, - STATE(344), 6, - sym_primitive_type, - sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [14086] = 15, + ACTIONS(696), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(464), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [17281] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, + ACTIONS(273), 1, sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - ACTIONS(754), 1, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, aux_sym_number_literal_token3, - ACTIONS(756), 1, - anon_sym_GT, - STATE(490), 1, - sym_type_argument, - ACTIONS(752), 2, - aux_sym_number_literal_token1, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(481), 2, - sym_type, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, sym_number_literal, - STATE(344), 6, - sym_primitive_type, - sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [14156] = 14, + ACTIONS(696), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(465), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [17376] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, + ACTIONS(273), 1, sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - ACTIONS(754), 1, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, aux_sym_number_literal_token3, - STATE(490), 1, - sym_type_argument, - ACTIONS(752), 2, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(481), 2, - sym_type, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, sym_number_literal, - STATE(344), 6, - sym_primitive_type, - sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [14223] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(212), 1, - anon_sym_EQ, - ACTIONS(214), 1, - anon_sym_LBRACE, - ACTIONS(216), 1, - anon_sym_LBRACK, - ACTIONS(758), 1, - anon_sym_DOT, - STATE(30), 1, - sym_struct_literal_fields, - STATE(359), 1, - aux_sym_lvalue_repeat1, - ACTIONS(219), 5, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - ACTIONS(205), 11, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - anon_sym_AMP, - anon_sym_LT_LT, - anon_sym_GT_GT, + ACTIONS(696), 3, + anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(207), 15, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - anon_sym_STAR_PERCENT, - [14282] = 14, + STATE(466), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [17471] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, + ACTIONS(273), 1, sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - ACTIONS(754), 1, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, aux_sym_number_literal_token3, - STATE(435), 1, - sym_type_argument, - ACTIONS(752), 2, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, aux_sym_number_literal_token1, aux_sym_number_literal_token2, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(481), 2, - sym_type, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, sym_number_literal, - STATE(344), 6, - sym_primitive_type, - sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [14349] = 11, + ACTIONS(696), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(467), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [17566] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(212), 1, - anon_sym_EQ, - ACTIONS(214), 1, - anon_sym_LBRACE, - ACTIONS(216), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(758), 1, + ACTIONS(289), 1, anon_sym_DOT, - ACTIONS(761), 1, - anon_sym_COLON, - STATE(30), 1, - sym_struct_literal_fields, - STATE(359), 1, - aux_sym_lvalue_repeat1, - ACTIONS(219), 5, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - ACTIONS(205), 11, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - anon_sym_AMP, - anon_sym_LT_LT, - anon_sym_GT_GT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(696), 3, + anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PERCENT, - ACTIONS(207), 14, - anon_sym_LPAREN, - anon_sym_SEMI, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - anon_sym_STAR_PERCENT, - [14410] = 7, + STATE(401), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [17661] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(245), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(247), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(249), 1, + ACTIONS(289), 1, anon_sym_DOT, - STATE(204), 2, - sym_postfix_operator, - aux_sym_postfix_expression_repeat1, - ACTIONS(241), 10, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - anon_sym_AMP, - anon_sym_LT_LT, - anon_sym_GT_GT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(696), 3, + anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(243), 20, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [14461] = 7, + STATE(468), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [17756] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(245), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, anon_sym_LPAREN, - ACTIONS(247), 1, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(249), 1, + ACTIONS(289), 1, anon_sym_DOT, - STATE(15), 2, - sym_postfix_operator, - aux_sym_postfix_expression_repeat1, - ACTIONS(237), 10, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - anon_sym_AMP, - anon_sym_LT_LT, - anon_sym_GT_GT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(696), 3, + anon_sym_BANG, anon_sym_PLUS, anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(239), 20, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [14512] = 19, + STATE(469), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [17851] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(763), 1, - ts_builtin_sym_end, - ACTIONS(765), 1, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, anon_sym_AT, - ACTIONS(768), 1, - anon_sym_const, - ACTIONS(771), 1, - anon_sym_contract, - ACTIONS(774), 1, - anon_sym_pub, - ACTIONS(777), 1, - anon_sym_fn, - ACTIONS(786), 1, - anon_sym_struct, - ACTIONS(789), 1, - anon_sym_bitfield, - ACTIONS(792), 1, - anon_sym_enum, - ACTIONS(795), 1, - anon_sym_log, - ACTIONS(798), 1, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, anon_sym_error, - ACTIONS(801), 1, - anon_sym_ghost, - ACTIONS(804), 1, - anon_sym_invariant, - STATE(384), 1, - sym_memory_region, - STATE(626), 1, - sym_variable_kind, - ACTIONS(780), 3, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - ACTIONS(783), 3, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - STATE(205), 13, - sym__top_level_declaration, - sym_import_declaration, - sym_contract_declaration, - sym_function_declaration, - sym_variable_declaration, - sym_struct_declaration, - sym_bitfield_declaration, - sym_enum_declaration, - sym_log_declaration, - sym_error_declaration, - sym_ghost_declaration, - sym_contract_invariant, - aux_sym_source_file_repeat1, - [14586] = 19, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_AT, - ACTIONS(9), 1, - anon_sym_const, - ACTIONS(11), 1, - anon_sym_contract, - ACTIONS(13), 1, - anon_sym_pub, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(21), 1, - anon_sym_struct, - ACTIONS(23), 1, - anon_sym_bitfield, - ACTIONS(25), 1, - anon_sym_enum, - ACTIONS(27), 1, - anon_sym_log, - ACTIONS(29), 1, - anon_sym_error, - ACTIONS(31), 1, - anon_sym_ghost, - ACTIONS(33), 1, - anon_sym_invariant, - ACTIONS(807), 1, - ts_builtin_sym_end, - STATE(384), 1, - sym_memory_region, - STATE(626), 1, - sym_variable_kind, - ACTIONS(17), 3, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - ACTIONS(19), 3, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - STATE(205), 13, - sym__top_level_declaration, - sym_import_declaration, - sym_contract_declaration, - sym_function_declaration, - sym_variable_declaration, - sym_struct_declaration, - sym_bitfield_declaration, - sym_enum_declaration, - sym_log_declaration, - sym_error_declaration, - sym_ghost_declaration, - sym_contract_invariant, - aux_sym_source_file_repeat1, - [14660] = 11, - ACTIONS(3), 1, - sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(471), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [14716] = 11, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(696), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(470), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [17946] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, + ACTIONS(273), 1, sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(494), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [14772] = 11, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(696), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(471), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [18041] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, + ACTIONS(273), 1, sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(493), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [14828] = 11, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(696), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(472), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [18136] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, + ACTIONS(273), 1, sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(484), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [14884] = 11, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(696), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(473), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [18231] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, + ACTIONS(273), 1, sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(565), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [14940] = 11, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(696), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(474), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [18326] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(382), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(25), 1, + sym_primary_expression, + STATE(676), 1, + sym_lvalue, + STATE(802), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [14996] = 11, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(694), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(50), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [18421] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(430), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15052] = 11, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(436), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [18516] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(492), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15108] = 11, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(78), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [18611] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(501), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15164] = 11, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(65), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [18706] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + anon_sym_PLUS, + anon_sym_DASH, + STATE(66), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [18801] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(588), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15220] = 11, - ACTIONS(3), 1, - sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, - anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(486), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, - sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15276] = 11, + anon_sym_PLUS, + anon_sym_DASH, + STATE(67), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [18896] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(540), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15332] = 11, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(68), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [18991] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(488), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15388] = 11, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(69), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [19086] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(561), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15444] = 11, - ACTIONS(3), 1, - sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, - anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(605), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, - sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15500] = 11, + anon_sym_PLUS, + anon_sym_DASH, + STATE(62), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [19181] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(538), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15556] = 11, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(71), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [19276] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(524), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15612] = 11, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(72), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [19371] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(740), 1, - anon_sym_BANG, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(602), 1, - sym_type, - STATE(355), 2, - sym_error_union_type, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15668] = 17, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(73), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [19466] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(812), 1, - anon_sym_RBRACE, - ACTIONS(814), 1, - anon_sym_pub, - ACTIONS(817), 1, - anon_sym_fn, - ACTIONS(823), 1, - anon_sym_struct, - ACTIONS(826), 1, - anon_sym_bitfield, - ACTIONS(829), 1, - anon_sym_enum, - ACTIONS(832), 1, - anon_sym_log, - ACTIONS(835), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(838), 1, - anon_sym_ghost, - ACTIONS(841), 1, - anon_sym_invariant, - STATE(384), 1, - sym_memory_region, - STATE(626), 1, - sym_variable_kind, - STATE(225), 2, - sym_contract_member, - aux_sym_contract_declaration_repeat1, - ACTIONS(820), 3, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - ACTIONS(809), 4, - anon_sym_const, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - STATE(338), 9, - sym_function_declaration, - sym_variable_declaration, - sym_struct_declaration, - sym_bitfield_declaration, - sym_enum_declaration, - sym_log_declaration, - sym_error_declaration, - sym_ghost_declaration, - sym_contract_invariant, - [15734] = 17, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(74), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [19561] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pub, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(21), 1, - anon_sym_struct, - ACTIONS(23), 1, - anon_sym_bitfield, - ACTIONS(25), 1, - anon_sym_enum, - ACTIONS(27), 1, - anon_sym_log, - ACTIONS(29), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(31), 1, - anon_sym_ghost, - ACTIONS(33), 1, - anon_sym_invariant, - ACTIONS(844), 1, - anon_sym_RBRACE, - STATE(384), 1, - sym_memory_region, - STATE(626), 1, - sym_variable_kind, - STATE(225), 2, - sym_contract_member, - aux_sym_contract_declaration_repeat1, - ACTIONS(17), 3, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - ACTIONS(19), 4, - anon_sym_const, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - STATE(338), 9, - sym_function_declaration, - sym_variable_declaration, - sym_struct_declaration, - sym_bitfield_declaration, - sym_enum_declaration, - sym_log_declaration, - sym_error_declaration, - sym_ghost_declaration, - sym_contract_invariant, - [15800] = 17, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(75), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [19656] = 23, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pub, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(21), 1, - anon_sym_struct, - ACTIONS(23), 1, - anon_sym_bitfield, - ACTIONS(25), 1, - anon_sym_enum, - ACTIONS(27), 1, - anon_sym_log, - ACTIONS(29), 1, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, anon_sym_error, - ACTIONS(31), 1, - anon_sym_ghost, - ACTIONS(33), 1, - anon_sym_invariant, - ACTIONS(846), 1, - anon_sym_RBRACE, - STATE(384), 1, - sym_memory_region, - STATE(626), 1, - sym_variable_kind, - STATE(226), 2, - sym_contract_member, - aux_sym_contract_declaration_repeat1, - ACTIONS(17), 3, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - ACTIONS(19), 4, - anon_sym_const, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - STATE(338), 9, - sym_function_declaration, - sym_variable_declaration, - sym_struct_declaration, - sym_bitfield_declaration, - sym_enum_declaration, - sym_log_declaration, - sym_error_declaration, - sym_ghost_declaration, - sym_contract_invariant, - [15866] = 13, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(76), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [19751] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(77), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [19846] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(437), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [19941] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(438), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [20036] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(439), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [20131] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(440), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [20226] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(441), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [20321] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(442), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [20416] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(443), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [20511] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(444), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [20606] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(445), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [20701] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(446), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [20796] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(447), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [20891] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(698), 1, + sym_identifier, + ACTIONS(701), 1, + anon_sym_AT, + ACTIONS(704), 1, + anon_sym_LPAREN, + ACTIONS(707), 1, + anon_sym_comptime, + ACTIONS(710), 1, + anon_sym_error, + ACTIONS(716), 1, + anon_sym_LBRACK, + ACTIONS(719), 1, + anon_sym_DOT, + ACTIONS(722), 1, + anon_sym_try, + ACTIONS(725), 1, + anon_sym_switch, + ACTIONS(728), 1, + anon_sym_old, + ACTIONS(740), 1, + aux_sym_number_literal_token3, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(731), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(734), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(737), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(743), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(713), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(528), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [20986] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(626), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(669), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(624), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(502), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [21081] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(678), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(638), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(50), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [21176] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(525), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [21271] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(529), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [21366] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, + sym_primary_expression, + STATE(686), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(624), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(526), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [21461] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(531), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [21556] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(532), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [21651] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(533), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [21746] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, + sym_primary_expression, + STATE(686), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(624), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(479), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [21841] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(535), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [21936] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(536), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [22031] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(537), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [22126] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(620), 1, + sym_identifier, + ACTIONS(626), 1, + anon_sym_try, + STATE(337), 1, + sym_primary_expression, + STATE(686), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(628), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(624), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(538), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [22221] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(540), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [22316] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(448), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [22411] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, + anon_sym_LBRACK, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(394), 1, + sym_primary_expression, + STATE(687), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(696), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(477), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [22506] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(544), 1, + anon_sym_comptime, + ACTIONS(548), 1, + anon_sym_try, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(632), 1, + sym_identifier, + STATE(25), 1, + sym_primary_expression, + STATE(684), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(552), 2, + anon_sym_forall, + anon_sym_exists, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(546), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(50), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [22601] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(561), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [22696] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LPAREN, + ACTIONS(55), 1, + anon_sym_error, + ACTIONS(61), 1, + anon_sym_LBRACK, + ACTIONS(63), 1, + anon_sym_DOT, + ACTIONS(89), 1, + anon_sym_old, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(542), 1, + anon_sym_AT, + ACTIONS(550), 1, + anon_sym_switch, + ACTIONS(554), 1, + anon_sym_comptime, + ACTIONS(556), 1, + anon_sym_try, + ACTIONS(632), 1, + sym_identifier, + STATE(337), 1, + sym_primary_expression, + STATE(675), 1, + sym_lvalue, + STATE(802), 1, + sym_generic_type, + ACTIONS(91), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(93), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(99), 2, + sym_bytes_literal, + sym_string_literal, + STATE(32), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(59), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(565), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(59), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [22791] = 23, + ACTIONS(3), 1, + sym_comment, + ACTIONS(273), 1, + sym_identifier, + ACTIONS(275), 1, + anon_sym_AT, + ACTIONS(277), 1, + anon_sym_LPAREN, + ACTIONS(281), 1, + anon_sym_comptime, + ACTIONS(283), 1, + anon_sym_error, + ACTIONS(287), 1, + anon_sym_LBRACK, + ACTIONS(289), 1, + anon_sym_DOT, + ACTIONS(293), 1, + anon_sym_try, + ACTIONS(295), 1, + anon_sym_switch, + ACTIONS(297), 1, + anon_sym_old, + ACTIONS(305), 1, + aux_sym_number_literal_token3, + STATE(391), 1, + sym_primary_expression, + STATE(685), 1, + sym_lvalue, + STATE(798), 1, + sym_generic_type, + ACTIONS(299), 2, + anon_sym_forall, + anon_sym_exists, + ACTIONS(301), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(303), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + ACTIONS(307), 2, + sym_bytes_literal, + sym_string_literal, + STATE(404), 2, + sym_bool_literal, + sym_number_literal, + ACTIONS(285), 3, + anon_sym_BANG, + anon_sym_PLUS, + anon_sym_DASH, + STATE(487), 5, + sym__expression, + sym_assignment_expression, + sym_binary_expression, + sym_unary_expression, + sym_postfix_expression, + STATE(409), 15, + sym_switch_expression, + sym_literal, + sym_parenthesized_expression, + sym_try_expression, + sym_old_expression, + sym_comptime_expression, + sym_cast_expression, + sym_intrinsic_expression, + sym_error_expression, + sym_error_identifier, + sym_quantified_expression, + sym_struct_literal, + sym_anonymous_struct_literal, + sym_array_literal, + sym_tuple_expression, + [22886] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(748), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(746), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [22940] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(754), 1, + anon_sym_else, + ACTIONS(752), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(750), 31, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [22996] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(758), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(756), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23050] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(762), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(760), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23104] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(766), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(764), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23158] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(770), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(768), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23212] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(774), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(772), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23266] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(778), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(776), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23320] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(782), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(780), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23374] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(786), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(784), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23428] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(790), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(788), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23482] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(794), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(792), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23536] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(798), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(796), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23590] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(802), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(800), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23644] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(806), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(804), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23698] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(810), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(808), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23752] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(814), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(812), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23806] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(818), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(816), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23860] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(822), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(820), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23914] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(826), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(824), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [23968] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(830), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(828), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24022] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(834), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(832), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24076] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(838), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(836), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24130] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(221), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(219), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24184] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(842), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(840), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24238] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(846), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(844), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24292] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(850), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(848), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24346] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(854), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(852), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24400] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(858), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(856), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24454] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(862), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(860), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24508] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(866), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(864), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24562] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(870), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(868), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24616] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(874), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(872), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24670] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(878), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(876), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24724] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(882), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(880), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24778] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(886), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(884), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24832] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(890), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(888), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24886] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(894), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(892), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24940] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(898), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(896), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [24994] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(902), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(900), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25048] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(906), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(904), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25102] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(910), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(908), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25156] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(914), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(912), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25210] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(918), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(916), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25264] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(922), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(920), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25318] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(926), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(924), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25372] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(930), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(928), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25426] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(934), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(932), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25480] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(938), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(936), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25534] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(942), 14, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(940), 32, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_else, + anon_sym_while, + anon_sym_for, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25588] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(946), 12, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(944), 33, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_invariant, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_decreases, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25641] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(950), 12, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + ACTIONS(948), 33, + anon_sym_const, + anon_sym_comptime, + anon_sym_requires, + anon_sym_ensures, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_log, + anon_sym_error, + anon_sym_invariant, + anon_sym_assume, + anon_sym_havoc, + anon_sym_if, + anon_sym_while, + anon_sym_for, + anon_sym_decreases, + anon_sym_return, + anon_sym_break, + anon_sym_continue, + anon_sym_assert, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + [25694] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(71), 1, + anon_sym_while, + ACTIONS(73), 1, + anon_sym_for, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + ACTIONS(968), 1, + anon_sym_switch, + STATE(806), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(286), 4, + sym_while_statement, + sym_for_statement, + sym_block, + sym_switch_statement, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [25772] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(237), 1, + anon_sym_LPAREN, + ACTIONS(243), 1, + anon_sym_EQ, + ACTIONS(247), 1, + anon_sym_LT, + ACTIONS(250), 1, + anon_sym_LBRACK, + ACTIONS(255), 1, + anon_sym_DOT, + ACTIONS(970), 1, + anon_sym_LBRACE, + STATE(408), 1, + sym_struct_literal_fields, + STATE(656), 1, + aux_sym_lvalue_repeat1, + STATE(642), 2, + sym_type_argument_list_angle, + sym_type_argument_list_paren, + ACTIONS(253), 5, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + ACTIONS(233), 12, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_STAR_STAR, + ACTIONS(235), 15, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [25842] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(237), 1, + anon_sym_LPAREN, + ACTIONS(243), 1, + anon_sym_EQ, + ACTIONS(245), 1, + anon_sym_LBRACE, + ACTIONS(247), 1, + anon_sym_LT, + ACTIONS(250), 1, + anon_sym_LBRACK, + ACTIONS(255), 1, + anon_sym_DOT, + STATE(48), 1, + sym_struct_literal_fields, + STATE(656), 1, + aux_sym_lvalue_repeat1, + STATE(642), 2, + sym_type_argument_list_angle, + sym_type_argument_list_paren, + ACTIONS(253), 5, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + ACTIONS(233), 11, + anon_sym_PIPE, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_STAR_STAR, + ACTIONS(235), 16, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [25912] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(237), 1, + anon_sym_LPAREN, + ACTIONS(243), 1, + anon_sym_EQ, + ACTIONS(245), 1, + anon_sym_LBRACE, + ACTIONS(247), 1, + anon_sym_LT, + ACTIONS(250), 1, + anon_sym_LBRACK, + ACTIONS(255), 1, + anon_sym_DOT, + ACTIONS(972), 1, + anon_sym_COLON, + STATE(48), 1, + sym_struct_literal_fields, + STATE(656), 1, + aux_sym_lvalue_repeat1, + STATE(642), 2, + sym_type_argument_list_angle, + sym_type_argument_list_paren, + ACTIONS(253), 5, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + ACTIONS(233), 11, + anon_sym_PIPE, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PERCENT, + anon_sym_STAR_STAR, + ACTIONS(235), 15, + anon_sym_SEMI, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [25984] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + ACTIONS(974), 1, + anon_sym_RPAREN, + STATE(752), 1, + sym_type_argument, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(756), 2, + sym_type, + sym_number_literal, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [26058] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + ACTIONS(976), 1, + anon_sym_RPAREN, + STATE(752), 1, + sym_type_argument, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(756), 2, + sym_type, + sym_number_literal, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [26132] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + ACTIONS(978), 1, + anon_sym_GT, + ACTIONS(982), 1, + aux_sym_number_literal_token3, + STATE(752), 1, + sym_type_argument, + ACTIONS(980), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(756), 2, + sym_type, + sym_number_literal, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [26206] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + ACTIONS(982), 1, + aux_sym_number_literal_token3, + ACTIONS(984), 1, + anon_sym_GT, + STATE(752), 1, + sym_type_argument, + ACTIONS(980), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(756), 2, + sym_type, + sym_number_literal, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [26280] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + ACTIONS(982), 1, + aux_sym_number_literal_token3, + STATE(760), 1, + sym_type_argument, + ACTIONS(980), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(756), 2, + sym_type, + sym_number_literal, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [26351] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(752), 1, + sym_type_argument, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(756), 2, + sym_type, + sym_number_literal, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [26422] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + ACTIONS(982), 1, + aux_sym_number_literal_token3, + STATE(752), 1, + sym_type_argument, + ACTIONS(980), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(756), 2, + sym_type, + sym_number_literal, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [26493] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(759), 1, + sym_type_argument, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(756), 2, + sym_type, + sym_number_literal, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [26564] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(317), 1, + anon_sym_LPAREN, + ACTIONS(319), 1, + anon_sym_LBRACK, + ACTIONS(321), 1, + anon_sym_DOT, + STATE(22), 2, + sym_postfix_operator, + aux_sym_postfix_expression_repeat1, + ACTIONS(309), 11, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(311), 21, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [26617] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(317), 1, + anon_sym_LPAREN, + ACTIONS(319), 1, + anon_sym_LBRACK, + ACTIONS(321), 1, + anon_sym_DOT, + STATE(336), 2, + sym_postfix_operator, + aux_sym_postfix_expression_repeat1, + ACTIONS(313), 11, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(315), 21, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [26670] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(9), 1, + anon_sym_AT, + ACTIONS(11), 1, + anon_sym_const, + ACTIONS(13), 1, + anon_sym_contract, + ACTIONS(15), 1, + anon_sym_pub, + ACTIONS(17), 1, + anon_sym_fn, + ACTIONS(23), 1, + anon_sym_struct, + ACTIONS(25), 1, + anon_sym_bitfield, + ACTIONS(27), 1, + anon_sym_enum, + ACTIONS(29), 1, + anon_sym_log, + ACTIONS(31), 1, + anon_sym_error, + ACTIONS(33), 1, + anon_sym_ghost, + ACTIONS(35), 1, + anon_sym_invariant, + ACTIONS(986), 1, + ts_builtin_sym_end, + STATE(697), 1, + sym_memory_region, + STATE(905), 1, + sym_variable_kind, + ACTIONS(21), 3, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + ACTIONS(19), 4, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + STATE(339), 13, + sym__top_level_declaration, + sym_import_declaration, + sym_contract_declaration, + sym_function_declaration, + sym_variable_declaration, + sym_struct_declaration, + sym_bitfield_declaration, + sym_enum_declaration, + sym_log_declaration, + sym_error_declaration, + sym_ghost_declaration, + sym_contract_invariant, + aux_sym_source_file_repeat1, + [26748] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(988), 1, + ts_builtin_sym_end, + ACTIONS(990), 1, + sym_identifier, + ACTIONS(993), 1, + anon_sym_AT, + ACTIONS(996), 1, + anon_sym_const, + ACTIONS(999), 1, + anon_sym_contract, + ACTIONS(1002), 1, + anon_sym_pub, + ACTIONS(1005), 1, + anon_sym_fn, + ACTIONS(1014), 1, + anon_sym_struct, + ACTIONS(1017), 1, + anon_sym_bitfield, + ACTIONS(1020), 1, + anon_sym_enum, + ACTIONS(1023), 1, + anon_sym_log, + ACTIONS(1026), 1, + anon_sym_error, + ACTIONS(1029), 1, + anon_sym_ghost, + ACTIONS(1032), 1, + anon_sym_invariant, + STATE(697), 1, + sym_memory_region, + STATE(905), 1, + sym_variable_kind, + ACTIONS(1011), 3, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + ACTIONS(1008), 4, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + STATE(339), 13, + sym__top_level_declaration, + sym_import_declaration, + sym_contract_declaration, + sym_function_declaration, + sym_variable_declaration, + sym_struct_declaration, + sym_bitfield_declaration, + sym_enum_declaration, + sym_log_declaration, + sym_error_declaration, + sym_ghost_declaration, + sym_contract_invariant, + aux_sym_source_file_repeat1, + [26826] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + ACTIONS(1035), 1, + anon_sym_RPAREN, + STATE(810), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [26889] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + ACTIONS(1037), 1, + anon_sym_RPAREN, + STATE(810), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [26952] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 11, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(560), 21, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [26998] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1045), 1, + anon_sym_CARET, + ACTIONS(1047), 1, + anon_sym_AMP, + ACTIONS(558), 2, + anon_sym_PIPE, + anon_sym_DOT, + ACTIONS(1043), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1049), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1051), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1053), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1055), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 10, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [27066] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1053), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1055), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 5, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + ACTIONS(560), 15, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [27124] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(909), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [27184] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_DOT, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1045), 1, + anon_sym_CARET, + ACTIONS(1047), 1, + anon_sym_AMP, + ACTIONS(1065), 1, + anon_sym_PIPE, + ACTIONS(1067), 1, + anon_sym_AMP_AMP, + ACTIONS(1043), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1049), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1051), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1053), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1055), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 9, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + [27256] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(842), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [27316] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_DOT, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1045), 1, + anon_sym_CARET, + ACTIONS(1047), 1, + anon_sym_AMP, + ACTIONS(1065), 1, + anon_sym_PIPE, + ACTIONS(1043), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1049), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1051), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1053), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1055), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 10, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [27386] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(815), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [27446] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(911), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [27506] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(915), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [27566] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(994), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [27626] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(975), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [27686] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1047), 1, + anon_sym_AMP, + ACTIONS(558), 2, + anon_sym_PIPE, + anon_sym_DOT, + ACTIONS(1043), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1049), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1051), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1053), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1055), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 11, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [27752] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1043), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1049), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1051), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1053), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1055), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 3, + anon_sym_PIPE, + anon_sym_DOT, + anon_sym_AMP, + ACTIONS(560), 11, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [27816] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1043), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1051), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1053), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1055), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 3, + anon_sym_PIPE, + anon_sym_DOT, + anon_sym_AMP, + ACTIONS(560), 13, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [27878] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(939), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [27938] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(827), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [27998] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(834), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [28058] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 7, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(560), 17, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + [28112] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 9, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(560), 19, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + [28162] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 11, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(560), 21, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [28208] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(1010), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [28268] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(612), 1, + anon_sym_DOT, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1045), 1, + anon_sym_CARET, + ACTIONS(1047), 1, + anon_sym_AMP, + ACTIONS(1065), 1, + anon_sym_PIPE, + ACTIONS(1067), 1, + anon_sym_AMP_AMP, + ACTIONS(1069), 1, + anon_sym_DOT_DOT, + ACTIONS(1071), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1043), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1049), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1051), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1053), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1055), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(614), 7, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + [28344] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(586), 1, + anon_sym_DOT, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1045), 1, + anon_sym_CARET, + ACTIONS(1047), 1, + anon_sym_AMP, + ACTIONS(1065), 1, + anon_sym_PIPE, + ACTIONS(1067), 1, + anon_sym_AMP_AMP, + ACTIONS(1069), 1, + anon_sym_DOT_DOT, + ACTIONS(1071), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1043), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1049), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1051), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1053), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1055), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(588), 7, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + [28420] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(957), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [28480] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(848), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [28540] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(726), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [28600] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(825), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [28660] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(801), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [28720] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(799), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [28780] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(989), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [28840] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(961), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [28900] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(608), 1, + anon_sym_DOT, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1045), 1, + anon_sym_CARET, + ACTIONS(1047), 1, + anon_sym_AMP, + ACTIONS(1065), 1, + anon_sym_PIPE, + ACTIONS(1067), 1, + anon_sym_AMP_AMP, + ACTIONS(1069), 1, + anon_sym_DOT_DOT, + ACTIONS(1071), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1043), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1049), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1051), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1053), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1055), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(610), 7, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + [28976] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(738), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29036] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(829), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29096] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(990), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29156] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(835), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29216] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(616), 1, + anon_sym_DOT, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1045), 1, + anon_sym_CARET, + ACTIONS(1047), 1, + anon_sym_AMP, + ACTIONS(1065), 1, + anon_sym_PIPE, + ACTIONS(1067), 1, + anon_sym_AMP_AMP, + ACTIONS(1069), 1, + anon_sym_DOT_DOT, + ACTIONS(1071), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1043), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1049), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1051), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1053), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1055), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(618), 7, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + [29292] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + ACTIONS(1073), 1, + sym_identifier, + ACTIONS(1075), 1, + anon_sym_BANG, + STATE(699), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29352] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(836), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29412] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(817), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29472] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(852), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29532] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(821), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29592] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(851), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29652] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(837), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29712] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(849), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29772] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(1008), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29832] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_DOT, + ACTIONS(1039), 1, + anon_sym_STAR_STAR, + ACTIONS(1041), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1045), 1, + anon_sym_CARET, + ACTIONS(1047), 1, + anon_sym_AMP, + ACTIONS(1065), 1, + anon_sym_PIPE, + ACTIONS(1067), 1, + anon_sym_AMP_AMP, + ACTIONS(1069), 1, + anon_sym_DOT_DOT, + ACTIONS(1071), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1043), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1049), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1051), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1053), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1055), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1057), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1059), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1061), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1063), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 7, + anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_EQ_GT, + [29908] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(958), 1, + anon_sym_BANG, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(810), 1, + sym_type, + STATE(645), 2, + sym_error_union_type, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [29968] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1077), 1, + anon_sym_LPAREN, + ACTIONS(1079), 1, + anon_sym_LBRACK, + ACTIONS(1081), 1, + anon_sym_DOT, + STATE(395), 2, + sym_postfix_operator, + aux_sym_postfix_expression_repeat1, + ACTIONS(313), 12, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(315), 16, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [30017] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(393), 2, + sym_postfix_operator, + aux_sym_postfix_expression_repeat1, + ACTIONS(309), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(311), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [30060] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1083), 1, + anon_sym_LPAREN, + ACTIONS(1086), 1, + anon_sym_LBRACK, + ACTIONS(1089), 1, + anon_sym_DOT, + STATE(393), 2, + sym_postfix_operator, + aux_sym_postfix_expression_repeat1, + ACTIONS(260), 12, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(262), 16, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [30109] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1077), 1, + anon_sym_LPAREN, + ACTIONS(1079), 1, + anon_sym_LBRACK, + ACTIONS(1081), 1, + anon_sym_DOT, + STATE(392), 2, + sym_postfix_operator, + aux_sym_postfix_expression_repeat1, + ACTIONS(313), 12, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(315), 16, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [30158] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1077), 1, + anon_sym_LPAREN, + ACTIONS(1079), 1, + anon_sym_LBRACK, + ACTIONS(1081), 1, + anon_sym_DOT, + STATE(393), 2, + sym_postfix_operator, + aux_sym_postfix_expression_repeat1, + ACTIONS(309), 12, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(311), 16, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [30207] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_pub, + ACTIONS(17), 1, + anon_sym_fn, + ACTIONS(23), 1, + anon_sym_struct, + ACTIONS(25), 1, + anon_sym_bitfield, + ACTIONS(27), 1, + anon_sym_enum, + ACTIONS(29), 1, + anon_sym_log, + ACTIONS(31), 1, + anon_sym_error, + ACTIONS(33), 1, + anon_sym_ghost, + ACTIONS(35), 1, + anon_sym_invariant, + ACTIONS(1092), 1, + anon_sym_RBRACE, + STATE(697), 1, + sym_memory_region, + STATE(905), 1, + sym_variable_kind, + STATE(399), 2, + sym_contract_member, + aux_sym_contract_declaration_repeat1, + ACTIONS(19), 4, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + ACTIONS(21), 4, + anon_sym_const, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + STATE(624), 9, + sym_function_declaration, + sym_variable_declaration, + sym_struct_declaration, + sym_bitfield_declaration, + sym_enum_declaration, + sym_log_declaration, + sym_error_declaration, + sym_ghost_declaration, + sym_contract_invariant, + [30277] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_pub, + ACTIONS(17), 1, + anon_sym_fn, + ACTIONS(23), 1, + anon_sym_struct, + ACTIONS(25), 1, + anon_sym_bitfield, + ACTIONS(27), 1, + anon_sym_enum, + ACTIONS(29), 1, + anon_sym_log, + ACTIONS(31), 1, + anon_sym_error, + ACTIONS(33), 1, + anon_sym_ghost, + ACTIONS(35), 1, + anon_sym_invariant, + ACTIONS(1094), 1, + anon_sym_RBRACE, + STATE(697), 1, + sym_memory_region, + STATE(905), 1, + sym_variable_kind, + STATE(396), 2, + sym_contract_member, + aux_sym_contract_declaration_repeat1, + ACTIONS(19), 4, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + ACTIONS(21), 4, + anon_sym_const, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + STATE(624), 9, + sym_function_declaration, + sym_variable_declaration, + sym_struct_declaration, + sym_bitfield_declaration, + sym_enum_declaration, + sym_log_declaration, + sym_error_declaration, + sym_ghost_declaration, + sym_contract_invariant, + [30347] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_pub, + ACTIONS(17), 1, + anon_sym_fn, + ACTIONS(23), 1, + anon_sym_struct, + ACTIONS(25), 1, + anon_sym_bitfield, + ACTIONS(27), 1, + anon_sym_enum, + ACTIONS(29), 1, + anon_sym_log, + ACTIONS(31), 1, + anon_sym_error, + ACTIONS(33), 1, + anon_sym_ghost, + ACTIONS(35), 1, + anon_sym_invariant, + ACTIONS(1096), 1, + anon_sym_RBRACE, + STATE(697), 1, + sym_memory_region, + STATE(905), 1, + sym_variable_kind, + STATE(400), 2, + sym_contract_member, + aux_sym_contract_declaration_repeat1, + ACTIONS(19), 4, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + ACTIONS(21), 4, + anon_sym_const, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + STATE(624), 9, + sym_function_declaration, + sym_variable_declaration, + sym_struct_declaration, + sym_bitfield_declaration, + sym_enum_declaration, + sym_log_declaration, + sym_error_declaration, + sym_ghost_declaration, + sym_contract_invariant, + [30417] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1098), 1, + sym_identifier, + ACTIONS(1104), 1, + anon_sym_RBRACE, + ACTIONS(1106), 1, + anon_sym_pub, + ACTIONS(1109), 1, + anon_sym_fn, + ACTIONS(1115), 1, + anon_sym_struct, + ACTIONS(1118), 1, + anon_sym_bitfield, + ACTIONS(1121), 1, + anon_sym_enum, + ACTIONS(1124), 1, + anon_sym_log, + ACTIONS(1127), 1, + anon_sym_error, + ACTIONS(1130), 1, + anon_sym_ghost, + ACTIONS(1133), 1, + anon_sym_invariant, + STATE(697), 1, + sym_memory_region, + STATE(905), 1, + sym_variable_kind, + STATE(399), 2, + sym_contract_member, + aux_sym_contract_declaration_repeat1, + ACTIONS(1101), 4, + anon_sym_const, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + ACTIONS(1112), 4, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + STATE(624), 9, + sym_function_declaration, + sym_variable_declaration, + sym_struct_declaration, + sym_bitfield_declaration, + sym_enum_declaration, + sym_log_declaration, + sym_error_declaration, + sym_ghost_declaration, + sym_contract_invariant, + [30487] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_pub, + ACTIONS(17), 1, + anon_sym_fn, + ACTIONS(23), 1, + anon_sym_struct, + ACTIONS(25), 1, + anon_sym_bitfield, + ACTIONS(27), 1, + anon_sym_enum, + ACTIONS(29), 1, + anon_sym_log, + ACTIONS(31), 1, + anon_sym_error, + ACTIONS(33), 1, + anon_sym_ghost, + ACTIONS(35), 1, + anon_sym_invariant, + ACTIONS(1136), 1, + anon_sym_RBRACE, + STATE(697), 1, + sym_memory_region, + STATE(905), 1, + sym_variable_kind, + STATE(399), 2, + sym_contract_member, + aux_sym_contract_declaration_repeat1, + ACTIONS(19), 4, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + ACTIONS(21), 4, + anon_sym_const, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + STATE(624), 9, + sym_function_declaration, + sym_variable_declaration, + sym_struct_declaration, + sym_bitfield_declaration, + sym_enum_declaration, + sym_log_declaration, + sym_error_declaration, + sym_ghost_declaration, + sym_contract_invariant, + [30557] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1140), 1, + anon_sym_AMP, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1138), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1142), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1144), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1146), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1148), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 3, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_DOT, + ACTIONS(560), 7, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [30620] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(646), 1, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [30673] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(512), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(514), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [30712] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(343), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(345), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [30751] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(353), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(355), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [30790] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(357), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(359), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [30829] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(616), 1, + anon_sym_DOT, + ACTIONS(1140), 1, + anon_sym_AMP, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1162), 1, + anon_sym_DOT_DOT, + ACTIONS(1164), 1, + anon_sym_PIPE, + ACTIONS(1166), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1168), 1, + anon_sym_AMP_AMP, + ACTIONS(1170), 1, + anon_sym_CARET, + ACTIONS(1138), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1142), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1144), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1146), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1148), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(618), 4, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + [30902] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(500), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(502), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [30941] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(233), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(235), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [30980] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(516), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(518), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31019] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(524), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(526), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31058] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(532), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(534), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31097] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(536), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(538), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31136] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(369), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(371), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31175] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + ACTIONS(1073), 1, + sym_identifier, + STATE(628), 1, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [31228] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(339), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(341), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31267] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(504), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(506), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31306] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(377), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(379), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31345] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(323), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(325), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31384] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(327), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(329), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31423] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(331), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(333), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31462] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(349), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(351), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31501] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(586), 1, + anon_sym_DOT, + ACTIONS(1172), 1, + anon_sym_DOT_DOT, + ACTIONS(1174), 1, + anon_sym_PIPE, + ACTIONS(1178), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1180), 1, + anon_sym_AMP_AMP, + ACTIONS(1182), 1, + anon_sym_CARET, + ACTIONS(1184), 1, + anon_sym_AMP, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1186), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1188), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1190), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1192), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(588), 4, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + [31574] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(365), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(367), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31613] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(228), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(226), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31652] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(373), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(375), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31691] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(434), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(436), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31730] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(608), 1, + anon_sym_DOT, + ACTIONS(1172), 1, + anon_sym_DOT_DOT, + ACTIONS(1174), 1, + anon_sym_PIPE, + ACTIONS(1178), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1180), 1, + anon_sym_AMP_AMP, + ACTIONS(1182), 1, + anon_sym_CARET, + ACTIONS(1184), 1, + anon_sym_AMP, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1186), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1188), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1190), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1192), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(610), 4, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + [31803] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(215), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(217), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31842] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(335), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(337), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31881] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(211), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(213), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [31920] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(586), 1, + anon_sym_DOT, + ACTIONS(1140), 1, + anon_sym_AMP, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1162), 1, + anon_sym_DOT_DOT, + ACTIONS(1164), 1, + anon_sym_PIPE, + ACTIONS(1166), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1168), 1, + anon_sym_AMP_AMP, + ACTIONS(1170), 1, + anon_sym_CARET, + ACTIONS(1138), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1142), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1144), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1146), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1148), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(588), 4, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + [31993] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(608), 1, + anon_sym_DOT, + ACTIONS(1140), 1, + anon_sym_AMP, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1162), 1, + anon_sym_DOT_DOT, + ACTIONS(1164), 1, + anon_sym_PIPE, + ACTIONS(1166), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1168), 1, + anon_sym_AMP_AMP, + ACTIONS(1170), 1, + anon_sym_CARET, + ACTIONS(1138), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1142), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1144), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1146), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1148), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(610), 4, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + [32066] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + ACTIONS(1073), 1, + sym_identifier, + STATE(696), 1, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [32119] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(616), 1, + anon_sym_DOT, + ACTIONS(1172), 1, + anon_sym_DOT_DOT, + ACTIONS(1174), 1, + anon_sym_PIPE, + ACTIONS(1178), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1180), 1, + anon_sym_AMP_AMP, + ACTIONS(1182), 1, + anon_sym_CARET, + ACTIONS(1184), 1, + anon_sym_AMP, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1186), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1188), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1190), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1192), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(618), 4, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + [32192] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 5, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_EQ_GT, + [32263] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_PIPE, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 8, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [32328] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 4, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + ACTIONS(560), 13, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [32383] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 7, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + [32450] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 8, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [32515] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_PIPE, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 9, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [32578] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 9, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [32639] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 11, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [32698] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 6, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(560), 15, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + [32749] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 8, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(560), 17, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + [32796] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 10, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(560), 19, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [32839] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 10, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(560), 19, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_RBRACK, + anon_sym_EQ_GT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [32882] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(614), 5, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_EQ_GT, + [32953] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_DOT, + ACTIONS(1172), 1, + anon_sym_DOT_DOT, + ACTIONS(1174), 1, + anon_sym_PIPE, + ACTIONS(1178), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1180), 1, + anon_sym_AMP_AMP, + ACTIONS(1182), 1, + anon_sym_CARET, + ACTIONS(1184), 1, + anon_sym_AMP, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1186), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1188), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1190), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1192), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 4, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + [33026] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1182), 1, + anon_sym_CARET, + ACTIONS(1184), 1, + anon_sym_AMP, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 2, + anon_sym_PIPE, + anon_sym_DOT, + ACTIONS(1176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1186), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1188), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1190), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1192), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 7, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [33091] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1190), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1192), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 5, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + ACTIONS(560), 12, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [33146] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_DOT, + ACTIONS(1174), 1, + anon_sym_PIPE, + ACTIONS(1180), 1, + anon_sym_AMP_AMP, + ACTIONS(1182), 1, + anon_sym_CARET, + ACTIONS(1184), 1, + anon_sym_AMP, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1186), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1188), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1190), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1192), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 6, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + [33215] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_DOT, + ACTIONS(1174), 1, + anon_sym_PIPE, + ACTIONS(1182), 1, + anon_sym_CARET, + ACTIONS(1184), 1, + anon_sym_AMP, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1186), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1188), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1190), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1192), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 7, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [33282] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1184), 1, + anon_sym_AMP, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 2, + anon_sym_PIPE, + anon_sym_DOT, + ACTIONS(1176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1186), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1188), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1190), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1192), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 8, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [33345] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1186), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1188), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1190), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1192), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 3, + anon_sym_PIPE, + anon_sym_DOT, + anon_sym_AMP, + ACTIONS(560), 8, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [33406] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1188), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1190), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1192), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 3, + anon_sym_PIPE, + anon_sym_DOT, + anon_sym_AMP, + ACTIONS(560), 10, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [33465] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 7, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(560), 14, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + [33516] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 9, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(560), 16, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + [33563] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 11, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(560), 18, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [33606] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 11, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(560), 18, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_LBRACK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [33649] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(612), 1, + anon_sym_DOT, + ACTIONS(1172), 1, + anon_sym_DOT_DOT, + ACTIONS(1174), 1, + anon_sym_PIPE, + ACTIONS(1178), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1180), 1, + anon_sym_AMP_AMP, + ACTIONS(1182), 1, + anon_sym_CARET, + ACTIONS(1184), 1, + anon_sym_AMP, + ACTIONS(1202), 1, + anon_sym_STAR_STAR, + ACTIONS(1204), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1186), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1188), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1190), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1192), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1194), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1196), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1198), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1200), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(614), 4, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_LBRACK, + [33722] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(952), 1, + sym_identifier, + ACTIONS(954), 1, + anon_sym_LPAREN, + ACTIONS(956), 1, + anon_sym_struct, + ACTIONS(962), 1, + anon_sym_map, + ACTIONS(964), 1, + anon_sym_LBRACK, + ACTIONS(966), 1, + anon_sym_slice, + STATE(628), 1, + sym_plain_type, + STATE(635), 7, + sym_primitive_type, + sym_generic_type, + sym_map_type, + sym_array_type, + sym_slice_type, + sym_tuple_type, + sym_anonymous_struct_type, + ACTIONS(960), 17, + anon_sym_u8, + anon_sym_u16, + anon_sym_u32, + anon_sym_u64, + anon_sym_u128, + anon_sym_u256, + anon_sym_i8, + anon_sym_i16, + anon_sym_i32, + anon_sym_i64, + anon_sym_i128, + anon_sym_i256, + anon_sym_bool, + anon_sym_address, + anon_sym_string, + anon_sym_bytes, + anon_sym_void, + [33775] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_DOT, + ACTIONS(1140), 1, + anon_sym_AMP, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1162), 1, + anon_sym_DOT_DOT, + ACTIONS(1164), 1, + anon_sym_PIPE, + ACTIONS(1166), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1168), 1, + anon_sym_AMP_AMP, + ACTIONS(1170), 1, + anon_sym_CARET, + ACTIONS(1138), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1142), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1144), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1146), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1148), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 4, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + [33848] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1140), 1, + anon_sym_AMP, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1170), 1, + anon_sym_CARET, + ACTIONS(1138), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1142), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1144), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1146), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1148), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 3, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_DOT, + ACTIONS(560), 6, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [33913] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1146), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1148), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 6, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + ACTIONS(560), 11, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [33968] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1140), 1, + anon_sym_AMP, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1164), 1, + anon_sym_PIPE, + ACTIONS(1168), 1, + anon_sym_AMP_AMP, + ACTIONS(1170), 1, + anon_sym_CARET, + ACTIONS(558), 2, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(1138), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1142), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1144), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1146), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1148), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 5, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + [34037] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1140), 1, + anon_sym_AMP, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1164), 1, + anon_sym_PIPE, + ACTIONS(1170), 1, + anon_sym_CARET, + ACTIONS(558), 2, + anon_sym_DOT_DOT, + anon_sym_DOT, + ACTIONS(1138), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1142), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1144), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1146), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1148), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 6, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [34104] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1138), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1142), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1144), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1146), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1148), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 4, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_DOT, + anon_sym_AMP, + ACTIONS(560), 7, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [34165] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1138), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1144), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1146), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1148), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 4, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_DOT, + anon_sym_AMP, + ACTIONS(560), 9, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [34224] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 8, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(560), 13, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + [34275] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 10, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(560), 15, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + [34322] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 12, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(560), 17, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [34365] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 12, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(560), 17, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [34408] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(612), 1, + anon_sym_DOT, + ACTIONS(1140), 1, + anon_sym_AMP, + ACTIONS(1158), 1, + anon_sym_STAR_STAR, + ACTIONS(1160), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1162), 1, + anon_sym_DOT_DOT, + ACTIONS(1164), 1, + anon_sym_PIPE, + ACTIONS(1166), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1168), 1, + anon_sym_AMP_AMP, + ACTIONS(1170), 1, + anon_sym_CARET, + ACTIONS(1138), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1142), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1144), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1146), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1148), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1150), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1152), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1154), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1156), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(614), 4, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + [34481] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1240), 1, + anon_sym_DOT, + ACTIONS(493), 12, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(495), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [34522] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(520), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(522), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [34561] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(508), 13, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_DOT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_STAR_STAR, + ACTIONS(510), 18, + anon_sym_LPAREN, + anon_sym_LBRACK, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + anon_sym_STAR_STAR_PERCENT, + [34600] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1243), 1, + anon_sym_RPAREN, + ACTIONS(1245), 1, + anon_sym_COMMA, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + STATE(739), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [34673] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1281), 1, + anon_sym_RPAREN, + ACTIONS(1283), 1, + anon_sym_COMMA, + STATE(771), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [34746] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1285), 1, + anon_sym_RPAREN, + ACTIONS(1287), 1, + anon_sym_COMMA, + STATE(763), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [34819] = 21, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1285), 1, + anon_sym_RBRACK, + ACTIONS(1289), 1, + anon_sym_COMMA, + STATE(740), 1, + aux_sym_tuple_expression_repeat1, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [34892] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1291), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1293), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 9, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(560), 13, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + [34936] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1299), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [35004] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1301), 1, + anon_sym_DOT_DOT, + ACTIONS(1303), 1, + anon_sym_PIPE, + ACTIONS(1307), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1309), 1, + anon_sym_AMP_AMP, + ACTIONS(1311), 1, + anon_sym_CARET, + ACTIONS(1313), 1, + anon_sym_AMP, + ACTIONS(560), 2, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + ACTIONS(1291), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1293), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1305), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1315), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1317), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1319), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1321), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1323), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1325), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + [35072] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1311), 1, + anon_sym_CARET, + ACTIONS(1313), 1, + anon_sym_AMP, + ACTIONS(558), 2, + anon_sym_DOT_DOT, + anon_sym_PIPE, + ACTIONS(1291), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1293), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1305), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1315), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1317), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1319), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1321), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1323), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1325), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(560), 4, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [35134] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1291), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1293), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1319), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1321), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1323), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1325), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(558), 5, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + ACTIONS(560), 9, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [35186] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_DOT_DOT, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1303), 1, + anon_sym_PIPE, + ACTIONS(1309), 1, + anon_sym_AMP_AMP, + ACTIONS(1311), 1, + anon_sym_CARET, + ACTIONS(1313), 1, + anon_sym_AMP, + ACTIONS(1291), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1293), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1305), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1315), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1317), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1319), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1321), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1323), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1325), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(560), 3, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + [35252] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_DOT_DOT, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1303), 1, + anon_sym_PIPE, + ACTIONS(1311), 1, + anon_sym_CARET, + ACTIONS(1313), 1, + anon_sym_AMP, + ACTIONS(1291), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1293), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1305), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1315), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1317), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1319), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1321), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1323), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1325), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(560), 4, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [35316] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1313), 1, + anon_sym_AMP, + ACTIONS(558), 2, + anon_sym_DOT_DOT, + anon_sym_PIPE, + ACTIONS(1291), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1293), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1305), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1315), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1317), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1319), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1321), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1323), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1325), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(560), 5, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [35376] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1291), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1293), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1305), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1315), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1317), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1319), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1321), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1323), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1325), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(558), 3, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(560), 5, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [35434] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1291), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1293), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1305), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1317), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1319), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1321), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1323), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1325), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(558), 3, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(560), 7, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [35490] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1291), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1293), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1323), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1325), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(558), 7, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(560), 11, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + [35538] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(614), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [35606] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 11, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(560), 15, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [35646] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 11, + anon_sym_DOT_DOT, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(560), 15, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [35686] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1301), 1, + anon_sym_DOT_DOT, + ACTIONS(1303), 1, + anon_sym_PIPE, + ACTIONS(1307), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1309), 1, + anon_sym_AMP_AMP, + ACTIONS(1311), 1, + anon_sym_CARET, + ACTIONS(1313), 1, + anon_sym_AMP, + ACTIONS(614), 2, + anon_sym_EQ_GT, + anon_sym_DOT_DOT_DOT, + ACTIONS(1291), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1293), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1305), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1315), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1317), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1319), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1321), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1323), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1325), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + [35754] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1327), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [35822] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1327), 2, + anon_sym_COMMA, + anon_sym_RBRACK, + [35890] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1329), 1, + anon_sym_RPAREN, + ACTIONS(1331), 1, + anon_sym_COMMA, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [35960] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_PIPE, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 5, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [36022] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 4, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + ACTIONS(560), 10, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + [36074] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1333), 1, + anon_sym_RPAREN, + ACTIONS(1335), 1, + anon_sym_COMMA, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [36144] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1337), 1, + anon_sym_RPAREN, + ACTIONS(1339), 1, + anon_sym_COMMA, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [36214] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + [36278] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 5, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [36340] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1341), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [36408] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(558), 1, + anon_sym_PIPE, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 6, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [36468] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 6, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + [36526] = 13, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(560), 8, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [36582] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 6, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(560), 12, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + [36630] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(558), 8, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(560), 14, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + [36674] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(560), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [36742] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1343), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [36810] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 10, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(560), 16, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [36850] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(558), 10, + anon_sym_PIPE, + anon_sym_LT, + anon_sym_GT, + anon_sym_AMP, + anon_sym_LT_LT, + anon_sym_GT_GT, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(560), 16, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_DOT_DOT, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [36890] = 20, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1295), 1, + anon_sym_STAR_STAR, + ACTIONS(1297), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1301), 1, + anon_sym_DOT_DOT, + ACTIONS(1303), 1, + anon_sym_PIPE, + ACTIONS(1307), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1309), 1, + anon_sym_AMP_AMP, + ACTIONS(1311), 1, + anon_sym_CARET, + ACTIONS(1313), 1, + anon_sym_AMP, + ACTIONS(1345), 1, + anon_sym_EQ_GT, + ACTIONS(1347), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(1291), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1293), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + ACTIONS(1305), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1315), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1317), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1319), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1321), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1323), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1325), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + [36960] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1349), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37027] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1351), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37094] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1353), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37161] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1355), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37228] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1357), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37295] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1359), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37362] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1361), 1, + anon_sym_RBRACK, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37429] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1363), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37496] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1365), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37563] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1367), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37630] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1369), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37697] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1371), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37764] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1373), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37831] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1375), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37898] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1377), 1, + anon_sym_RBRACK, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [37965] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1379), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38032] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1381), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38099] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1383), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38166] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1385), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38233] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1387), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38300] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1389), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38367] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1391), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38434] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1393), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38501] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1395), 1, + anon_sym_EQ_GT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38568] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1397), 1, + anon_sym_RBRACK, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38635] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1399), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38702] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1401), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38769] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1403), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38836] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1405), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38903] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1407), 1, + anon_sym_RBRACK, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [38970] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1409), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [39037] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1411), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [39104] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1413), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [39171] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1415), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [39238] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1417), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [39305] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1419), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [39372] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1421), 1, + anon_sym_EQ_GT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [39439] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1423), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [39506] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1425), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [39573] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1427), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [39640] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 1, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, anon_sym_PIPE, - ACTIONS(850), 1, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, anon_sym_AMP, - ACTIONS(848), 2, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1429), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(852), 2, + ACTIONS(1220), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(854), 2, + ACTIONS(1222), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(856), 2, + ACTIONS(1224), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(858), 2, + ACTIONS(1226), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, + ACTIONS(1228), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(862), 2, + ACTIONS(1230), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(864), 2, + ACTIONS(1232), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(866), 2, + ACTIONS(1234), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(337), 9, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, + [39707] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, anon_sym_AMP_AMP, + ACTIONS(1216), 1, anon_sym_CARET, - [15923] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(736), 1, - sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, - anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(340), 1, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, - sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [15972] = 15, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1431), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [39774] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, anon_sym_PIPE, - ACTIONS(870), 1, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, anon_sym_AMP_AMP, - ACTIONS(872), 1, + ACTIONS(1257), 1, anon_sym_CARET, - ACTIONS(848), 2, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1433), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(852), 2, + ACTIONS(1261), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(854), 2, + ACTIONS(1263), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(856), 2, + ACTIONS(1265), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(858), 2, + ACTIONS(1267), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, + ACTIONS(1269), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(862), 2, + ACTIONS(1271), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(864), 2, + ACTIONS(1273), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(866), 2, + ACTIONS(1275), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(337), 7, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - anon_sym_PIPE_PIPE, - [16033] = 14, + [39841] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, anon_sym_PIPE, - ACTIONS(872), 1, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, anon_sym_CARET, - ACTIONS(848), 2, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1435), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(852), 2, + ACTIONS(1261), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(854), 2, + ACTIONS(1263), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(856), 2, + ACTIONS(1265), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(858), 2, + ACTIONS(1267), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, + ACTIONS(1269), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(862), 2, + ACTIONS(1271), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(864), 2, + ACTIONS(1273), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(866), 2, + ACTIONS(1275), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(337), 8, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - [16092] = 12, + [39908] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 2, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, anon_sym_AMP, - ACTIONS(848), 2, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1437), 1, + anon_sym_EQ_GT, + ACTIONS(1210), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(852), 2, + ACTIONS(1220), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(854), 2, + ACTIONS(1222), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(856), 2, + ACTIONS(1224), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(858), 2, + ACTIONS(1226), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, + ACTIONS(1228), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(862), 2, + ACTIONS(1230), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(864), 2, + ACTIONS(1232), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(866), 2, + ACTIONS(1234), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(337), 9, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, + [39975] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, anon_sym_AMP_AMP, + ACTIONS(1216), 1, anon_sym_CARET, - [16147] = 11, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1439), 1, + anon_sym_EQ_GT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [40042] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 2, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, anon_sym_AMP, - ACTIONS(848), 2, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1441), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(854), 2, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(856), 2, + ACTIONS(1265), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(858), 2, + ACTIONS(1267), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, + ACTIONS(1269), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(862), 2, + ACTIONS(1271), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(864), 2, + ACTIONS(1273), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(866), 2, + ACTIONS(1275), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(337), 11, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, + [40109] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, anon_sym_AMP_AMP, + ACTIONS(1257), 1, anon_sym_CARET, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1443), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - [16200] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(860), 2, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(862), 2, + ACTIONS(1271), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(864), 2, + ACTIONS(1273), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(866), 2, + ACTIONS(1275), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(335), 6, + [40176] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, anon_sym_PIPE, + ACTIONS(1212), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, + anon_sym_AMP_AMP, + ACTIONS(1216), 1, + anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1445), 1, + anon_sym_EQ_GT, + ACTIONS(1210), 2, anon_sym_LT, anon_sym_GT, - anon_sym_AMP, + ACTIONS(1220), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1222), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1224), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(337), 15, + ACTIONS(1226), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [40243] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(604), 1, anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, + anon_sym_PIPE, + ACTIONS(1212), 1, anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, anon_sym_AMP_AMP, + ACTIONS(1216), 1, anon_sym_CARET, + ACTIONS(1218), 1, + anon_sym_AMP, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1210), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1220), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, + ACTIONS(1222), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, + ACTIONS(1224), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1226), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - [16245] = 14, + ACTIONS(1228), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1230), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1232), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1234), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [40310] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 1, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, anon_sym_PIPE, - ACTIONS(850), 1, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, + anon_sym_CARET, + ACTIONS(1259), 1, anon_sym_AMP, - ACTIONS(872), 1, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1447), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(1261), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(1263), 2, + anon_sym_LT_EQ, + anon_sym_GT_EQ, + ACTIONS(1265), 2, + anon_sym_LT_LT, + anon_sym_GT_GT, + ACTIONS(1267), 2, + anon_sym_LT_LT_PERCENT, + anon_sym_GT_GT_PERCENT, + ACTIONS(1269), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(1271), 2, + anon_sym_PLUS_PERCENT, + anon_sym_DASH_PERCENT, + ACTIONS(1273), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(1275), 2, + anon_sym_PERCENT, + anon_sym_STAR_PERCENT, + [40377] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1247), 1, + anon_sym_DOT_DOT, + ACTIONS(1249), 1, + anon_sym_PIPE, + ACTIONS(1253), 1, + anon_sym_PIPE_PIPE, + ACTIONS(1255), 1, + anon_sym_AMP_AMP, + ACTIONS(1257), 1, anon_sym_CARET, - ACTIONS(848), 2, + ACTIONS(1259), 1, + anon_sym_AMP, + ACTIONS(1277), 1, + anon_sym_STAR_STAR, + ACTIONS(1279), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1449), 1, + anon_sym_RPAREN, + ACTIONS(1251), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(852), 2, + ACTIONS(1261), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(854), 2, + ACTIONS(1263), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(856), 2, + ACTIONS(1265), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(858), 2, + ACTIONS(1267), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, + ACTIONS(1269), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(862), 2, + ACTIONS(1271), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(864), 2, + ACTIONS(1273), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(866), 2, + ACTIONS(1275), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(337), 8, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - [16304] = 5, + [40444] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(335), 8, + ACTIONS(1206), 1, + anon_sym_DOT_DOT, + ACTIONS(1208), 1, anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - anon_sym_AMP, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(337), 17, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, + ACTIONS(1212), 1, anon_sym_PIPE_PIPE, + ACTIONS(1214), 1, anon_sym_AMP_AMP, + ACTIONS(1216), 1, anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - [16345] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(850), 1, + ACTIONS(1218), 1, anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(848), 2, + ACTIONS(1236), 1, + anon_sym_STAR_STAR, + ACTIONS(1238), 1, + anon_sym_STAR_STAR_PERCENT, + ACTIONS(1451), 1, + anon_sym_SEMI, + ACTIONS(1210), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(852), 2, + ACTIONS(1220), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(854), 2, + ACTIONS(1222), 2, anon_sym_LT_EQ, anon_sym_GT_EQ, - ACTIONS(856), 2, + ACTIONS(1224), 2, anon_sym_LT_LT, anon_sym_GT_GT, - ACTIONS(858), 2, + ACTIONS(1226), 2, anon_sym_LT_LT_PERCENT, anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, + ACTIONS(1228), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(862), 2, + ACTIONS(1230), 2, anon_sym_PLUS_PERCENT, anon_sym_DASH_PERCENT, - ACTIONS(864), 2, + ACTIONS(1232), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(866), 2, + ACTIONS(1234), 2, anon_sym_PERCENT, anon_sym_STAR_PERCENT, - ACTIONS(381), 6, - anon_sym_SEMI, + [40511] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1453), 12, + anon_sym_comptime, + anon_sym_error, + anon_sym_else, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + ACTIONS(1455), 13, + anon_sym_AT, + anon_sym_LPAREN, anon_sym_RBRACE, anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - [16408] = 9, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [40544] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(736), 1, + ACTIONS(1457), 12, + anon_sym_comptime, + anon_sym_error, + anon_sym_else, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, sym_identifier, - ACTIONS(738), 1, - anon_sym_struct, - ACTIONS(746), 1, - anon_sym_map, - ACTIONS(748), 1, + ACTIONS(1459), 13, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_BANG, anon_sym_LBRACK, - ACTIONS(750), 1, - anon_sym_slice, - STATE(351), 1, - sym_plain_type, - STATE(344), 6, - sym_primitive_type, - sym_generic_type, - sym_map_type, - sym_array_type, - sym_slice_type, - sym_anonymous_struct_type, - ACTIONS(742), 17, - anon_sym_u8, - anon_sym_u16, - anon_sym_u32, - anon_sym_u64, - anon_sym_u128, - anon_sym_u256, - anon_sym_i8, - anon_sym_i16, - anon_sym_i32, - anon_sym_i64, - anon_sym_i128, - anon_sym_i256, - anon_sym_bool, - anon_sym_address, - anon_sym_string, - anon_sym_bytes, - anon_sym_void, - [16457] = 9, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [40577] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1465), 1, + anon_sym_COMMA, + ACTIONS(1461), 12, + anon_sym_comptime, + anon_sym_error, + anon_sym_else, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + ACTIONS(1463), 12, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RBRACE, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [40612] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1467), 12, + anon_sym_comptime, + anon_sym_error, + anon_sym_else, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + ACTIONS(1469), 12, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RBRACE, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [40644] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1471), 12, + anon_sym_comptime, + anon_sym_error, + anon_sym_else, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + ACTIONS(1473), 12, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_RBRACE, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_PLUS, + anon_sym_DASH, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [40676] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1475), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1477), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [40706] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1479), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1481), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [40736] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1483), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1485), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [40766] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(335), 4, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - anon_sym_AMP, - ACTIONS(337), 13, - anon_sym_SEMI, + ACTIONS(882), 3, + ts_builtin_sym_end, + anon_sym_AT, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_DOT_DOT_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - [16506] = 16, + ACTIONS(880), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [40796] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, - anon_sym_PIPE, - ACTIONS(880), 1, - anon_sym_PIPE_PIPE, - ACTIONS(882), 1, - anon_sym_AMP_AMP, - ACTIONS(884), 1, - anon_sym_CARET, - ACTIONS(886), 1, - anon_sym_AMP, - ACTIONS(878), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(888), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(890), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(892), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(894), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(896), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(898), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(373), 5, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - [16568] = 16, + ACTIONS(1487), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1489), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [40826] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, - anon_sym_PIPE, - ACTIONS(880), 1, - anon_sym_PIPE_PIPE, - ACTIONS(882), 1, - anon_sym_AMP_AMP, - ACTIONS(884), 1, - anon_sym_CARET, - ACTIONS(886), 1, - anon_sym_AMP, - ACTIONS(878), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(888), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(890), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(892), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(894), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(896), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(898), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(377), 5, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - [16630] = 16, + ACTIONS(902), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(900), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [40856] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, - anon_sym_PIPE, - ACTIONS(880), 1, - anon_sym_PIPE_PIPE, - ACTIONS(882), 1, - anon_sym_AMP_AMP, - ACTIONS(884), 1, - anon_sym_CARET, - ACTIONS(886), 1, - anon_sym_AMP, - ACTIONS(878), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(888), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(890), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(892), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(894), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(896), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(898), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(357), 5, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - [16692] = 14, + ACTIONS(906), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(904), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [40886] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 1, - anon_sym_PIPE, - ACTIONS(884), 1, - anon_sym_CARET, - ACTIONS(886), 1, - anon_sym_AMP, - ACTIONS(878), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(888), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(890), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(892), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(894), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(896), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(898), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(337), 7, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - [16750] = 9, + ACTIONS(910), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(908), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [40916] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(892), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(894), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(896), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(898), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(335), 4, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - anon_sym_AMP, - ACTIONS(337), 12, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - [16798] = 15, + ACTIONS(1491), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1493), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [40946] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, - anon_sym_PIPE, - ACTIONS(882), 1, - anon_sym_AMP_AMP, - ACTIONS(884), 1, - anon_sym_CARET, - ACTIONS(886), 1, - anon_sym_AMP, - ACTIONS(878), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(888), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(890), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(892), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(894), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(896), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(898), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(337), 6, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PIPE_PIPE, - [16858] = 14, + ACTIONS(1495), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1497), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [40976] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, - anon_sym_PIPE, - ACTIONS(884), 1, - anon_sym_CARET, - ACTIONS(886), 1, - anon_sym_AMP, - ACTIONS(878), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(888), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(890), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(892), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(894), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(896), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(898), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(337), 7, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - [16916] = 13, + ACTIONS(1499), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1501), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41006] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 1, - anon_sym_PIPE, - ACTIONS(886), 1, - anon_sym_AMP, - ACTIONS(878), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(888), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(890), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(892), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(894), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(896), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(898), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(337), 8, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - [16972] = 12, + ACTIONS(1503), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1505), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41036] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(878), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(888), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(890), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(892), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(894), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(896), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(898), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(337), 8, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - [17026] = 11, + ACTIONS(890), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(888), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41066] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1507), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1509), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41096] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(878), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(890), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(892), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(894), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(896), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(898), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(337), 10, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [17078] = 7, + ACTIONS(1511), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1513), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41126] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(896), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(898), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(335), 6, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - anon_sym_AMP, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(337), 14, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - [17122] = 5, + ACTIONS(842), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(840), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41156] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(335), 8, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - anon_sym_AMP, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(337), 16, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - [17162] = 16, + ACTIONS(922), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(920), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41186] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, - anon_sym_PIPE, - ACTIONS(880), 1, - anon_sym_PIPE_PIPE, - ACTIONS(882), 1, - anon_sym_AMP_AMP, - ACTIONS(884), 1, - anon_sym_CARET, - ACTIONS(886), 1, - anon_sym_AMP, - ACTIONS(878), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(888), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(890), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(892), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(894), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(896), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(898), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(900), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(902), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(381), 5, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACK, - anon_sym_DOT, - [17224] = 18, + ACTIONS(1515), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1517), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41216] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(904), 1, - anon_sym_COMMA, - ACTIONS(906), 1, - anon_sym_RBRACK, - STATE(419), 1, - aux_sym_expression_list_repeat1, - ACTIONS(848), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [17288] = 18, + ACTIONS(1519), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1521), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41246] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(906), 1, - anon_sym_RPAREN, - ACTIONS(908), 1, - anon_sym_COMMA, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - STATE(447), 1, - aux_sym_expression_list_repeat1, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [17352] = 5, + ACTIONS(894), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(892), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41276] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(335), 8, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - anon_sym_AMP, - anon_sym_LT_LT, - anon_sym_GT_GT, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(337), 13, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - [17389] = 16, + ACTIONS(918), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(916), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41306] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(848), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(938), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [17448] = 12, + ACTIONS(898), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(896), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41336] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(337), 5, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - [17499] = 11, + ACTIONS(1523), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1525), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41366] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(337), 7, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - [17548] = 13, + ACTIONS(878), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(876), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41396] = 3, ACTIONS(3), 1, - sym_comment, - ACTIONS(335), 1, - anon_sym_PIPE, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(337), 5, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - [17601] = 17, + sym_comment, + ACTIONS(1527), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1529), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41426] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(940), 1, - anon_sym_EQ_GT, - ACTIONS(942), 1, - anon_sym_DOT_DOT_DOT, - ACTIONS(848), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [17662] = 16, + ACTIONS(778), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(776), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41456] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(381), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, + ACTIONS(1531), 11, + anon_sym_comptime, + anon_sym_error, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + ACTIONS(1534), 11, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [17721] = 16, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [41486] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, + ACTIONS(1537), 11, + anon_sym_comptime, + anon_sym_error, + anon_sym_try, + anon_sym_switch, + anon_sym_old, + anon_sym_forall, + anon_sym_exists, + anon_sym_true, + anon_sym_false, + aux_sym_number_literal_token3, + sym_identifier, + ACTIONS(1539), 11, + anon_sym_AT, + anon_sym_LPAREN, + anon_sym_BANG, + anon_sym_LBRACK, + anon_sym_DOT, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(938), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [17780] = 14, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + sym_bytes_literal, + sym_string_literal, + [41516] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(335), 1, - anon_sym_PIPE, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(337), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - [17835] = 7, + ACTIONS(1541), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1543), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41546] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(335), 6, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - anon_sym_AMP, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(337), 11, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - [17876] = 9, + ACTIONS(1545), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1547), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41576] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(850), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(848), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41606] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(335), 4, - anon_sym_PIPE, - anon_sym_LT, - anon_sym_GT, - anon_sym_AMP, - ACTIONS(337), 9, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - [17921] = 15, + ACTIONS(1549), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1551), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41636] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(337), 3, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_PIPE_PIPE, - [17978] = 14, + ACTIONS(1553), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1555), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41666] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(337), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - [18033] = 16, + ACTIONS(1557), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1559), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41696] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(848), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(944), 2, + ACTIONS(1561), 3, + ts_builtin_sym_end, + anon_sym_AT, anon_sym_RBRACE, - anon_sym_COMMA, - [18092] = 16, + ACTIONS(1563), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41726] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(848), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - ACTIONS(946), 2, + ACTIONS(1565), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1567), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41756] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1569), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1571), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41786] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1573), 3, + ts_builtin_sym_end, + anon_sym_AT, anon_sym_RBRACE, - anon_sym_COMMA, - [18151] = 17, + ACTIONS(1575), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41816] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(948), 1, - anon_sym_RPAREN, - ACTIONS(950), 1, - anon_sym_COMMA, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [18212] = 16, + ACTIONS(914), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(912), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41846] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(952), 1, - anon_sym_SEMI, - ACTIONS(848), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [18270] = 16, + ACTIONS(1577), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1579), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41876] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(954), 1, - anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [18328] = 16, + ACTIONS(1581), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1583), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41906] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(956), 1, - anon_sym_SEMI, - ACTIONS(848), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [18386] = 16, + ACTIONS(1585), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1587), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41936] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(958), 1, - anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [18444] = 3, + ACTIONS(1589), 3, + ts_builtin_sym_end, + anon_sym_AT, + anon_sym_RBRACE, + ACTIONS(1591), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [41966] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(960), 12, + ACTIONS(1593), 2, + ts_builtin_sym_end, + anon_sym_AT, + ACTIONS(1595), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, anon_sym_error, - anon_sym_else, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, + anon_sym_ghost, + anon_sym_invariant, sym_identifier, - ACTIONS(962), 12, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_BANG, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - [18476] = 4, + [41995] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(968), 1, - anon_sym_COMMA, - ACTIONS(966), 11, + ACTIONS(1597), 2, + ts_builtin_sym_end, anon_sym_AT, - anon_sym_LPAREN, - anon_sym_RBRACE, - anon_sym_BANG, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(964), 12, + ACTIONS(1599), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, anon_sym_error, - anon_sym_else, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, + anon_sym_ghost, + anon_sym_invariant, sym_identifier, - [18510] = 16, + [42024] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(970), 1, - anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [18568] = 16, + ACTIONS(1601), 2, + ts_builtin_sym_end, + anon_sym_AT, + ACTIONS(1603), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [42053] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(972), 1, - anon_sym_EQ_GT, - ACTIONS(848), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [18626] = 16, + ACTIONS(1605), 2, + ts_builtin_sym_end, + anon_sym_AT, + ACTIONS(1607), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [42082] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(974), 1, - anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [18684] = 16, + ACTIONS(1609), 2, + ts_builtin_sym_end, + anon_sym_AT, + ACTIONS(1611), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [42111] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(976), 1, - anon_sym_SEMI, - ACTIONS(848), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [18742] = 3, + ACTIONS(1613), 2, + ts_builtin_sym_end, + anon_sym_AT, + ACTIONS(1615), 19, + anon_sym_const, + anon_sym_contract, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, + anon_sym_error, + anon_sym_ghost, + anon_sym_invariant, + sym_identifier, + [42140] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(978), 12, + ACTIONS(1619), 1, + anon_sym_RBRACE, + ACTIONS(1617), 18, + anon_sym_const, + anon_sym_pub, + anon_sym_fn, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + anon_sym_struct, + anon_sym_bitfield, + anon_sym_enum, + anon_sym_log, anon_sym_error, - anon_sym_else, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, + anon_sym_ghost, + anon_sym_invariant, sym_identifier, - ACTIONS(980), 12, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_BANG, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - [18774] = 16, + [42167] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(531), 1, + ACTIONS(1621), 1, + anon_sym_LPAREN, + ACTIONS(1625), 1, + anon_sym_EQ, + ACTIONS(1627), 1, + anon_sym_LT, + STATE(642), 2, + sym_type_argument_list_angle, + sym_type_argument_list_paren, + ACTIONS(1623), 13, + anon_sym_RPAREN, anon_sym_SEMI, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(848), 2, - anon_sym_LT, anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [18832] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(982), 1, + anon_sym_RBRACK, + anon_sym_return, anon_sym_EQ_GT, - ACTIONS(848), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [18890] = 16, + anon_sym_where, + [42199] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(984), 1, + ACTIONS(1631), 1, + anon_sym_EQ, + ACTIONS(1629), 16, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [18948] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42224] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(986), 1, + ACTIONS(1635), 1, + anon_sym_EQ, + ACTIONS(1633), 16, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19006] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42249] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(988), 1, + ACTIONS(1639), 1, + anon_sym_EQ, + ACTIONS(1637), 16, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19064] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42274] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(990), 1, + ACTIONS(1643), 1, + anon_sym_EQ, + ACTIONS(1641), 16, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19122] = 16, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, + anon_sym_GT, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42299] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(992), 1, + ACTIONS(1647), 1, + anon_sym_EQ, + ACTIONS(1645), 16, + anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, - ACTIONS(848), 2, - anon_sym_LT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19180] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42324] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(994), 1, + ACTIONS(1651), 1, + anon_sym_EQ, + ACTIONS(1649), 16, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19238] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42349] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(996), 1, + ACTIONS(1655), 1, + anon_sym_EQ, + ACTIONS(1653), 16, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19296] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42374] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(998), 1, + ACTIONS(1659), 1, + anon_sym_EQ, + ACTIONS(1657), 16, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19354] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42399] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(1000), 1, + ACTIONS(1663), 1, + anon_sym_EQ, + ACTIONS(1661), 16, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19412] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42424] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, + ACTIONS(1625), 1, + anon_sym_EQ, + ACTIONS(1623), 16, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(1002), 1, - anon_sym_RBRACK, - ACTIONS(848), 2, - anon_sym_LT, anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19470] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42449] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(15), 1, + anon_sym_pub, + ACTIONS(17), 1, + anon_sym_fn, + ACTIONS(1665), 1, + anon_sym_LBRACE, + STATE(697), 1, + sym_memory_region, + STATE(905), 1, + sym_variable_kind, + STATE(612), 3, + sym_function_declaration, + sym_variable_declaration, + sym_block, + ACTIONS(19), 4, + anon_sym_storage, + anon_sym_memory, + anon_sym_tstore, + anon_sym_calldata, + ACTIONS(21), 4, + anon_sym_const, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + [42488] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(1004), 1, + ACTIONS(1669), 1, + anon_sym_EQ, + ACTIONS(1667), 16, + anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, - ACTIONS(848), 2, - anon_sym_LT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19528] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42513] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, + ACTIONS(1673), 1, + anon_sym_EQ, + ACTIONS(1671), 16, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(1006), 1, - anon_sym_RBRACK, - ACTIONS(848), 2, - anon_sym_LT, anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19586] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42538] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(1008), 1, + ACTIONS(1677), 1, + anon_sym_EQ, + ACTIONS(1675), 16, + anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, - ACTIONS(848), 2, - anon_sym_LT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19644] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42563] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(1010), 1, + ACTIONS(1681), 1, + anon_sym_EQ, + ACTIONS(1679), 16, + anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, - ACTIONS(848), 2, - anon_sym_LT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19702] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42588] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, - anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(1012), 1, + ACTIONS(1685), 1, + anon_sym_EQ, + ACTIONS(1683), 16, + anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, - ACTIONS(848), 2, - anon_sym_LT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19760] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42613] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, + ACTIONS(1689), 1, + anon_sym_EQ, + ACTIONS(1687), 16, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(1014), 1, - anon_sym_EQ_GT, - ACTIONS(848), 2, - anon_sym_LT, anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19818] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42638] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, + ACTIONS(1693), 1, + anon_sym_EQ, + ACTIONS(1691), 16, + anon_sym_LPAREN, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(1016), 1, + anon_sym_GT, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42663] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1697), 1, + anon_sym_EQ, + ACTIONS(1695), 16, + anon_sym_LPAREN, + anon_sym_RPAREN, anon_sym_SEMI, - ACTIONS(848), 2, - anon_sym_LT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19876] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42688] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, - anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(1018), 1, + ACTIONS(1701), 1, + anon_sym_EQ, + ACTIONS(1699), 15, + anon_sym_LPAREN, anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, + anon_sym_ATat, + anon_sym_ATbits, anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19934] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42712] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, + ACTIONS(1705), 1, + anon_sym_EQ, + ACTIONS(1707), 1, anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(1020), 1, - anon_sym_RBRACK, - ACTIONS(848), 2, - anon_sym_LT, + STATE(647), 1, + aux_sym_error_union_type_repeat1, + ACTIONS(1703), 12, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [19992] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42739] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(850), 1, - anon_sym_AMP, - ACTIONS(868), 1, + ACTIONS(1707), 1, anon_sym_PIPE, - ACTIONS(870), 1, - anon_sym_AMP_AMP, - ACTIONS(872), 1, - anon_sym_CARET, - ACTIONS(874), 1, - anon_sym_PIPE_PIPE, - ACTIONS(1022), 1, + ACTIONS(1711), 1, + anon_sym_EQ, + STATE(648), 1, + aux_sym_error_union_type_repeat1, + ACTIONS(1709), 12, + anon_sym_RPAREN, anon_sym_SEMI, - ACTIONS(848), 2, - anon_sym_LT, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, anon_sym_GT, - ACTIONS(852), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(854), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(856), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(858), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(860), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(862), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(864), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(866), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [20050] = 16, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42766] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(910), 1, + ACTIONS(1715), 1, + anon_sym_EQ, + ACTIONS(1717), 1, anon_sym_PIPE, - ACTIONS(914), 1, - anon_sym_PIPE_PIPE, - ACTIONS(916), 1, - anon_sym_AMP_AMP, - ACTIONS(918), 1, - anon_sym_CARET, - ACTIONS(920), 1, - anon_sym_AMP, - ACTIONS(1024), 1, + STATE(648), 1, + aux_sym_error_union_type_repeat1, + ACTIONS(1713), 12, anon_sym_RPAREN, - ACTIONS(912), 2, - anon_sym_LT, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_requires, + anon_sym_ensures, anon_sym_GT, - ACTIONS(922), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(924), 2, - anon_sym_LT_EQ, - anon_sym_GT_EQ, - ACTIONS(926), 2, - anon_sym_LT_LT, - anon_sym_GT_GT, - ACTIONS(928), 2, - anon_sym_LT_LT_PERCENT, - anon_sym_GT_GT_PERCENT, - ACTIONS(930), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(932), 2, - anon_sym_PLUS_PERCENT, - anon_sym_DASH_PERCENT, - ACTIONS(934), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(936), 2, - anon_sym_PERCENT, - anon_sym_STAR_PERCENT, - [20108] = 3, + anon_sym_RBRACK, + anon_sym_return, + anon_sym_EQ_GT, + anon_sym_where, + [42793] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(1028), 11, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_RBRACE, - anon_sym_BANG, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(1026), 12, - anon_sym_error, - anon_sym_else, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [20139] = 3, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1720), 1, + anon_sym_DASH_GT, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(663), 1, + sym_return_type, + STATE(599), 2, + sym_return_statement, + sym_block, + STATE(667), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + STATE(679), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [42827] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(1032), 11, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_RBRACE, - anon_sym_BANG, - anon_sym_LBRACK, - anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(1030), 12, - anon_sym_error, - anon_sym_else, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [20170] = 3, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1720), 1, + anon_sym_DASH_GT, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(660), 1, + sym_return_type, + STATE(588), 2, + sym_return_statement, + sym_block, + STATE(657), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + STATE(683), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [42861] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1720), 1, + anon_sym_DASH_GT, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(659), 1, + sym_return_type, + STATE(604), 2, + sym_return_statement, + sym_block, + STATE(662), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + STATE(674), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [42895] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(1036), 10, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_BANG, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1720), 1, + anon_sym_DASH_GT, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(668), 1, + sym_return_type, + STATE(584), 2, + sym_return_statement, + sym_block, + STATE(658), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + STATE(677), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [42929] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1730), 1, anon_sym_LBRACK, + ACTIONS(1733), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(1034), 11, - anon_sym_error, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [20199] = 3, + STATE(653), 1, + aux_sym_lvalue_repeat1, + ACTIONS(1728), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [42952] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1041), 10, - anon_sym_AT, - anon_sym_LPAREN, - anon_sym_BANG, + ACTIONS(1738), 1, anon_sym_LBRACK, + ACTIONS(1740), 1, anon_sym_DOT, - anon_sym_PLUS, - anon_sym_DASH, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - sym_string_literal, - ACTIONS(1038), 11, - anon_sym_error, - anon_sym_try, - anon_sym_switch, - anon_sym_old, - anon_sym_comptime, - anon_sym_forall, - anon_sym_exists, - anon_sym_true, - anon_sym_false, - aux_sym_number_literal_token3, - sym_identifier, - [20228] = 2, + STATE(655), 1, + aux_sym_lvalue_repeat1, + ACTIONS(1736), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [42975] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1044), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20254] = 2, + ACTIONS(1738), 1, + anon_sym_LBRACK, + ACTIONS(1740), 1, + anon_sym_DOT, + STATE(653), 1, + aux_sym_lvalue_repeat1, + ACTIONS(1742), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [42998] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1046), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20280] = 2, + ACTIONS(1738), 1, + anon_sym_LBRACK, + ACTIONS(1740), 1, + anon_sym_DOT, + STATE(653), 1, + aux_sym_lvalue_repeat1, + ACTIONS(1744), 8, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [43021] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1048), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20306] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(604), 2, + sym_return_statement, + sym_block, + STATE(674), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + STATE(689), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + [43049] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1050), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20332] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(576), 2, + sym_return_statement, + sym_block, + STATE(681), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + STATE(689), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + [43077] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1052), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20358] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(575), 2, + sym_return_statement, + sym_block, + STATE(664), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + STATE(688), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43105] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1054), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20384] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(604), 2, + sym_return_statement, + sym_block, + STATE(662), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + STATE(674), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43133] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20410] = 2, + ACTIONS(1728), 10, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_DOT, + [43149] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1058), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20436] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(575), 2, + sym_return_statement, + sym_block, + STATE(688), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + STATE(689), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + [43177] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1060), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20462] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(584), 2, + sym_return_statement, + sym_block, + STATE(658), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + STATE(677), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43205] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1062), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20488] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(577), 2, + sym_return_statement, + sym_block, + STATE(682), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + STATE(689), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + [43233] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1064), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20514] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(592), 2, + sym_return_statement, + sym_block, + STATE(680), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + STATE(689), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + [43261] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20540] = 2, + ACTIONS(1746), 10, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_LBRACK, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_DOT, + [43277] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1068), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20566] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(584), 2, + sym_return_statement, + sym_block, + STATE(677), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + STATE(689), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + [43305] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(1070), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20592] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1722), 1, + anon_sym_requires, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(576), 2, + sym_return_statement, + sym_block, + STATE(665), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + STATE(681), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43333] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1748), 1, + anon_sym_RPAREN, + STATE(157), 1, + sym_assignment_operator, + ACTIONS(1750), 6, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [43351] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1752), 1, + anon_sym_EQ, + STATE(255), 1, + sym_compound_operator, + STATE(266), 1, + sym_assignment_operator, + ACTIONS(1754), 5, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [43371] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(1072), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20618] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1756), 1, + anon_sym_if, + ACTIONS(1758), 1, + anon_sym_while, + ACTIONS(1760), 1, + anon_sym_for, + STATE(51), 1, + sym_block, + STATE(287), 3, + sym_if_statement, + sym_while_statement, + sym_for_statement, + [43395] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1074), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20644] = 2, + ACTIONS(43), 1, + anon_sym_LBRACE, + ACTIONS(1758), 1, + anon_sym_while, + ACTIONS(1760), 1, + anon_sym_for, + ACTIONS(1762), 1, + anon_sym_switch, + STATE(286), 4, + sym_while_statement, + sym_for_statement, + sym_block, + sym_switch_statement, + [43417] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1076), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20670] = 2, + ACTIONS(1627), 1, + anon_sym_LT, + ACTIONS(1764), 1, + anon_sym_LPAREN, + STATE(642), 2, + sym_type_argument_list_angle, + sym_type_argument_list_paren, + ACTIONS(1623), 4, + anon_sym_SEMI, + anon_sym_ATat, + anon_sym_ATbits, + anon_sym_PIPE, + [43437] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1078), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20696] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(575), 2, + sym_return_statement, + sym_block, + STATE(700), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43458] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1080), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20722] = 2, + STATE(266), 1, + sym_assignment_operator, + ACTIONS(1750), 6, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [43473] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1082), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20748] = 2, + STATE(210), 1, + sym_assignment_operator, + ACTIONS(1750), 6, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [43488] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1084), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20774] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(576), 2, + sym_return_statement, + sym_block, + STATE(700), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43509] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1086), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20800] = 2, + STATE(193), 1, + sym_assignment_operator, + ACTIONS(1750), 6, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [43524] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1088), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20826] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(584), 2, + sym_return_statement, + sym_block, + STATE(700), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43545] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(603), 2, + sym_return_statement, + sym_block, + STATE(700), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43566] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1090), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20852] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(592), 2, + sym_return_statement, + sym_block, + STATE(700), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43587] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1092), 20, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20878] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(593), 2, + sym_return_statement, + sym_block, + STATE(700), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43608] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1094), 19, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20903] = 2, + ACTIONS(1665), 1, + anon_sym_LBRACE, + ACTIONS(1724), 1, + anon_sym_ensures, + ACTIONS(1726), 1, + anon_sym_return, + STATE(604), 2, + sym_return_statement, + sym_block, + STATE(700), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43629] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1096), 19, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20928] = 2, + STATE(239), 1, + sym_assignment_operator, + ACTIONS(1750), 6, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [43644] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1098), 19, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20953] = 2, + STATE(174), 1, + sym_assignment_operator, + ACTIONS(1750), 6, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [43659] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1100), 19, - ts_builtin_sym_end, - anon_sym_AT, - anon_sym_const, - anon_sym_contract, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [20978] = 2, + STATE(157), 1, + sym_assignment_operator, + ACTIONS(1750), 6, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [43674] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1102), 17, - anon_sym_const, - anon_sym_RBRACE, - anon_sym_pub, - anon_sym_fn, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - anon_sym_struct, - anon_sym_bitfield, - anon_sym_enum, - anon_sym_log, - anon_sym_error, - anon_sym_ghost, - anon_sym_invariant, - [21001] = 5, + STATE(223), 1, + sym_assignment_operator, + ACTIONS(1750), 6, + anon_sym_EQ, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + [43689] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1106), 1, - anon_sym_EQ, - ACTIONS(1108), 1, - anon_sym_PIPE, - STATE(342), 1, - aux_sym_error_union_type_repeat1, - ACTIONS(1104), 14, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SEMI, + ACTIONS(1665), 1, anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, + ACTIONS(1724), 1, anon_sym_ensures, - anon_sym_ATat, - anon_sym_ATbits, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21030] = 5, + ACTIONS(1726), 1, + anon_sym_return, + STATE(577), 2, + sym_return_statement, + sym_block, + STATE(700), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43710] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1108), 1, - anon_sym_PIPE, - ACTIONS(1112), 1, - anon_sym_EQ, - STATE(339), 1, - aux_sym_error_union_type_repeat1, - ACTIONS(1110), 14, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, + ACTIONS(1769), 1, anon_sym_requires, + STATE(689), 2, + sym_requires_clause, + aux_sym_function_declaration_repeat1, + ACTIONS(1767), 3, + anon_sym_LBRACE, anon_sym_ensures, - anon_sym_ATat, - anon_sym_ATbits, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21059] = 4, + anon_sym_return, + [43726] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1772), 1, + sym_identifier, + ACTIONS(1774), 1, + anon_sym_RPAREN, + ACTIONS(1776), 1, + anon_sym_comptime, + STATE(792), 1, + sym_parameter, + STATE(903), 1, + sym_parameter_list, + STATE(988), 1, + sym_parameter_modifier, + [43748] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1772), 1, + sym_identifier, + ACTIONS(1776), 1, + anon_sym_comptime, + ACTIONS(1778), 1, + anon_sym_RPAREN, + STATE(792), 1, + sym_parameter, + STATE(914), 1, + sym_parameter_list, + STATE(988), 1, + sym_parameter_modifier, + [43770] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1772), 1, + sym_identifier, + ACTIONS(1776), 1, + anon_sym_comptime, + ACTIONS(1780), 1, + anon_sym_RPAREN, + STATE(792), 1, + sym_parameter, + STATE(969), 1, + sym_parameter_list, + STATE(988), 1, + sym_parameter_modifier, + [43792] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1772), 1, + sym_identifier, + ACTIONS(1776), 1, + anon_sym_comptime, + ACTIONS(1782), 1, + anon_sym_RPAREN, + STATE(792), 1, + sym_parameter, + STATE(979), 1, + sym_parameter_list, + STATE(988), 1, + sym_parameter_modifier, + [43814] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1784), 1, + sym_identifier, + STATE(971), 1, + sym_variable_kind, + ACTIONS(21), 4, + anon_sym_const, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + [43830] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1116), 1, - anon_sym_EQ, - ACTIONS(1118), 1, - anon_sym_LT, - ACTIONS(1114), 15, + ACTIONS(1786), 1, + anon_sym_PIPE, + STATE(695), 1, + aux_sym_error_union_type_repeat1, + ACTIONS(1713), 4, anon_sym_LPAREN, - anon_sym_RPAREN, anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, anon_sym_ATat, anon_sym_ATbits, - anon_sym_PIPE, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21086] = 5, + [43846] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1122), 1, - anon_sym_EQ, - ACTIONS(1124), 1, + ACTIONS(1789), 1, anon_sym_PIPE, - STATE(342), 1, + STATE(698), 1, aux_sym_error_union_type_repeat1, - ACTIONS(1120), 14, + ACTIONS(1703), 4, anon_sym_LPAREN, - anon_sym_RPAREN, anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, anon_sym_ATat, anon_sym_ATbits, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21115] = 3, + [43862] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1129), 1, - anon_sym_EQ, - ACTIONS(1127), 15, + ACTIONS(1791), 1, + sym_identifier, + STATE(926), 1, + sym_variable_kind, + ACTIONS(21), 4, + anon_sym_const, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + [43878] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1789), 1, + anon_sym_PIPE, + STATE(695), 1, + aux_sym_error_union_type_repeat1, + ACTIONS(1709), 4, anon_sym_LPAREN, - anon_sym_RPAREN, anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, anon_sym_ATat, anon_sym_ATbits, - anon_sym_PIPE, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21139] = 3, + [43894] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1116), 1, - anon_sym_EQ, - ACTIONS(1114), 15, + ACTIONS(1793), 1, anon_sym_LPAREN, - anon_sym_RPAREN, + ACTIONS(1795), 1, anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, + ACTIONS(1797), 1, anon_sym_ATat, + ACTIONS(1799), 1, anon_sym_ATbits, - anon_sym_PIPE, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21163] = 3, + STATE(924), 1, + sym_bitfield_layout, + [43913] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1133), 1, - anon_sym_EQ, - ACTIONS(1131), 15, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, + ACTIONS(1803), 1, anon_sym_ensures, - anon_sym_ATat, - anon_sym_ATbits, - anon_sym_PIPE, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21187] = 3, + ACTIONS(1801), 2, + anon_sym_LBRACE, + anon_sym_return, + STATE(700), 2, + sym_ensures_clause, + aux_sym_function_declaration_repeat2, + [43928] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1137), 1, - anon_sym_EQ, - ACTIONS(1135), 15, - anon_sym_LPAREN, + ACTIONS(1806), 1, + sym_identifier, + ACTIONS(1808), 1, anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, - anon_sym_ATat, - anon_sym_ATbits, - anon_sym_PIPE, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21211] = 3, + ACTIONS(1810), 1, + anon_sym_indexed, + STATE(787), 1, + sym_log_parameter, + STATE(862), 1, + sym_log_parameter_list, + [43947] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1141), 1, - anon_sym_EQ, - ACTIONS(1139), 15, - anon_sym_LPAREN, + ACTIONS(1772), 1, + sym_identifier, + ACTIONS(1776), 1, + anon_sym_comptime, + ACTIONS(1812), 1, anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_LBRACE, + STATE(822), 1, + sym_parameter, + STATE(988), 1, + sym_parameter_modifier, + [43966] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1814), 1, + sym_identifier, + ACTIONS(1816), 1, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, - anon_sym_ATat, - anon_sym_ATbits, - anon_sym_PIPE, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21235] = 3, + ACTIONS(1818), 1, + anon_sym_DOT, + STATE(743), 1, + sym_struct_literal_field, + STATE(876), 1, + sym_struct_literal_field_list, + [43985] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(1145), 1, - anon_sym_EQ, - ACTIONS(1143), 15, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_LBRACE, + ACTIONS(1814), 1, + sym_identifier, + ACTIONS(1818), 1, + anon_sym_DOT, + ACTIONS(1820), 1, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, - anon_sym_ATat, - anon_sym_ATbits, - anon_sym_PIPE, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21259] = 3, + STATE(743), 1, + sym_struct_literal_field, + STATE(982), 1, + sym_struct_literal_field_list, + [44004] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1149), 1, - anon_sym_EQ, - ACTIONS(1147), 15, - anon_sym_LPAREN, + ACTIONS(1738), 1, + anon_sym_LBRACK, + ACTIONS(1740), 1, + anon_sym_DOT, + STATE(656), 1, + aux_sym_lvalue_repeat1, + ACTIONS(253), 2, anon_sym_RPAREN, anon_sym_SEMI, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, - anon_sym_ATat, - anon_sym_ATbits, - anon_sym_PIPE, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21283] = 3, + [44021] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1153), 1, - anon_sym_EQ, - ACTIONS(1151), 15, - anon_sym_LPAREN, + ACTIONS(1822), 5, + anon_sym_const, + anon_sym_var, + anon_sym_let, + anon_sym_immutable, + sym_identifier, + [44032] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1772), 1, + sym_identifier, + ACTIONS(1776), 1, + anon_sym_comptime, + ACTIONS(1824), 1, anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_LBRACE, + STATE(822), 1, + sym_parameter, + STATE(988), 1, + sym_parameter_modifier, + [44051] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1826), 1, + sym_identifier, + ACTIONS(1828), 1, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, - anon_sym_ATat, - anon_sym_ATbits, - anon_sym_PIPE, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21307] = 3, + STATE(711), 2, + sym_struct_field, + aux_sym_struct_declaration_repeat1, + [44065] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1157), 1, - anon_sym_EQ, - ACTIONS(1155), 15, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_LBRACE, + ACTIONS(1830), 1, + sym_identifier, + ACTIONS(1832), 1, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, - anon_sym_ATat, - anon_sym_ATbits, - anon_sym_PIPE, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21331] = 3, + STATE(744), 1, + sym_enum_member, + STATE(878), 1, + sym_enum_member_list, + [44081] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1161), 1, - anon_sym_EQ, - ACTIONS(1159), 15, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_LBRACE, + ACTIONS(1834), 1, + sym_identifier, + ACTIONS(1837), 1, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, - anon_sym_ATat, - anon_sym_ATbits, - anon_sym_PIPE, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21355] = 3, + STATE(710), 2, + sym_struct_field, + aux_sym_struct_declaration_repeat1, + [44095] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1826), 1, + sym_identifier, + ACTIONS(1839), 1, + anon_sym_RBRACE, + STATE(710), 2, + sym_struct_field, + aux_sym_struct_declaration_repeat1, + [44109] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1841), 1, + sym_identifier, + ACTIONS(1843), 1, + anon_sym_RBRACE, + STATE(730), 2, + sym_bitfield_field, + aux_sym_bitfield_declaration_repeat1, + [44123] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1830), 1, + sym_identifier, + ACTIONS(1845), 1, + anon_sym_RBRACE, + STATE(744), 1, + sym_enum_member, + STATE(976), 1, + sym_enum_member_list, + [44139] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1806), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym_indexed, + ACTIONS(1847), 1, + anon_sym_RPAREN, + STATE(844), 1, + sym_log_parameter, + [44155] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1772), 1, + sym_identifier, + ACTIONS(1776), 1, + anon_sym_comptime, + STATE(822), 1, + sym_parameter, + STATE(988), 1, + sym_parameter_modifier, + [44171] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1165), 1, - anon_sym_EQ, - ACTIONS(1163), 15, - anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_LBRACE, + ACTIONS(1849), 1, + sym_identifier, + ACTIONS(1851), 1, + anon_sym_lock, + ACTIONS(1853), 1, + anon_sym_unlock, + ACTIONS(1855), 1, + anon_sym_cast, + [44187] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1857), 1, + sym_identifier, + ACTIONS(1860), 1, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, - anon_sym_ATat, - anon_sym_ATbits, - anon_sym_PIPE, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21379] = 9, + STATE(717), 2, + sym_bitfield_field, + aux_sym_bitfield_declaration_repeat1, + [44201] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(13), 1, - anon_sym_pub, - ACTIONS(15), 1, - anon_sym_fn, - ACTIONS(43), 1, - anon_sym_LBRACE, - STATE(384), 1, - sym_memory_region, - STATE(626), 1, - sym_variable_kind, - ACTIONS(17), 3, - anon_sym_storage, - anon_sym_memory, - anon_sym_tstore, - STATE(330), 3, - sym_function_declaration, - sym_variable_declaration, - sym_block, - ACTIONS(19), 4, - anon_sym_const, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - [21414] = 3, + ACTIONS(1862), 1, + sym_identifier, + ACTIONS(1864), 1, + anon_sym_RBRACE, + STATE(795), 1, + sym_destructuring_field, + STATE(1007), 1, + sym_destructuring_field_list, + [44217] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1169), 1, - anon_sym_EQ, - ACTIONS(1167), 14, + ACTIONS(1868), 1, + anon_sym_DOT, + STATE(868), 1, + sym_destructuring_pattern, + ACTIONS(1866), 2, anon_sym_LPAREN, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_LBRACE, + sym_identifier, + [44231] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1814), 1, + sym_identifier, + ACTIONS(1818), 1, + anon_sym_DOT, + ACTIONS(1870), 1, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_requires, - anon_sym_ensures, - anon_sym_ATat, - anon_sym_ATbits, - anon_sym_GT, - anon_sym_RBRACK, - anon_sym_EQ_GT, - anon_sym_where, - [21437] = 5, + STATE(824), 1, + sym_struct_literal_field, + [44247] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1173), 1, - anon_sym_LBRACK, - ACTIONS(1176), 1, + ACTIONS(1868), 1, anon_sym_DOT, - STATE(356), 1, - aux_sym_lvalue_repeat1, - ACTIONS(1171), 7, - anon_sym_RPAREN, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - [21459] = 9, + ACTIONS(1872), 1, + sym_identifier, + STATE(890), 1, + sym_destructuring_pattern, + STATE(891), 1, + sym_for_pattern, + [44263] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, + ACTIONS(1826), 1, + sym_identifier, + ACTIONS(1874), 1, + anon_sym_RBRACE, + STATE(710), 2, + sym_struct_field, + aux_sym_struct_declaration_repeat1, + [44277] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1876), 4, anon_sym_LBRACE, - ACTIONS(1179), 1, - anon_sym_DASH_GT, - ACTIONS(1181), 1, anon_sym_requires, - ACTIONS(1183), 1, anon_sym_ensures, - STATE(333), 1, - sym_block, - STATE(366), 1, - sym_return_type, - STATE(377), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(388), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21489] = 5, + anon_sym_return, + [44287] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1187), 1, - anon_sym_LBRACK, - ACTIONS(1189), 1, - anon_sym_DOT, - STATE(356), 1, - aux_sym_lvalue_repeat1, - ACTIONS(1185), 7, - anon_sym_RPAREN, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - [21511] = 5, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + STATE(951), 1, + sym_number_literal, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + [44301] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(1187), 1, - anon_sym_LBRACK, - ACTIONS(1189), 1, + ACTIONS(1814), 1, + sym_identifier, + ACTIONS(1818), 1, anon_sym_DOT, - STATE(356), 1, - aux_sym_lvalue_repeat1, - ACTIONS(1191), 7, - anon_sym_RPAREN, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - [21533] = 9, + ACTIONS(1878), 1, + anon_sym_RBRACE, + STATE(824), 1, + sym_struct_literal_field, + [44317] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, + ACTIONS(1880), 4, anon_sym_LBRACE, - ACTIONS(1179), 1, - anon_sym_DASH_GT, - ACTIONS(1181), 1, anon_sym_requires, - ACTIONS(1183), 1, anon_sym_ensures, - STATE(322), 1, - sym_block, - STATE(374), 1, - sym_return_type, - STATE(371), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(386), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21563] = 9, + anon_sym_return, + [44327] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1179), 1, - anon_sym_DASH_GT, - ACTIONS(1181), 1, - anon_sym_requires, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(325), 1, - sym_block, - STATE(369), 1, - sym_return_type, - STATE(373), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(387), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21593] = 5, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + STATE(972), 1, + sym_number_literal, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + [44341] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1187), 1, - anon_sym_LBRACK, - ACTIONS(1189), 1, - anon_sym_DOT, - STATE(358), 1, - aux_sym_lvalue_repeat1, - ACTIONS(1193), 7, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + STATE(973), 1, + sym_number_literal, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + [44355] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1882), 1, + sym_identifier, + ACTIONS(1884), 1, + anon_sym_RBRACE, + STATE(779), 1, + sym_anonymous_struct_field, + STATE(902), 1, + sym_anonymous_struct_field_list, + [44371] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1841), 1, + sym_identifier, + ACTIONS(1886), 1, + anon_sym_RBRACE, + STATE(717), 2, + sym_bitfield_field, + aux_sym_bitfield_declaration_repeat1, + [44385] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(97), 1, + aux_sym_number_literal_token3, + STATE(984), 1, + sym_number_literal, + ACTIONS(95), 2, + aux_sym_number_literal_token1, + aux_sym_number_literal_token2, + [44399] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1806), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym_indexed, + ACTIONS(1888), 1, anon_sym_RPAREN, + STATE(844), 1, + sym_log_parameter, + [44415] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1826), 1, + sym_identifier, + ACTIONS(1890), 1, + anon_sym_RBRACE, + STATE(722), 2, + sym_struct_field, + aux_sym_struct_declaration_repeat1, + [44429] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1327), 1, + anon_sym_RBRACK, + ACTIONS(1892), 1, + anon_sym_COMMA, + STATE(734), 1, + aux_sym_tuple_expression_repeat1, + [44442] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1895), 1, anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - [21615] = 9, + ACTIONS(1897), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [44453] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1179), 1, - anon_sym_DASH_GT, - ACTIONS(1181), 1, - anon_sym_requires, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(318), 1, - sym_block, - STATE(368), 1, - sym_return_type, - STATE(375), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(393), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21645] = 2, + ACTIONS(984), 1, + anon_sym_GT, + ACTIONS(1899), 1, + anon_sym_COMMA, + STATE(772), 1, + aux_sym_type_argument_list_angle_repeat1, + [44466] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1806), 1, + sym_identifier, + ACTIONS(1810), 1, + anon_sym_indexed, + STATE(844), 1, + sym_log_parameter, + [44479] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1171), 9, + ACTIONS(1901), 1, anon_sym_RPAREN, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_DOT, - [21660] = 2, + ACTIONS(1903), 1, + anon_sym_COMMA, + STATE(762), 1, + aux_sym_tuple_type_repeat1, + [44492] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1195), 9, + ACTIONS(662), 1, anon_sym_RPAREN, - anon_sym_EQ, - anon_sym_LBRACK, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_DOT, - [21675] = 7, + ACTIONS(1905), 1, + anon_sym_COMMA, + STATE(769), 1, + aux_sym_tuple_expression_repeat1, + [44505] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1181), 1, - anon_sym_requires, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(318), 1, - sym_block, - STATE(375), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(393), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21699] = 7, + ACTIONS(646), 1, + anon_sym_RBRACK, + ACTIONS(1907), 1, + anon_sym_COMMA, + STATE(734), 1, + aux_sym_tuple_expression_repeat1, + [44518] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1862), 1, + sym_identifier, + ACTIONS(1909), 1, + anon_sym_RBRACE, + STATE(855), 1, + sym_destructuring_field, + [44531] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1909), 1, + anon_sym_RBRACE, + ACTIONS(1911), 1, + anon_sym_COMMA, + STATE(774), 1, + aux_sym_destructuring_field_list_repeat1, + [44544] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1181), 1, - anon_sym_requires, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(310), 1, - sym_block, - STATE(385), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(390), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21723] = 7, + ACTIONS(1913), 1, + anon_sym_RBRACE, + ACTIONS(1915), 1, + anon_sym_COMMA, + STATE(749), 1, + aux_sym_struct_literal_field_list_repeat1, + [44557] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1181), 1, - anon_sym_requires, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(326), 1, - sym_block, - STATE(367), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(392), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21747] = 7, + ACTIONS(1917), 1, + anon_sym_RBRACE, + ACTIONS(1919), 1, + anon_sym_COMMA, + STATE(782), 1, + aux_sym_enum_member_list_repeat1, + [44570] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1181), 1, - anon_sym_requires, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(322), 1, - sym_block, - STATE(371), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(386), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21771] = 4, + ACTIONS(1921), 1, + anon_sym_RBRACE, + ACTIONS(1923), 1, + anon_sym_COMMA, + STATE(745), 1, + aux_sym_struct_literal_field_list_repeat1, + [44583] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1197), 1, - anon_sym_RPAREN, - STATE(132), 1, - sym_assignment_operator, - ACTIONS(1199), 6, + ACTIONS(1926), 1, + anon_sym_SEMI, + ACTIONS(1928), 1, anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - [21789] = 7, + ACTIONS(1930), 1, + anon_sym_COLON, + [44596] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1181), 1, - anon_sym_requires, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(321), 1, - sym_block, - STATE(385), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(391), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21813] = 5, + ACTIONS(1882), 1, + sym_identifier, + ACTIONS(1932), 1, + anon_sym_RBRACE, + STATE(807), 1, + sym_anonymous_struct_field, + [44609] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1201), 1, + ACTIONS(1934), 1, + anon_sym_SEMI, + ACTIONS(1936), 1, anon_sym_EQ, - STATE(115), 1, - sym_compound_operator, - STATE(116), 1, - sym_assignment_operator, - ACTIONS(1203), 5, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - [21833] = 7, + ACTIONS(1938), 1, + anon_sym_COLON, + [44622] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1181), 1, - anon_sym_requires, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(322), 1, - sym_block, - STATE(385), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(386), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21857] = 7, + ACTIONS(1878), 1, + anon_sym_RBRACE, + ACTIONS(1940), 1, + anon_sym_COMMA, + STATE(745), 1, + aux_sym_struct_literal_field_list_repeat1, + [44635] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1181), 1, - anon_sym_requires, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(321), 1, - sym_block, - STATE(376), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(391), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21881] = 7, + ACTIONS(1812), 1, + anon_sym_RPAREN, + ACTIONS(1942), 1, + anon_sym_COMMA, + STATE(785), 1, + aux_sym_parameter_list_repeat1, + [44648] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(43), 1, anon_sym_LBRACE, - ACTIONS(1181), 1, - anon_sym_requires, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(326), 1, + ACTIONS(1944), 1, + anon_sym_LPAREN, + STATE(301), 1, sym_block, - STATE(385), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(392), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21905] = 7, + [44661] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1181), 1, - anon_sym_requires, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(327), 1, - sym_block, - STATE(383), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - STATE(385), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - [21929] = 7, + ACTIONS(1946), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT, + [44670] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1181), 1, - anon_sym_requires, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(318), 1, - sym_block, - STATE(385), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - STATE(393), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [21953] = 3, + ACTIONS(1946), 1, + anon_sym_RPAREN, + ACTIONS(1948), 1, + anon_sym_COMMA, + STATE(753), 1, + aux_sym_type_argument_list_angle_repeat1, + [44683] = 4, ACTIONS(3), 1, sym_comment, - STATE(116), 1, - sym_assignment_operator, - ACTIONS(1199), 6, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - [21968] = 3, + ACTIONS(1951), 1, + sym_identifier, + ACTIONS(1953), 1, + anon_sym_LPAREN, + STATE(883), 1, + sym_lvalue, + [44696] = 4, ACTIONS(3), 1, sym_comment, - STATE(132), 1, - sym_assignment_operator, - ACTIONS(1199), 6, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - [21983] = 3, + ACTIONS(1932), 1, + anon_sym_RBRACE, + ACTIONS(1955), 1, + anon_sym_COMMA, + STATE(765), 1, + aux_sym_anonymous_struct_field_list_repeat1, + [44709] = 2, ACTIONS(3), 1, sym_comment, - STATE(163), 1, - sym_assignment_operator, - ACTIONS(1199), 6, - anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - [21998] = 3, + ACTIONS(1957), 3, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_GT, + [44718] = 2, ACTIONS(3), 1, sym_comment, - STATE(148), 1, - sym_assignment_operator, - ACTIONS(1199), 6, + ACTIONS(1959), 3, + anon_sym_SEMI, anon_sym_EQ, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - [22013] = 6, + anon_sym_COLON, + [44727] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1205), 1, - anon_sym_LPAREN, - ACTIONS(1207), 1, - anon_sym_SEMI, - ACTIONS(1209), 1, - anon_sym_ATat, - ACTIONS(1211), 1, - anon_sym_ATbits, - STATE(564), 1, - sym_bitfield_layout, - [22032] = 5, + ACTIONS(1961), 1, + anon_sym_RPAREN, + ACTIONS(1963), 1, + anon_sym_COMMA, + STATE(758), 1, + aux_sym_tuple_pattern_repeat1, + [44740] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(332), 1, - sym_block, - STATE(404), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [22049] = 3, + ACTIONS(1966), 1, + anon_sym_RPAREN, + ACTIONS(1968), 1, + anon_sym_COMMA, + STATE(775), 1, + aux_sym_type_argument_list_angle_repeat1, + [44753] = 4, ACTIONS(3), 1, sym_comment, - STATE(520), 1, - sym_variable_kind, - ACTIONS(19), 4, - anon_sym_const, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - [22062] = 4, + ACTIONS(1970), 1, + anon_sym_COMMA, + ACTIONS(1972), 1, + anon_sym_GT, + STATE(736), 1, + aux_sym_type_argument_list_angle_repeat1, + [44766] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1215), 1, - anon_sym_requires, - ACTIONS(1213), 2, - anon_sym_LBRACE, - anon_sym_ensures, - STATE(385), 2, - sym_requires_clause, - aux_sym_function_declaration_repeat1, - [22077] = 5, + ACTIONS(1951), 1, + sym_identifier, + ACTIONS(1953), 1, + anon_sym_LPAREN, + STATE(960), 1, + sym_lvalue, + [44779] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(321), 1, - sym_block, - STATE(404), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [22094] = 5, + ACTIONS(1037), 1, + anon_sym_RPAREN, + ACTIONS(1974), 1, + anon_sym_COMMA, + STATE(781), 1, + aux_sym_tuple_type_repeat1, + [44792] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(322), 1, - sym_block, - STATE(404), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [22111] = 5, + ACTIONS(646), 1, + anon_sym_RPAREN, + ACTIONS(1976), 1, + anon_sym_COMMA, + STATE(769), 1, + aux_sym_tuple_expression_repeat1, + [44805] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(318), 1, - sym_block, - STATE(404), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [22128] = 6, + ACTIONS(1882), 1, + sym_identifier, + ACTIONS(1978), 1, + anon_sym_RBRACE, + STATE(807), 1, + sym_anonymous_struct_field, + [44818] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1218), 1, - sym_identifier, - ACTIONS(1220), 1, - anon_sym_RPAREN, - ACTIONS(1222), 1, - anon_sym_indexed, - STATE(460), 1, - sym_log_parameter, - STATE(616), 1, - sym_log_parameter_list, - [22147] = 5, + ACTIONS(1980), 1, + anon_sym_RBRACE, + ACTIONS(1982), 1, + anon_sym_COMMA, + STATE(765), 1, + aux_sym_anonymous_struct_field_list_repeat1, + [44831] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(314), 1, - sym_block, - STATE(404), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [22164] = 5, + ACTIONS(1985), 1, + anon_sym_RPAREN, + ACTIONS(1987), 1, + anon_sym_COMMA, + STATE(789), 1, + aux_sym_tuple_pattern_repeat1, + [44844] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(327), 1, - sym_block, - STATE(404), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [22181] = 5, + ACTIONS(1830), 1, + sym_identifier, + ACTIONS(1989), 1, + anon_sym_RBRACE, + STATE(838), 1, + sym_enum_member, + [44857] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, + ACTIONS(1991), 3, anon_sym_LBRACE, - ACTIONS(1183), 1, anon_sym_ensures, - STATE(310), 1, - sym_block, - STATE(404), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [22198] = 5, + anon_sym_return, + [44866] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1327), 1, + anon_sym_RPAREN, + ACTIONS(1993), 1, + anon_sym_COMMA, + STATE(769), 1, + aux_sym_tuple_expression_repeat1, + [44879] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, + ACTIONS(1996), 1, + anon_sym_LPAREN, + ACTIONS(1998), 1, anon_sym_LBRACE, - ACTIONS(1183), 1, - anon_sym_ensures, - STATE(326), 1, - sym_block, - STATE(404), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [22215] = 2, + STATE(949), 1, + sym_generic_parameter_clause, + [44892] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1224), 4, - anon_sym_const, - anon_sym_var, - anon_sym_let, - anon_sym_immutable, - [22225] = 5, + ACTIONS(674), 1, + anon_sym_RPAREN, + ACTIONS(2000), 1, + anon_sym_COMMA, + STATE(769), 1, + aux_sym_tuple_expression_repeat1, + [44905] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1218), 1, - sym_identifier, - ACTIONS(1222), 1, - anon_sym_indexed, - ACTIONS(1226), 1, - anon_sym_RPAREN, - STATE(487), 1, - sym_log_parameter, - [22241] = 4, + ACTIONS(1946), 1, + anon_sym_GT, + ACTIONS(2002), 1, + anon_sym_COMMA, + STATE(772), 1, + aux_sym_type_argument_list_angle_repeat1, + [44918] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1228), 1, + ACTIONS(1862), 1, sym_identifier, - ACTIONS(1231), 1, + ACTIONS(2005), 1, anon_sym_RBRACE, - STATE(396), 2, - sym_bitfield_field, - aux_sym_bitfield_declaration_repeat1, - [22255] = 5, + STATE(855), 1, + sym_destructuring_field, + [44931] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1233), 1, - sym_identifier, - ACTIONS(1235), 1, + ACTIONS(2007), 1, anon_sym_RBRACE, - STATE(443), 1, - sym_destructuring_field, - STATE(629), 1, - sym_destructuring_field_list, - [22271] = 5, + ACTIONS(2009), 1, + anon_sym_COMMA, + STATE(774), 1, + aux_sym_destructuring_field_list_repeat1, + [44944] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1237), 1, - sym_identifier, - ACTIONS(1239), 1, + ACTIONS(976), 1, anon_sym_RPAREN, - STATE(439), 1, - sym_parameter, - STATE(625), 1, - sym_parameter_list, - [22287] = 5, + ACTIONS(2012), 1, + anon_sym_COMMA, + STATE(753), 1, + aux_sym_type_argument_list_angle_repeat1, + [44957] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1241), 1, + ACTIONS(1814), 1, sym_identifier, - ACTIONS(1243), 1, + ACTIONS(1818), 1, anon_sym_DOT, - STATE(513), 1, - sym_destructuring_pattern, - STATE(519), 1, - sym_for_pattern, - [22303] = 5, + STATE(824), 1, + sym_struct_literal_field, + [44970] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1245), 1, + ACTIONS(2014), 1, sym_identifier, - ACTIONS(1247), 1, + ACTIONS(2016), 1, + anon_sym_LPAREN, + STATE(778), 1, + sym_tuple_pattern, + [44983] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2018), 1, + anon_sym_SEMI, + ACTIONS(2020), 1, + anon_sym_EQ, + ACTIONS(2022), 1, + anon_sym_COLON, + [44996] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2024), 1, anon_sym_RBRACE, - STATE(420), 1, - sym_struct_literal_field, - STATE(577), 1, - sym_struct_literal_field_list, - [22319] = 4, + ACTIONS(2026), 1, + anon_sym_COMMA, + STATE(755), 1, + aux_sym_anonymous_struct_field_list_repeat1, + [45009] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - STATE(510), 1, - sym_number_literal, - ACTIONS(87), 2, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - [22333] = 4, + ACTIONS(2028), 3, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COLON, + [45018] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - STATE(526), 1, - sym_number_literal, - ACTIONS(87), 2, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - [22347] = 4, + ACTIONS(2030), 1, + anon_sym_RPAREN, + ACTIONS(2032), 1, + anon_sym_COMMA, + STATE(781), 1, + aux_sym_tuple_type_repeat1, + [45031] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - STATE(527), 1, - sym_number_literal, - ACTIONS(87), 2, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - [22361] = 4, + ACTIONS(1989), 1, + anon_sym_RBRACE, + ACTIONS(2035), 1, + anon_sym_COMMA, + STATE(791), 1, + aux_sym_enum_member_list_repeat1, + [45044] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1249), 1, - anon_sym_LBRACE, - ACTIONS(1251), 1, - anon_sym_ensures, - STATE(404), 2, - sym_ensures_clause, - aux_sym_function_declaration_repeat2, - [22375] = 4, + ACTIONS(2037), 1, + anon_sym_SEMI, + ACTIONS(2039), 1, + anon_sym_EQ, + ACTIONS(2041), 1, + anon_sym_COLON, + [45057] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(89), 1, - aux_sym_number_literal_token3, - STATE(535), 1, - sym_number_literal, - ACTIONS(87), 2, - aux_sym_number_literal_token1, - aux_sym_number_literal_token2, - [22389] = 5, + ACTIONS(2043), 3, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_COLON, + [45066] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1237), 1, - sym_identifier, - ACTIONS(1254), 1, + ACTIONS(2045), 1, anon_sym_RPAREN, - STATE(439), 1, - sym_parameter, - STATE(572), 1, - sym_parameter_list, - [22405] = 4, + ACTIONS(2047), 1, + anon_sym_COMMA, + STATE(785), 1, + aux_sym_parameter_list_repeat1, + [45079] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1256), 1, - sym_identifier, - ACTIONS(1258), 1, - anon_sym_RBRACE, - STATE(396), 2, - sym_bitfield_field, - aux_sym_bitfield_declaration_repeat1, - [22419] = 5, + ACTIONS(2050), 1, + anon_sym_SEMI, + ACTIONS(2052), 1, + anon_sym_EQ, + ACTIONS(2054), 1, + anon_sym_COLON, + [45092] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1218), 1, - sym_identifier, - ACTIONS(1222), 1, - anon_sym_indexed, - ACTIONS(1260), 1, + ACTIONS(2056), 1, anon_sym_RPAREN, - STATE(487), 1, - sym_log_parameter, - [22435] = 4, + ACTIONS(2058), 1, + anon_sym_COMMA, + STATE(788), 1, + aux_sym_log_parameter_list_repeat1, + [45105] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1262), 1, - sym_identifier, - ACTIONS(1264), 1, - anon_sym_RBRACE, - STATE(413), 2, - sym_struct_field, - aux_sym_struct_declaration_repeat1, - [22449] = 5, + ACTIONS(1847), 1, + anon_sym_RPAREN, + ACTIONS(2060), 1, + anon_sym_COMMA, + STATE(793), 1, + aux_sym_log_parameter_list_repeat1, + [45118] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1237), 1, - sym_identifier, - ACTIONS(1266), 1, + ACTIONS(2062), 1, anon_sym_RPAREN, - STATE(439), 1, - sym_parameter, - STATE(550), 1, - sym_parameter_list, - [22465] = 4, + ACTIONS(2064), 1, + anon_sym_COMMA, + STATE(758), 1, + aux_sym_tuple_pattern_repeat1, + [45131] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1262), 1, + ACTIONS(1830), 1, sym_identifier, - ACTIONS(1268), 1, + ACTIONS(2066), 1, anon_sym_RBRACE, - STATE(409), 2, - sym_struct_field, - aux_sym_struct_declaration_repeat1, - [22479] = 5, + STATE(838), 1, + sym_enum_member, + [45144] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1270), 1, - sym_identifier, - ACTIONS(1272), 1, + ACTIONS(2068), 1, anon_sym_RBRACE, - STATE(452), 1, - sym_enum_member, - STATE(601), 1, - sym_enum_member_list, - [22495] = 4, + ACTIONS(2070), 1, + anon_sym_COMMA, + STATE(791), 1, + aux_sym_enum_member_list_repeat1, + [45157] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1274), 1, - sym_identifier, - ACTIONS(1277), 1, - anon_sym_RBRACE, - STATE(413), 2, - sym_struct_field, - aux_sym_struct_declaration_repeat1, - [22509] = 5, + ACTIONS(2073), 1, + anon_sym_RPAREN, + ACTIONS(2075), 1, + anon_sym_COMMA, + STATE(750), 1, + aux_sym_parameter_list_repeat1, + [45170] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1279), 1, - sym_identifier, - ACTIONS(1281), 1, - anon_sym_RBRACE, - STATE(434), 1, - sym_anonymous_struct_field, - STATE(530), 1, - sym_anonymous_struct_field_list, - [22525] = 4, + ACTIONS(2077), 1, + anon_sym_RPAREN, + ACTIONS(2079), 1, + anon_sym_COMMA, + STATE(793), 1, + aux_sym_log_parameter_list_repeat1, + [45183] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1256), 1, - sym_identifier, - ACTIONS(1283), 1, + ACTIONS(2084), 1, + anon_sym_COLON, + ACTIONS(2082), 2, anon_sym_RBRACE, - STATE(407), 2, - sym_bitfield_field, - aux_sym_bitfield_declaration_repeat1, - [22539] = 5, + anon_sym_COMMA, + [45194] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(1270), 1, - sym_identifier, - ACTIONS(1285), 1, + ACTIONS(2086), 1, anon_sym_RBRACE, - STATE(452), 1, - sym_enum_member, - STATE(551), 1, - sym_enum_member_list, - [22555] = 4, + ACTIONS(2088), 1, + anon_sym_COMMA, + STATE(742), 1, + aux_sym_destructuring_field_list_repeat1, + [45207] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1996), 1, + anon_sym_LPAREN, + ACTIONS(2090), 1, + anon_sym_LBRACE, + STATE(997), 1, + sym_generic_parameter_clause, + [45220] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1237), 1, + ACTIONS(2092), 1, sym_identifier, - ACTIONS(1287), 1, + ACTIONS(2094), 1, anon_sym_RPAREN, - STATE(462), 1, - sym_parameter, - [22568] = 4, + [45230] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1289), 1, - anon_sym_lock, - ACTIONS(1291), 1, - anon_sym_unlock, - ACTIONS(1293), 1, - anon_sym_cast, - [22581] = 4, + ACTIONS(970), 1, + anon_sym_LBRACE, + STATE(408), 1, + sym_struct_literal_fields, + [45240] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(555), 1, - anon_sym_RBRACK, - ACTIONS(1295), 1, + ACTIONS(2096), 1, + anon_sym_SEMI, + ACTIONS(2098), 1, + anon_sym_EQ, + [45250] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2100), 2, + sym_field_index, + sym_identifier, + [45258] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2102), 2, + anon_sym_RBRACE, anon_sym_COMMA, - STATE(444), 1, - aux_sym_expression_list_repeat1, - [22594] = 4, + [45266] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1297), 1, + ACTIONS(245), 1, + anon_sym_LBRACE, + STATE(48), 1, + sym_struct_literal_fields, + [45276] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2104), 1, + anon_sym_COMMA, + ACTIONS(2106), 1, + anon_sym_PIPE, + [45286] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_LBRACE, + STATE(291), 1, + sym_block, + [45296] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2108), 1, + anon_sym_LBRACE, + ACTIONS(2110), 1, + anon_sym_COLON, + [45306] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2112), 1, + anon_sym_SEMI, + ACTIONS(2114), 1, + anon_sym_EQ, + [45316] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1980), 2, anon_sym_RBRACE, - ACTIONS(1299), 1, anon_sym_COMMA, - STATE(446), 1, - aux_sym_struct_literal_field_list_repeat1, - [22607] = 4, + [45324] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1243), 1, - anon_sym_DOT, - ACTIONS(1301), 1, + ACTIONS(2116), 1, + anon_sym_LPAREN, + ACTIONS(2118), 1, + anon_sym_SEMI, + [45334] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1830), 1, sym_identifier, - STATE(531), 1, - sym_destructuring_pattern, - [22620] = 2, + STATE(838), 1, + sym_enum_member, + [45344] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2030), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [45352] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1303), 3, + ACTIONS(2120), 1, anon_sym_LBRACE, - anon_sym_requires, - anon_sym_ensures, - [22629] = 4, + STATE(403), 1, + sym_block, + [45362] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1279), 1, + ACTIONS(1882), 1, sym_identifier, - ACTIONS(1305), 1, - anon_sym_RBRACE, - STATE(485), 1, + STATE(807), 1, sym_anonymous_struct_field, - [22642] = 4, + [45372] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1307), 1, - anon_sym_RBRACE, - ACTIONS(1309), 1, + ACTIONS(2122), 2, + anon_sym_init, + sym_identifier, + [45380] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2124), 2, + anon_sym_error, + sym_identifier, + [45388] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2126), 2, + anon_sym_RPAREN, anon_sym_COMMA, - STATE(424), 1, - aux_sym_anonymous_struct_field_list_repeat1, - [22655] = 4, + [45396] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - ACTIONS(1312), 1, + ACTIONS(2128), 2, + anon_sym_RBRACE, + sym_identifier, + [45404] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2130), 1, + anon_sym_SEMI, + ACTIONS(2132), 1, + anon_sym_EQ, + [45414] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2134), 1, anon_sym_LPAREN, - STATE(186), 1, - sym_block, - [22668] = 4, + ACTIONS(2136), 1, + anon_sym_LT, + [45424] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1862), 1, + sym_identifier, + STATE(855), 1, + sym_destructuring_field, + [45434] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1218), 1, - sym_identifier, - ACTIONS(1222), 1, - anon_sym_indexed, - STATE(487), 1, - sym_log_parameter, - [22681] = 4, + ACTIONS(2138), 1, + anon_sym_SEMI, + ACTIONS(2140), 1, + anon_sym_COLON, + [45444] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1314), 1, + ACTIONS(2142), 2, + anon_sym_RPAREN, anon_sym_COMMA, - ACTIONS(1317), 1, - anon_sym_GT, - STATE(427), 1, - aux_sym_generic_type_repeat1, - [22694] = 4, + [45452] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1233), 1, - sym_identifier, - ACTIONS(1319), 1, - anon_sym_RBRACE, - STATE(498), 1, - sym_destructuring_field, - [22707] = 4, + ACTIONS(2045), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [45460] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1321), 1, - anon_sym_RBRACE, - ACTIONS(1323), 1, + ACTIONS(1961), 2, + anon_sym_RPAREN, anon_sym_COMMA, - STATE(429), 1, - aux_sym_destructuring_field_list_repeat1, - [22720] = 2, + [45468] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1326), 3, - anon_sym_LBRACE, - anon_sym_requires, - anon_sym_ensures, - [22729] = 4, + ACTIONS(1921), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [45476] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1328), 1, + ACTIONS(2144), 1, anon_sym_SEMI, - ACTIONS(1330), 1, + ACTIONS(2146), 1, anon_sym_EQ, - ACTIONS(1332), 1, - anon_sym_COLON, - [22742] = 4, + [45486] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1334), 1, - anon_sym_RPAREN, - ACTIONS(1336), 1, - anon_sym_COMMA, - STATE(432), 1, - aux_sym_parameter_list_repeat1, - [22755] = 4, + ACTIONS(1866), 2, + anon_sym_LPAREN, + sym_identifier, + [45494] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1339), 1, + ACTIONS(2148), 1, anon_sym_SEMI, - ACTIONS(1341), 1, + ACTIONS(2150), 1, anon_sym_EQ, - ACTIONS(1343), 1, + [45504] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2152), 1, + anon_sym_SEMI, + ACTIONS(2154), 1, anon_sym_COLON, - [22768] = 4, + [45514] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1345), 1, - anon_sym_RBRACE, - ACTIONS(1347), 1, - anon_sym_COMMA, - STATE(458), 1, - aux_sym_anonymous_struct_field_list_repeat1, - [22781] = 4, + ACTIONS(2156), 1, + anon_sym_SEMI, + ACTIONS(2158), 1, + anon_sym_EQ, + [45524] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1349), 1, - anon_sym_COMMA, - ACTIONS(1351), 1, - anon_sym_GT, - STATE(437), 1, - aux_sym_generic_type_repeat1, - [22794] = 4, + ACTIONS(630), 2, + sym_field_index, + sym_identifier, + [45532] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1233), 1, + ACTIONS(2062), 1, + anon_sym_RPAREN, + ACTIONS(2092), 1, sym_identifier, - ACTIONS(1353), 1, - anon_sym_RBRACE, - STATE(498), 1, - sym_destructuring_field, - [22807] = 4, + [45542] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(744), 1, - anon_sym_GT, - ACTIONS(1355), 1, - anon_sym_COMMA, - STATE(427), 1, - aux_sym_generic_type_repeat1, - [22820] = 4, + ACTIONS(2160), 2, + anon_sym_EQ, + anon_sym_PIPE, + [45550] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1357), 1, + ACTIONS(2162), 2, anon_sym_RBRACE, - ACTIONS(1359), 1, - anon_sym_COMMA, - STATE(438), 1, - aux_sym_enum_member_list_repeat1, - [22833] = 4, + sym_identifier, + [45558] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1362), 1, - anon_sym_RPAREN, - ACTIONS(1364), 1, - anon_sym_COMMA, - STATE(449), 1, - aux_sym_parameter_list_repeat1, - [22846] = 4, + ACTIONS(2164), 1, + anon_sym_EQ_GT, + ACTIONS(2166), 1, + anon_sym_where, + [45568] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1353), 1, - anon_sym_RBRACE, - ACTIONS(1366), 1, - anon_sym_COMMA, - STATE(429), 1, - aux_sym_destructuring_field_list_repeat1, - [22859] = 4, + ACTIONS(2168), 1, + anon_sym_EQ_GT, + ACTIONS(2170), 1, + anon_sym_where, + [45578] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1368), 1, + ACTIONS(2172), 2, anon_sym_RPAREN, - ACTIONS(1370), 1, anon_sym_COMMA, - STATE(441), 1, - aux_sym_log_parameter_list_repeat1, - [22872] = 3, + [45586] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1375), 1, - anon_sym_COLON, - ACTIONS(1373), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [22883] = 4, + ACTIONS(2174), 1, + anon_sym_EQ_GT, + ACTIONS(2176), 1, + anon_sym_where, + [45596] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1377), 1, + ACTIONS(2068), 2, anon_sym_RBRACE, - ACTIONS(1379), 1, anon_sym_COMMA, - STATE(440), 1, - aux_sym_destructuring_field_list_repeat1, - [22896] = 4, + [45604] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(938), 1, - anon_sym_RBRACK, - ACTIONS(1381), 1, - anon_sym_COMMA, - STATE(444), 1, - aux_sym_expression_list_repeat1, - [22909] = 4, + ACTIONS(245), 1, + anon_sym_LBRACE, + STATE(36), 1, + sym_struct_literal_fields, + [45614] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1245), 1, - sym_identifier, - ACTIONS(1384), 1, - anon_sym_RBRACE, - STATE(495), 1, - sym_struct_literal_field, - [22922] = 4, + ACTIONS(970), 1, + anon_sym_LBRACE, + STATE(406), 1, + sym_struct_literal_fields, + [45624] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1384), 1, - anon_sym_RBRACE, - ACTIONS(1386), 1, - anon_sym_COMMA, - STATE(456), 1, - aux_sym_struct_literal_field_list_repeat1, - [22935] = 4, + ACTIONS(2178), 1, + sym_identifier, + ACTIONS(2180), 1, + anon_sym_cast, + [45634] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(555), 1, + ACTIONS(2182), 2, anon_sym_RPAREN, - ACTIONS(1388), 1, anon_sym_COMMA, - STATE(450), 1, - aux_sym_expression_list_repeat1, - [22948] = 4, + [45642] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1237), 1, + ACTIONS(640), 2, + sym_field_index, sym_identifier, - ACTIONS(1390), 1, - anon_sym_RPAREN, - STATE(462), 1, - sym_parameter, - [22961] = 4, + [45650] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1390), 1, + ACTIONS(2077), 2, anon_sym_RPAREN, - ACTIONS(1392), 1, anon_sym_COMMA, - STATE(432), 1, - aux_sym_parameter_list_repeat1, - [22974] = 4, + [45658] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(938), 1, - anon_sym_RPAREN, - ACTIONS(1394), 1, - anon_sym_COMMA, - STATE(450), 1, - aux_sym_expression_list_repeat1, - [22987] = 3, + ACTIONS(1849), 1, + sym_identifier, + ACTIONS(1855), 1, + anon_sym_cast, + [45668] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1397), 1, + ACTIONS(1665), 1, + anon_sym_LBRACE, + STATE(51), 1, + sym_block, + [45678] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2184), 2, + anon_sym_init, + sym_identifier, + [45686] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2186), 1, + anon_sym_SEMI, + ACTIONS(2188), 1, anon_sym_EQ, - ACTIONS(1399), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [22998] = 4, + [45696] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1401), 1, - anon_sym_RBRACE, - ACTIONS(1403), 1, + ACTIONS(2190), 1, + anon_sym_EQ_GT, + ACTIONS(2192), 1, + anon_sym_where, + [45706] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(337), 2, anon_sym_COMMA, - STATE(455), 1, - aux_sym_enum_member_list_repeat1, - [23011] = 4, + anon_sym_GT, + [45714] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1245), 1, - sym_identifier, - ACTIONS(1405), 1, - anon_sym_RBRACE, - STATE(495), 1, - sym_struct_literal_field, - [23024] = 4, + ACTIONS(2194), 1, + anon_sym_SEMI, + ACTIONS(2196), 1, + anon_sym_EQ, + [45724] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1270), 1, - sym_identifier, - ACTIONS(1407), 1, - anon_sym_RBRACE, - STATE(483), 1, - sym_enum_member, - [23037] = 4, + ACTIONS(2198), 1, + anon_sym_SEMI, + ACTIONS(2200), 1, + anon_sym_EQ, + [45734] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1407), 1, + ACTIONS(2202), 2, + anon_sym_EQ, + anon_sym_PIPE, + [45742] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2204), 2, anon_sym_RBRACE, - ACTIONS(1409), 1, anon_sym_COMMA, - STATE(438), 1, - aux_sym_enum_member_list_repeat1, - [23050] = 4, + [45750] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1411), 1, + ACTIONS(2007), 2, anon_sym_RBRACE, - ACTIONS(1413), 1, anon_sym_COMMA, - STATE(456), 1, - aux_sym_struct_literal_field_list_repeat1, - [23063] = 4, + [45758] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1279), 1, - sym_identifier, - ACTIONS(1416), 1, + ACTIONS(2206), 2, anon_sym_RBRACE, - STATE(485), 1, - sym_anonymous_struct_field, - [23076] = 4, + sym_identifier, + [45766] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1416), 1, - anon_sym_RBRACE, - ACTIONS(1418), 1, - anon_sym_COMMA, - STATE(424), 1, - aux_sym_anonymous_struct_field_list_repeat1, - [23089] = 4, + ACTIONS(43), 1, + anon_sym_LBRACE, + STATE(51), 1, + sym_block, + [45776] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1226), 1, - anon_sym_RPAREN, - ACTIONS(1420), 1, - anon_sym_COMMA, - STATE(441), 1, - aux_sym_log_parameter_list_repeat1, - [23102] = 4, + ACTIONS(2208), 1, + anon_sym_SEMI, + [45783] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2210), 1, + anon_sym_LBRACE, + [45790] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1422), 1, + ACTIONS(1377), 1, anon_sym_RPAREN, - ACTIONS(1424), 1, - anon_sym_COMMA, - STATE(459), 1, - aux_sym_log_parameter_list_repeat1, - [23115] = 4, + [45797] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1270), 1, + ACTIONS(2212), 1, sym_identifier, - ACTIONS(1426), 1, - anon_sym_RBRACE, - STATE(483), 1, - sym_enum_member, - [23128] = 2, + [45804] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1334), 2, + ACTIONS(2214), 1, anon_sym_RPAREN, - anon_sym_COMMA, - [23136] = 3, + [45811] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1428), 1, - anon_sym_COMMA, - ACTIONS(1430), 1, - anon_sym_PIPE, - [23146] = 3, + ACTIONS(2216), 1, + sym_identifier, + [45818] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - STATE(170), 1, - sym_block, - [23156] = 3, + ACTIONS(2218), 1, + anon_sym_PIPE, + [45825] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1432), 1, - anon_sym_SEMI, - ACTIONS(1434), 1, - anon_sym_COLON, - [23166] = 3, + ACTIONS(2220), 1, + anon_sym_RPAREN, + [45832] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1436), 1, - anon_sym_SEMI, - ACTIONS(1438), 1, - anon_sym_COLON, - [23176] = 3, + ACTIONS(2222), 1, + anon_sym_LPAREN, + [45839] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - STATE(188), 1, - sym_block, - [23186] = 3, + ACTIONS(2224), 1, + anon_sym_import, + [45846] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(43), 1, - anon_sym_LBRACE, - STATE(28), 1, - sym_block, - [23196] = 3, + ACTIONS(2226), 1, + anon_sym_EQ, + [45853] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1279), 1, + ACTIONS(2228), 1, sym_identifier, - STATE(485), 1, - sym_anonymous_struct_field, - [23206] = 2, + [45860] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1440), 2, - anon_sym_RBRACE, - sym_identifier, - [23214] = 3, + ACTIONS(2230), 1, + anon_sym_LPAREN, + [45867] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2232), 1, + anon_sym_LPAREN, + [45874] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1442), 1, + ACTIONS(2234), 1, anon_sym_SEMI, - ACTIONS(1444), 1, - anon_sym_EQ, - [23224] = 3, + [45881] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1233), 1, + ACTIONS(2236), 1, sym_identifier, - STATE(498), 1, - sym_destructuring_field, - [23234] = 2, + [45888] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1446), 2, - anon_sym_init, - sym_identifier, - [23242] = 3, + ACTIONS(2238), 1, + anon_sym_COLON, + [45895] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1448), 1, - anon_sym_LBRACE, - ACTIONS(1450), 1, + ACTIONS(2240), 1, anon_sym_COLON, - [23252] = 3, + [45902] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1452), 1, - anon_sym_LPAREN, - ACTIONS(1454), 1, - anon_sym_SEMI, - [23262] = 2, + ACTIONS(2242), 1, + anon_sym_RBRACE, + [45909] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1456), 2, - anon_sym_init, - sym_identifier, - [23270] = 2, + ACTIONS(2244), 1, + anon_sym_EQ, + [45916] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1458), 2, + ACTIONS(2246), 1, anon_sym_RBRACE, - sym_identifier, - [23278] = 3, + [45923] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1245), 1, - sym_identifier, - STATE(495), 1, - sym_struct_literal_field, - [23288] = 2, + ACTIONS(2248), 1, + anon_sym_COLON, + [45930] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(253), 2, - anon_sym_COMMA, - anon_sym_GT, - [23296] = 2, + ACTIONS(2250), 1, + anon_sym_SEMI, + [45937] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1460), 2, - anon_sym_EQ, - anon_sym_PIPE, - [23304] = 2, + ACTIONS(2252), 1, + anon_sym_LPAREN, + [45944] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1462), 2, - anon_sym_COMMA, - anon_sym_GT, - [23312] = 2, + ACTIONS(2254), 1, + anon_sym_LPAREN, + [45951] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1464), 2, - anon_sym_LBRACE, - anon_sym_ensures, - [23320] = 2, + ACTIONS(1748), 1, + anon_sym_RPAREN, + [45958] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1357), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [23328] = 2, + ACTIONS(2256), 1, + anon_sym_COLON, + [45965] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1466), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [23336] = 2, + ACTIONS(2258), 1, + anon_sym_LPAREN, + [45972] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1307), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [23344] = 2, + ACTIONS(2260), 1, + anon_sym_LPAREN, + [45979] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1468), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [23352] = 2, + ACTIONS(2262), 1, + anon_sym_SEMI, + [45986] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1368), 2, + ACTIONS(1397), 1, anon_sym_RPAREN, - anon_sym_COMMA, - [23360] = 3, + [45993] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1470), 1, - anon_sym_SEMI, - ACTIONS(1472), 1, - anon_sym_EQ, - [23370] = 2, + ACTIONS(2264), 1, + sym_identifier, + [46000] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1474), 2, - anon_sym_EQ, + ACTIONS(2106), 1, anon_sym_PIPE, - [23378] = 2, + [46007] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1317), 2, - anon_sym_COMMA, - anon_sym_GT, - [23386] = 3, + ACTIONS(2266), 1, + anon_sym_PIPE, + [46014] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(2268), 1, + anon_sym_SEMI, + [46021] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1270), 1, + ACTIONS(2270), 1, sym_identifier, - STATE(483), 1, - sym_enum_member, - [23396] = 2, + [46028] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1476), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [23404] = 3, + ACTIONS(2272), 1, + anon_sym_COLON, + [46035] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1478), 1, + ACTIONS(1345), 1, anon_sym_EQ_GT, - ACTIONS(1480), 1, - anon_sym_where, - [23414] = 3, + [46042] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1482), 1, + ACTIONS(2274), 1, anon_sym_EQ_GT, - ACTIONS(1484), 1, - anon_sym_where, - [23424] = 2, + [46049] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1411), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [23432] = 3, + ACTIONS(2276), 1, + sym_identifier, + [46056] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(214), 1, - anon_sym_LBRACE, - STATE(25), 1, - sym_struct_literal_fields, - [23442] = 2, + ACTIONS(2278), 1, + anon_sym_SEMI, + [46063] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1486), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [23450] = 2, + ACTIONS(2280), 1, + anon_sym_COLON, + [46070] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1321), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [23458] = 3, + ACTIONS(2282), 1, + anon_sym_LPAREN, + [46077] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1237), 1, - sym_identifier, - STATE(462), 1, - sym_parameter, - [23468] = 2, + ACTIONS(2284), 1, + anon_sym_COLON, + [46084] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1488), 2, + ACTIONS(2286), 1, anon_sym_RBRACE, - sym_identifier, - [23476] = 2, + [46091] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1490), 2, + ACTIONS(2288), 1, anon_sym_RPAREN, - anon_sym_COMMA, - [23484] = 2, + [46098] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1492), 1, - anon_sym_RPAREN, - [23491] = 2, + ACTIONS(2290), 1, + anon_sym_LBRACE, + [46105] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1494), 1, - anon_sym_LPAREN, - [23498] = 2, + ACTIONS(2292), 1, + sym_identifier, + [46112] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1496), 1, - anon_sym_EQ_GT, - [23505] = 2, + ACTIONS(2294), 1, + sym_identifier, + [46119] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1498), 1, - anon_sym_LPAREN, - [23512] = 2, + ACTIONS(2092), 1, + sym_identifier, + [46126] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1500), 1, - anon_sym_SEMI, - [23519] = 2, + ACTIONS(2296), 1, + anon_sym_fn, + [46133] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1502), 1, - sym_identifier, - [23526] = 2, + ACTIONS(2298), 1, + anon_sym_COMMA, + [46140] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1505), 1, - anon_sym_COLON, - [23533] = 2, + ACTIONS(2300), 1, + anon_sym_LPAREN, + [46147] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1507), 1, - anon_sym_import, - [23540] = 2, + ACTIONS(2302), 1, + anon_sym_COMMA, + [46154] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1509), 1, - anon_sym_RPAREN, - [23547] = 2, + ACTIONS(2304), 1, + anon_sym_SEMI, + [46161] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1511), 1, - anon_sym_SEMI, - [23554] = 2, + ACTIONS(2306), 1, + anon_sym_RPAREN, + [46168] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1293), 1, - anon_sym_cast, - [23561] = 2, + ACTIONS(2308), 1, + anon_sym_RPAREN, + [46175] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1430), 1, - anon_sym_PIPE, - [23568] = 2, + ACTIONS(2310), 1, + anon_sym_RBRACK, + [46182] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1513), 1, + ACTIONS(2312), 1, anon_sym_LPAREN, - [23575] = 2, + [46189] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1515), 1, + ACTIONS(2314), 1, anon_sym_RPAREN, - [23582] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1517), 1, - anon_sym_PIPE, - [23589] = 2, + [46196] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1519), 1, - anon_sym_import, - [23596] = 2, + ACTIONS(2316), 1, + anon_sym_LBRACE, + [46203] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1521), 1, - anon_sym_LBRACE, - [23603] = 2, + ACTIONS(2318), 1, + anon_sym_COLON, + [46210] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1523), 1, - anon_sym_PIPE, - [23610] = 2, + ACTIONS(2320), 1, + anon_sym_RPAREN, + [46217] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1525), 1, + ACTIONS(2322), 1, sym_identifier, - [23617] = 2, + [46224] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1527), 1, + ACTIONS(2324), 1, anon_sym_LPAREN, - [23624] = 2, + [46231] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1529), 1, + ACTIONS(2326), 1, anon_sym_LPAREN, - [23631] = 2, + [46238] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1531), 1, - sym_identifier, - [23638] = 2, + ACTIONS(2328), 1, + anon_sym_SEMI, + [46245] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1533), 1, - anon_sym_SEMI, - [23645] = 2, + ACTIONS(2330), 1, + anon_sym_RBRACK, + [46252] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1535), 1, - anon_sym_SEMI, - [23652] = 2, + ACTIONS(2332), 1, + sym_identifier, + [46259] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1537), 1, - anon_sym_COMMA, - [23659] = 2, + ACTIONS(2334), 1, + anon_sym_EQ_GT, + [46266] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1537), 1, - anon_sym_DOT_DOT, - [23666] = 2, + ACTIONS(2336), 1, + anon_sym_SEMI, + [46273] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1539), 1, - anon_sym_LBRACE, - [23673] = 2, + ACTIONS(2338), 1, + anon_sym_RBRACK, + [46280] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1541), 1, - anon_sym_COLON, - [23680] = 2, + ACTIONS(2340), 1, + anon_sym_LPAREN, + [46287] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1543), 1, - anon_sym_RBRACE, - [23687] = 2, + ACTIONS(2342), 1, + anon_sym_LBRACK, + [46294] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1545), 1, - anon_sym_EQ, - [23694] = 2, + ACTIONS(2344), 1, + sym_string_literal, + [46301] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(539), 1, + ACTIONS(2346), 1, sym_identifier, - [23701] = 2, + [46308] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1301), 1, - sym_identifier, - [23708] = 2, + ACTIONS(2348), 1, + anon_sym_LPAREN, + [46315] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1547), 1, - sym_identifier, - [23715] = 2, + ACTIONS(2350), 1, + anon_sym_LPAREN, + [46322] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1549), 1, - anon_sym_RPAREN, - [23722] = 2, + ACTIONS(2352), 1, + anon_sym_LPAREN, + [46329] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1551), 1, - anon_sym_SEMI, - [23729] = 2, + ACTIONS(2354), 1, + anon_sym_LPAREN, + [46336] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1020), 1, - anon_sym_RPAREN, - [23736] = 2, + ACTIONS(2356), 1, + sym_string_literal, + [46343] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1553), 1, - anon_sym_COMMA, - [23743] = 2, + ACTIONS(2358), 1, + anon_sym_LBRACE, + [46350] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1555), 1, + ACTIONS(2360), 1, sym_identifier, - [23750] = 2, + [46357] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1557), 1, - anon_sym_RBRACK, - [23757] = 2, + ACTIONS(2362), 1, + anon_sym_EQ_GT, + [46364] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(940), 1, - anon_sym_EQ_GT, - [23764] = 2, + ACTIONS(2364), 1, + sym_string_literal, + [46371] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1559), 1, - sym_identifier, - [23771] = 2, + ACTIONS(2366), 1, + anon_sym_AT, + [46378] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1561), 1, - sym_string_literal, - [23778] = 2, + ACTIONS(2368), 1, + sym_identifier, + [46385] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1563), 1, - anon_sym_COLON, - [23785] = 2, + ACTIONS(2370), 1, + anon_sym_LPAREN, + [46392] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1565), 1, - anon_sym_SEMI, - [23792] = 2, + ACTIONS(2372), 1, + sym_identifier, + [46399] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1567), 1, - anon_sym_COLON, - [23799] = 2, + ACTIONS(2374), 1, + anon_sym_SEMI, + [46406] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1569), 1, + ACTIONS(2376), 1, anon_sym_SEMI, - [23806] = 2, + [46413] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1571), 1, - sym_identifier, - [23813] = 2, + ACTIONS(2378), 1, + anon_sym_LBRACE, + [46420] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1573), 1, + ACTIONS(2380), 1, anon_sym_LPAREN, - [23820] = 2, + [46427] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1575), 1, + ACTIONS(2382), 1, anon_sym_RPAREN, - [23827] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1577), 1, - anon_sym_RBRACE, - [23834] = 2, + [46434] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1579), 1, - anon_sym_SEMI, - [23841] = 2, + ACTIONS(2384), 1, + anon_sym_COLON, + [46441] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1581), 1, - anon_sym_EQ_GT, - [23848] = 2, + ACTIONS(2386), 1, + ts_builtin_sym_end, + [46448] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1583), 1, - anon_sym_AT, - [23855] = 2, + ACTIONS(2388), 1, + sym_identifier, + [46455] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1585), 1, - anon_sym_LPAREN, - [23862] = 2, + ACTIONS(2390), 1, + anon_sym_RPAREN, + [46462] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1587), 1, - anon_sym_LPAREN, - [23869] = 2, + ACTIONS(2392), 1, + anon_sym_import, + [46469] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1589), 1, - anon_sym_RPAREN, - [23876] = 2, + ACTIONS(2394), 1, + anon_sym_COMMA, + [46476] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1591), 1, - anon_sym_COLON, - [23883] = 2, + ACTIONS(2396), 1, + anon_sym_PIPE, + [46483] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1593), 1, + ACTIONS(2398), 1, anon_sym_LPAREN, - [23890] = 2, + [46490] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1595), 1, + ACTIONS(2400), 1, anon_sym_SEMI, - [23897] = 2, + [46497] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1597), 1, - anon_sym_COMMA, - [23904] = 2, + ACTIONS(2402), 1, + anon_sym_SEMI, + [46504] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1599), 1, - anon_sym_LPAREN, - [23911] = 2, + ACTIONS(2404), 1, + anon_sym_LBRACE, + [46511] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1601), 1, + ACTIONS(2406), 1, sym_identifier, - [23918] = 2, + [46518] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1603), 1, - anon_sym_SEMI, - [23925] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1605), 1, - anon_sym_GT, - [23932] = 2, + ACTIONS(2408), 1, + anon_sym_COLON, + [46525] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1607), 1, + ACTIONS(2410), 1, sym_identifier, - [23939] = 2, + [46532] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1609), 1, + ACTIONS(2412), 1, anon_sym_COLON, - [23946] = 2, + [46539] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1611), 1, + ACTIONS(2414), 1, anon_sym_LBRACE, - [23953] = 2, + [46546] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1613), 1, - anon_sym_SEMI, - [23960] = 2, + ACTIONS(2416), 1, + anon_sym_LPAREN, + [46553] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1615), 1, + ACTIONS(2418), 1, anon_sym_RPAREN, - [23967] = 2, + [46560] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1617), 1, - sym_identifier, - [23974] = 2, + ACTIONS(2420), 1, + anon_sym_SEMI, + [46567] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1619), 1, - anon_sym_RPAREN, - [23981] = 2, + ACTIONS(2422), 1, + sym_identifier, + [46574] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1621), 1, - anon_sym_RBRACK, - [23988] = 2, + ACTIONS(2424), 1, + anon_sym_COMMA, + [46581] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1623), 1, - anon_sym_LPAREN, - [23995] = 2, + ACTIONS(2424), 1, + anon_sym_DOT_DOT, + [46588] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1625), 1, - anon_sym_LPAREN, - [24002] = 2, + ACTIONS(2426), 1, + anon_sym_SEMI, + [46595] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1627), 1, + ACTIONS(2428), 1, anon_sym_SEMI, - [24009] = 2, + [46602] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1629), 1, + ACTIONS(2430), 1, anon_sym_RBRACE, - [24016] = 2, + [46609] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1631), 1, + ACTIONS(2432), 1, anon_sym_LPAREN, - [24023] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1633), 1, - anon_sym_LT, - [24030] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1635), 1, - anon_sym_PIPE, - [24037] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1637), 1, - anon_sym_EQ, - [24044] = 2, + [46616] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1639), 1, - anon_sym_LBRACK, - [24051] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1641), 1, + ACTIONS(2434), 1, anon_sym_SEMI, - [24058] = 2, + [46623] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1643), 1, - anon_sym_SEMI, - [24065] = 2, + ACTIONS(2436), 1, + anon_sym_RPAREN, + [46630] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1645), 1, - sym_string_literal, - [24072] = 2, + ACTIONS(2438), 1, + sym_identifier, + [46637] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1647), 1, - anon_sym_EQ_GT, - [24079] = 2, + ACTIONS(2441), 1, + anon_sym_LPAREN, + [46644] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1649), 1, - sym_identifier, - [24086] = 2, + ACTIONS(2443), 1, + anon_sym_RBRACE, + [46651] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1651), 1, + ACTIONS(2445), 1, anon_sym_LBRACE, - [24093] = 2, + [46658] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1653), 1, - anon_sym_LBRACE, - [24100] = 2, + ACTIONS(2447), 1, + anon_sym_RPAREN, + [46665] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1655), 1, - sym_identifier, - [24107] = 2, + ACTIONS(2449), 1, + anon_sym_SEMI, + [46672] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1657), 1, + ACTIONS(2451), 1, anon_sym_LPAREN, - [24114] = 2, + [46679] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1659), 1, - anon_sym_DOT, - [24121] = 2, + ACTIONS(2453), 1, + anon_sym_COLON, + [46686] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1661), 1, - ts_builtin_sym_end, - [24128] = 2, + ACTIONS(2455), 1, + sym_identifier, + [46693] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1663), 1, - anon_sym_LPAREN, - [24135] = 2, + ACTIONS(2457), 1, + anon_sym_RPAREN, + [46700] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1665), 1, - sym_identifier, - [24142] = 2, + ACTIONS(2457), 1, + anon_sym_GT, + [46707] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1667), 1, + ACTIONS(2459), 1, anon_sym_LPAREN, - [24149] = 2, + [46714] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1669), 1, + ACTIONS(2461), 1, sym_identifier, - [24156] = 2, + [46721] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1671), 1, + ACTIONS(2463), 1, anon_sym_LBRACE, - [24163] = 2, + [46728] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1673), 1, - anon_sym_fn, - [24170] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1675), 1, - sym_identifier, - [24177] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1677), 1, - anon_sym_RBRACE, - [24184] = 2, + ACTIONS(2465), 1, + anon_sym_COMMA, + [46735] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1679), 1, - anon_sym_SEMI, - [24191] = 2, + ACTIONS(2467), 1, + anon_sym_LPAREN, + [46742] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1681), 1, + ACTIONS(2469), 1, anon_sym_RPAREN, - [24198] = 2, + [46749] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1683), 1, - anon_sym_LPAREN, - [24205] = 2, + ACTIONS(2471), 1, + anon_sym_LBRACE, + [46756] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1685), 1, - anon_sym_LBRACE, - [24212] = 2, + ACTIONS(2473), 1, + sym_identifier, + [46763] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1687), 1, + ACTIONS(2475), 1, anon_sym_LPAREN, - [24219] = 2, + [46770] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1689), 1, + ACTIONS(2477), 1, anon_sym_SEMI, - [24226] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1691), 1, - sym_identifier, - [24233] = 2, + [46777] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1693), 1, - sym_string_literal, - [24240] = 2, + ACTIONS(2479), 1, + anon_sym_LPAREN, + [46784] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1695), 1, + ACTIONS(2481), 1, anon_sym_LPAREN, - [24247] = 2, + [46791] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1697), 1, - sym_identifier, - [24254] = 2, + ACTIONS(2483), 1, + anon_sym_SEMI, + [46798] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1699), 1, + ACTIONS(2485), 1, anon_sym_COLON, - [24261] = 2, + [46805] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1701), 1, - anon_sym_LBRACE, - [24268] = 2, + ACTIONS(2487), 1, + anon_sym_LPAREN, + [46812] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1703), 1, + ACTIONS(2489), 1, anon_sym_COLON, - [24275] = 2, + [46819] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1705), 1, - anon_sym_COLON, - [24282] = 2, + ACTIONS(2491), 1, + anon_sym_RBRACE, + [46826] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1707), 1, - anon_sym_RPAREN, - [24289] = 2, + ACTIONS(2493), 1, + anon_sym_COMMA, + [46833] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1709), 1, - anon_sym_LPAREN, - [24296] = 2, + ACTIONS(2495), 1, + anon_sym_EQ, + [46840] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1711), 1, - anon_sym_LPAREN, - [24303] = 2, + ACTIONS(2497), 1, + anon_sym_LBRACE, + [46847] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1713), 1, - anon_sym_SEMI, - [24310] = 2, + ACTIONS(2499), 1, + anon_sym_COLON, + [46854] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1715), 1, + ACTIONS(2501), 1, sym_identifier, - [24317] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1717), 1, - anon_sym_LPAREN, - [24324] = 2, + [46861] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1719), 1, - sym_identifier, - [24331] = 2, + ACTIONS(2503), 1, + anon_sym_COLON, + [46868] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1721), 1, - anon_sym_SEMI, - [24338] = 2, + ACTIONS(2505), 1, + anon_sym_LBRACE, + [46875] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1723), 1, - anon_sym_SEMI, - [24345] = 2, + ACTIONS(2507), 1, + anon_sym_RPAREN, + [46882] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1725), 1, - anon_sym_RPAREN, - [24352] = 2, + ACTIONS(2509), 1, + sym_identifier, + [46889] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1727), 1, + ACTIONS(2511), 1, sym_identifier, - [24359] = 2, + [46896] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1729), 1, - anon_sym_COLON, - [24366] = 2, + ACTIONS(2513), 1, + anon_sym_LPAREN, + [46903] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1731), 1, - sym_identifier, - [24373] = 2, + ACTIONS(2515), 1, + anon_sym_LPAREN, + [46910] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1733), 1, - anon_sym_RBRACE, + ACTIONS(2517), 1, + sym_identifier, }; static const uint32_t ts_small_parse_table_map[] = { - [SMALL_STATE(13)] = 0, - [SMALL_STATE(14)] = 77, - [SMALL_STATE(15)] = 160, - [SMALL_STATE(16)] = 228, - [SMALL_STATE(17)] = 290, - [SMALL_STATE(18)] = 358, - [SMALL_STATE(19)] = 417, - [SMALL_STATE(20)] = 475, - [SMALL_STATE(21)] = 533, - [SMALL_STATE(22)] = 591, - [SMALL_STATE(23)] = 649, - [SMALL_STATE(24)] = 707, - [SMALL_STATE(25)] = 765, - [SMALL_STATE(26)] = 823, - [SMALL_STATE(27)] = 881, - [SMALL_STATE(28)] = 939, - [SMALL_STATE(29)] = 997, - [SMALL_STATE(30)] = 1105, - [SMALL_STATE(31)] = 1163, - [SMALL_STATE(32)] = 1221, - [SMALL_STATE(33)] = 1279, - [SMALL_STATE(34)] = 1337, - [SMALL_STATE(35)] = 1395, - [SMALL_STATE(36)] = 1453, - [SMALL_STATE(37)] = 1511, - [SMALL_STATE(38)] = 1569, - [SMALL_STATE(39)] = 1627, - [SMALL_STATE(40)] = 1685, - [SMALL_STATE(41)] = 1758, - [SMALL_STATE(42)] = 1843, - [SMALL_STATE(43)] = 1928, - [SMALL_STATE(44)] = 2005, - [SMALL_STATE(45)] = 2086, - [SMALL_STATE(46)] = 2155, - [SMALL_STATE(47)] = 2240, - [SMALL_STATE(48)] = 2315, - [SMALL_STATE(49)] = 2394, - [SMALL_STATE(50)] = 2477, - [SMALL_STATE(51)] = 2562, - [SMALL_STATE(52)] = 2627, - [SMALL_STATE(53)] = 2688, - [SMALL_STATE(54)] = 2744, - [SMALL_STATE(55)] = 2800, - [SMALL_STATE(56)] = 2904, - [SMALL_STATE(57)] = 2960, - [SMALL_STATE(58)] = 3016, - [SMALL_STATE(59)] = 3072, - [SMALL_STATE(60)] = 3176, - [SMALL_STATE(61)] = 3280, - [SMALL_STATE(62)] = 3336, - [SMALL_STATE(63)] = 3392, - [SMALL_STATE(64)] = 3448, - [SMALL_STATE(65)] = 3552, - [SMALL_STATE(66)] = 3656, - [SMALL_STATE(67)] = 3742, - [SMALL_STATE(68)] = 3839, - [SMALL_STATE(69)] = 3936, - [SMALL_STATE(70)] = 4019, - [SMALL_STATE(71)] = 4113, - [SMALL_STATE(72)] = 4207, - [SMALL_STATE(73)] = 4301, - [SMALL_STATE(74)] = 4395, - [SMALL_STATE(75)] = 4486, - [SMALL_STATE(76)] = 4577, - [SMALL_STATE(77)] = 4668, - [SMALL_STATE(78)] = 4759, - [SMALL_STATE(79)] = 4850, - [SMALL_STATE(80)] = 4941, - [SMALL_STATE(81)] = 5029, - [SMALL_STATE(82)] = 5117, - [SMALL_STATE(83)] = 5205, - [SMALL_STATE(84)] = 5293, - [SMALL_STATE(85)] = 5381, - [SMALL_STATE(86)] = 5469, - [SMALL_STATE(87)] = 5557, - [SMALL_STATE(88)] = 5645, - [SMALL_STATE(89)] = 5733, - [SMALL_STATE(90)] = 5821, - [SMALL_STATE(91)] = 5909, - [SMALL_STATE(92)] = 5997, - [SMALL_STATE(93)] = 6085, - [SMALL_STATE(94)] = 6173, - [SMALL_STATE(95)] = 6261, - [SMALL_STATE(96)] = 6349, - [SMALL_STATE(97)] = 6437, - [SMALL_STATE(98)] = 6525, - [SMALL_STATE(99)] = 6613, - [SMALL_STATE(100)] = 6701, - [SMALL_STATE(101)] = 6789, - [SMALL_STATE(102)] = 6877, - [SMALL_STATE(103)] = 6965, - [SMALL_STATE(104)] = 7053, - [SMALL_STATE(105)] = 7141, - [SMALL_STATE(106)] = 7229, - [SMALL_STATE(107)] = 7317, - [SMALL_STATE(108)] = 7405, - [SMALL_STATE(109)] = 7493, - [SMALL_STATE(110)] = 7581, - [SMALL_STATE(111)] = 7669, - [SMALL_STATE(112)] = 7757, - [SMALL_STATE(113)] = 7845, - [SMALL_STATE(114)] = 7933, - [SMALL_STATE(115)] = 8021, - [SMALL_STATE(116)] = 8109, - [SMALL_STATE(117)] = 8197, - [SMALL_STATE(118)] = 8285, - [SMALL_STATE(119)] = 8373, - [SMALL_STATE(120)] = 8461, - [SMALL_STATE(121)] = 8549, - [SMALL_STATE(122)] = 8637, - [SMALL_STATE(123)] = 8725, - [SMALL_STATE(124)] = 8813, - [SMALL_STATE(125)] = 8901, - [SMALL_STATE(126)] = 8989, - [SMALL_STATE(127)] = 9077, - [SMALL_STATE(128)] = 9165, - [SMALL_STATE(129)] = 9253, - [SMALL_STATE(130)] = 9341, - [SMALL_STATE(131)] = 9429, - [SMALL_STATE(132)] = 9517, - [SMALL_STATE(133)] = 9605, - [SMALL_STATE(134)] = 9693, - [SMALL_STATE(135)] = 9781, - [SMALL_STATE(136)] = 9869, - [SMALL_STATE(137)] = 9957, - [SMALL_STATE(138)] = 10045, - [SMALL_STATE(139)] = 10133, - [SMALL_STATE(140)] = 10221, - [SMALL_STATE(141)] = 10309, - [SMALL_STATE(142)] = 10397, - [SMALL_STATE(143)] = 10485, - [SMALL_STATE(144)] = 10573, - [SMALL_STATE(145)] = 10661, - [SMALL_STATE(146)] = 10749, - [SMALL_STATE(147)] = 10837, - [SMALL_STATE(148)] = 10925, - [SMALL_STATE(149)] = 11013, - [SMALL_STATE(150)] = 11101, - [SMALL_STATE(151)] = 11189, - [SMALL_STATE(152)] = 11277, - [SMALL_STATE(153)] = 11365, - [SMALL_STATE(154)] = 11453, - [SMALL_STATE(155)] = 11541, - [SMALL_STATE(156)] = 11629, - [SMALL_STATE(157)] = 11717, - [SMALL_STATE(158)] = 11805, - [SMALL_STATE(159)] = 11893, - [SMALL_STATE(160)] = 11981, - [SMALL_STATE(161)] = 12069, - [SMALL_STATE(162)] = 12157, - [SMALL_STATE(163)] = 12245, - [SMALL_STATE(164)] = 12333, - [SMALL_STATE(165)] = 12421, - [SMALL_STATE(166)] = 12509, - [SMALL_STATE(167)] = 12597, - [SMALL_STATE(168)] = 12647, - [SMALL_STATE(169)] = 12699, - [SMALL_STATE(170)] = 12746, - [SMALL_STATE(171)] = 12793, - [SMALL_STATE(172)] = 12840, - [SMALL_STATE(173)] = 12887, - [SMALL_STATE(174)] = 12934, - [SMALL_STATE(175)] = 12981, - [SMALL_STATE(176)] = 13028, - [SMALL_STATE(177)] = 13075, - [SMALL_STATE(178)] = 13122, - [SMALL_STATE(179)] = 13169, - [SMALL_STATE(180)] = 13216, - [SMALL_STATE(181)] = 13263, - [SMALL_STATE(182)] = 13310, - [SMALL_STATE(183)] = 13357, - [SMALL_STATE(184)] = 13404, - [SMALL_STATE(185)] = 13451, - [SMALL_STATE(186)] = 13498, - [SMALL_STATE(187)] = 13545, - [SMALL_STATE(188)] = 13592, - [SMALL_STATE(189)] = 13639, - [SMALL_STATE(190)] = 13686, - [SMALL_STATE(191)] = 13733, - [SMALL_STATE(192)] = 13780, - [SMALL_STATE(193)] = 13827, - [SMALL_STATE(194)] = 13874, - [SMALL_STATE(195)] = 13921, - [SMALL_STATE(196)] = 13970, - [SMALL_STATE(197)] = 14016, - [SMALL_STATE(198)] = 14086, - [SMALL_STATE(199)] = 14156, - [SMALL_STATE(200)] = 14223, - [SMALL_STATE(201)] = 14282, - [SMALL_STATE(202)] = 14349, - [SMALL_STATE(203)] = 14410, - [SMALL_STATE(204)] = 14461, - [SMALL_STATE(205)] = 14512, - [SMALL_STATE(206)] = 14586, - [SMALL_STATE(207)] = 14660, - [SMALL_STATE(208)] = 14716, - [SMALL_STATE(209)] = 14772, - [SMALL_STATE(210)] = 14828, - [SMALL_STATE(211)] = 14884, - [SMALL_STATE(212)] = 14940, - [SMALL_STATE(213)] = 14996, - [SMALL_STATE(214)] = 15052, - [SMALL_STATE(215)] = 15108, - [SMALL_STATE(216)] = 15164, - [SMALL_STATE(217)] = 15220, - [SMALL_STATE(218)] = 15276, - [SMALL_STATE(219)] = 15332, - [SMALL_STATE(220)] = 15388, - [SMALL_STATE(221)] = 15444, - [SMALL_STATE(222)] = 15500, - [SMALL_STATE(223)] = 15556, - [SMALL_STATE(224)] = 15612, - [SMALL_STATE(225)] = 15668, - [SMALL_STATE(226)] = 15734, - [SMALL_STATE(227)] = 15800, - [SMALL_STATE(228)] = 15866, - [SMALL_STATE(229)] = 15923, - [SMALL_STATE(230)] = 15972, - [SMALL_STATE(231)] = 16033, - [SMALL_STATE(232)] = 16092, - [SMALL_STATE(233)] = 16147, - [SMALL_STATE(234)] = 16200, - [SMALL_STATE(235)] = 16245, - [SMALL_STATE(236)] = 16304, - [SMALL_STATE(237)] = 16345, - [SMALL_STATE(238)] = 16408, - [SMALL_STATE(239)] = 16457, - [SMALL_STATE(240)] = 16506, - [SMALL_STATE(241)] = 16568, - [SMALL_STATE(242)] = 16630, - [SMALL_STATE(243)] = 16692, - [SMALL_STATE(244)] = 16750, - [SMALL_STATE(245)] = 16798, - [SMALL_STATE(246)] = 16858, - [SMALL_STATE(247)] = 16916, - [SMALL_STATE(248)] = 16972, - [SMALL_STATE(249)] = 17026, - [SMALL_STATE(250)] = 17078, - [SMALL_STATE(251)] = 17122, - [SMALL_STATE(252)] = 17162, - [SMALL_STATE(253)] = 17224, - [SMALL_STATE(254)] = 17288, - [SMALL_STATE(255)] = 17352, - [SMALL_STATE(256)] = 17389, - [SMALL_STATE(257)] = 17448, - [SMALL_STATE(258)] = 17499, - [SMALL_STATE(259)] = 17548, - [SMALL_STATE(260)] = 17601, - [SMALL_STATE(261)] = 17662, - [SMALL_STATE(262)] = 17721, - [SMALL_STATE(263)] = 17780, - [SMALL_STATE(264)] = 17835, - [SMALL_STATE(265)] = 17876, - [SMALL_STATE(266)] = 17921, - [SMALL_STATE(267)] = 17978, - [SMALL_STATE(268)] = 18033, - [SMALL_STATE(269)] = 18092, - [SMALL_STATE(270)] = 18151, - [SMALL_STATE(271)] = 18212, - [SMALL_STATE(272)] = 18270, - [SMALL_STATE(273)] = 18328, - [SMALL_STATE(274)] = 18386, - [SMALL_STATE(275)] = 18444, - [SMALL_STATE(276)] = 18476, - [SMALL_STATE(277)] = 18510, - [SMALL_STATE(278)] = 18568, - [SMALL_STATE(279)] = 18626, - [SMALL_STATE(280)] = 18684, - [SMALL_STATE(281)] = 18742, - [SMALL_STATE(282)] = 18774, - [SMALL_STATE(283)] = 18832, - [SMALL_STATE(284)] = 18890, - [SMALL_STATE(285)] = 18948, - [SMALL_STATE(286)] = 19006, - [SMALL_STATE(287)] = 19064, - [SMALL_STATE(288)] = 19122, - [SMALL_STATE(289)] = 19180, - [SMALL_STATE(290)] = 19238, - [SMALL_STATE(291)] = 19296, - [SMALL_STATE(292)] = 19354, - [SMALL_STATE(293)] = 19412, - [SMALL_STATE(294)] = 19470, - [SMALL_STATE(295)] = 19528, - [SMALL_STATE(296)] = 19586, - [SMALL_STATE(297)] = 19644, - [SMALL_STATE(298)] = 19702, - [SMALL_STATE(299)] = 19760, - [SMALL_STATE(300)] = 19818, - [SMALL_STATE(301)] = 19876, - [SMALL_STATE(302)] = 19934, - [SMALL_STATE(303)] = 19992, - [SMALL_STATE(304)] = 20050, - [SMALL_STATE(305)] = 20108, - [SMALL_STATE(306)] = 20139, - [SMALL_STATE(307)] = 20170, - [SMALL_STATE(308)] = 20199, - [SMALL_STATE(309)] = 20228, - [SMALL_STATE(310)] = 20254, - [SMALL_STATE(311)] = 20280, - [SMALL_STATE(312)] = 20306, - [SMALL_STATE(313)] = 20332, - [SMALL_STATE(314)] = 20358, - [SMALL_STATE(315)] = 20384, - [SMALL_STATE(316)] = 20410, - [SMALL_STATE(317)] = 20436, - [SMALL_STATE(318)] = 20462, - [SMALL_STATE(319)] = 20488, - [SMALL_STATE(320)] = 20514, - [SMALL_STATE(321)] = 20540, - [SMALL_STATE(322)] = 20566, - [SMALL_STATE(323)] = 20592, - [SMALL_STATE(324)] = 20618, - [SMALL_STATE(325)] = 20644, - [SMALL_STATE(326)] = 20670, - [SMALL_STATE(327)] = 20696, - [SMALL_STATE(328)] = 20722, - [SMALL_STATE(329)] = 20748, - [SMALL_STATE(330)] = 20774, - [SMALL_STATE(331)] = 20800, - [SMALL_STATE(332)] = 20826, - [SMALL_STATE(333)] = 20852, - [SMALL_STATE(334)] = 20878, - [SMALL_STATE(335)] = 20903, - [SMALL_STATE(336)] = 20928, - [SMALL_STATE(337)] = 20953, - [SMALL_STATE(338)] = 20978, - [SMALL_STATE(339)] = 21001, - [SMALL_STATE(340)] = 21030, - [SMALL_STATE(341)] = 21059, - [SMALL_STATE(342)] = 21086, - [SMALL_STATE(343)] = 21115, - [SMALL_STATE(344)] = 21139, - [SMALL_STATE(345)] = 21163, - [SMALL_STATE(346)] = 21187, - [SMALL_STATE(347)] = 21211, - [SMALL_STATE(348)] = 21235, - [SMALL_STATE(349)] = 21259, - [SMALL_STATE(350)] = 21283, - [SMALL_STATE(351)] = 21307, - [SMALL_STATE(352)] = 21331, - [SMALL_STATE(353)] = 21355, - [SMALL_STATE(354)] = 21379, - [SMALL_STATE(355)] = 21414, - [SMALL_STATE(356)] = 21437, - [SMALL_STATE(357)] = 21459, - [SMALL_STATE(358)] = 21489, - [SMALL_STATE(359)] = 21511, - [SMALL_STATE(360)] = 21533, - [SMALL_STATE(361)] = 21563, - [SMALL_STATE(362)] = 21593, - [SMALL_STATE(363)] = 21615, - [SMALL_STATE(364)] = 21645, - [SMALL_STATE(365)] = 21660, - [SMALL_STATE(366)] = 21675, - [SMALL_STATE(367)] = 21699, - [SMALL_STATE(368)] = 21723, - [SMALL_STATE(369)] = 21747, - [SMALL_STATE(370)] = 21771, - [SMALL_STATE(371)] = 21789, - [SMALL_STATE(372)] = 21813, - [SMALL_STATE(373)] = 21833, - [SMALL_STATE(374)] = 21857, - [SMALL_STATE(375)] = 21881, - [SMALL_STATE(376)] = 21905, - [SMALL_STATE(377)] = 21929, - [SMALL_STATE(378)] = 21953, - [SMALL_STATE(379)] = 21968, - [SMALL_STATE(380)] = 21983, - [SMALL_STATE(381)] = 21998, - [SMALL_STATE(382)] = 22013, - [SMALL_STATE(383)] = 22032, - [SMALL_STATE(384)] = 22049, - [SMALL_STATE(385)] = 22062, - [SMALL_STATE(386)] = 22077, - [SMALL_STATE(387)] = 22094, - [SMALL_STATE(388)] = 22111, - [SMALL_STATE(389)] = 22128, - [SMALL_STATE(390)] = 22147, - [SMALL_STATE(391)] = 22164, - [SMALL_STATE(392)] = 22181, - [SMALL_STATE(393)] = 22198, - [SMALL_STATE(394)] = 22215, - [SMALL_STATE(395)] = 22225, - [SMALL_STATE(396)] = 22241, - [SMALL_STATE(397)] = 22255, - [SMALL_STATE(398)] = 22271, - [SMALL_STATE(399)] = 22287, - [SMALL_STATE(400)] = 22303, - [SMALL_STATE(401)] = 22319, - [SMALL_STATE(402)] = 22333, - [SMALL_STATE(403)] = 22347, - [SMALL_STATE(404)] = 22361, - [SMALL_STATE(405)] = 22375, - [SMALL_STATE(406)] = 22389, - [SMALL_STATE(407)] = 22405, - [SMALL_STATE(408)] = 22419, - [SMALL_STATE(409)] = 22435, - [SMALL_STATE(410)] = 22449, - [SMALL_STATE(411)] = 22465, - [SMALL_STATE(412)] = 22479, - [SMALL_STATE(413)] = 22495, - [SMALL_STATE(414)] = 22509, - [SMALL_STATE(415)] = 22525, - [SMALL_STATE(416)] = 22539, - [SMALL_STATE(417)] = 22555, - [SMALL_STATE(418)] = 22568, - [SMALL_STATE(419)] = 22581, - [SMALL_STATE(420)] = 22594, - [SMALL_STATE(421)] = 22607, - [SMALL_STATE(422)] = 22620, - [SMALL_STATE(423)] = 22629, - [SMALL_STATE(424)] = 22642, - [SMALL_STATE(425)] = 22655, - [SMALL_STATE(426)] = 22668, - [SMALL_STATE(427)] = 22681, - [SMALL_STATE(428)] = 22694, - [SMALL_STATE(429)] = 22707, - [SMALL_STATE(430)] = 22720, - [SMALL_STATE(431)] = 22729, - [SMALL_STATE(432)] = 22742, - [SMALL_STATE(433)] = 22755, - [SMALL_STATE(434)] = 22768, - [SMALL_STATE(435)] = 22781, - [SMALL_STATE(436)] = 22794, - [SMALL_STATE(437)] = 22807, - [SMALL_STATE(438)] = 22820, - [SMALL_STATE(439)] = 22833, - [SMALL_STATE(440)] = 22846, - [SMALL_STATE(441)] = 22859, - [SMALL_STATE(442)] = 22872, - [SMALL_STATE(443)] = 22883, - [SMALL_STATE(444)] = 22896, - [SMALL_STATE(445)] = 22909, - [SMALL_STATE(446)] = 22922, - [SMALL_STATE(447)] = 22935, - [SMALL_STATE(448)] = 22948, - [SMALL_STATE(449)] = 22961, - [SMALL_STATE(450)] = 22974, - [SMALL_STATE(451)] = 22987, - [SMALL_STATE(452)] = 22998, - [SMALL_STATE(453)] = 23011, - [SMALL_STATE(454)] = 23024, - [SMALL_STATE(455)] = 23037, - [SMALL_STATE(456)] = 23050, - [SMALL_STATE(457)] = 23063, - [SMALL_STATE(458)] = 23076, - [SMALL_STATE(459)] = 23089, - [SMALL_STATE(460)] = 23102, - [SMALL_STATE(461)] = 23115, - [SMALL_STATE(462)] = 23128, - [SMALL_STATE(463)] = 23136, - [SMALL_STATE(464)] = 23146, - [SMALL_STATE(465)] = 23156, - [SMALL_STATE(466)] = 23166, - [SMALL_STATE(467)] = 23176, - [SMALL_STATE(468)] = 23186, - [SMALL_STATE(469)] = 23196, - [SMALL_STATE(470)] = 23206, - [SMALL_STATE(471)] = 23214, - [SMALL_STATE(472)] = 23224, - [SMALL_STATE(473)] = 23234, - [SMALL_STATE(474)] = 23242, - [SMALL_STATE(475)] = 23252, - [SMALL_STATE(476)] = 23262, - [SMALL_STATE(477)] = 23270, - [SMALL_STATE(478)] = 23278, - [SMALL_STATE(479)] = 23288, - [SMALL_STATE(480)] = 23296, - [SMALL_STATE(481)] = 23304, - [SMALL_STATE(482)] = 23312, - [SMALL_STATE(483)] = 23320, - [SMALL_STATE(484)] = 23328, - [SMALL_STATE(485)] = 23336, - [SMALL_STATE(486)] = 23344, - [SMALL_STATE(487)] = 23352, - [SMALL_STATE(488)] = 23360, - [SMALL_STATE(489)] = 23370, - [SMALL_STATE(490)] = 23378, - [SMALL_STATE(491)] = 23386, - [SMALL_STATE(492)] = 23396, - [SMALL_STATE(493)] = 23404, - [SMALL_STATE(494)] = 23414, - [SMALL_STATE(495)] = 23424, - [SMALL_STATE(496)] = 23432, - [SMALL_STATE(497)] = 23442, - [SMALL_STATE(498)] = 23450, - [SMALL_STATE(499)] = 23458, - [SMALL_STATE(500)] = 23468, - [SMALL_STATE(501)] = 23476, - [SMALL_STATE(502)] = 23484, - [SMALL_STATE(503)] = 23491, - [SMALL_STATE(504)] = 23498, - [SMALL_STATE(505)] = 23505, - [SMALL_STATE(506)] = 23512, - [SMALL_STATE(507)] = 23519, - [SMALL_STATE(508)] = 23526, - [SMALL_STATE(509)] = 23533, - [SMALL_STATE(510)] = 23540, - [SMALL_STATE(511)] = 23547, - [SMALL_STATE(512)] = 23554, - [SMALL_STATE(513)] = 23561, - [SMALL_STATE(514)] = 23568, - [SMALL_STATE(515)] = 23575, - [SMALL_STATE(516)] = 23582, - [SMALL_STATE(517)] = 23589, - [SMALL_STATE(518)] = 23596, - [SMALL_STATE(519)] = 23603, - [SMALL_STATE(520)] = 23610, - [SMALL_STATE(521)] = 23617, - [SMALL_STATE(522)] = 23624, - [SMALL_STATE(523)] = 23631, - [SMALL_STATE(524)] = 23638, - [SMALL_STATE(525)] = 23645, - [SMALL_STATE(526)] = 23652, - [SMALL_STATE(527)] = 23659, - [SMALL_STATE(528)] = 23666, - [SMALL_STATE(529)] = 23673, - [SMALL_STATE(530)] = 23680, - [SMALL_STATE(531)] = 23687, - [SMALL_STATE(532)] = 23694, - [SMALL_STATE(533)] = 23701, - [SMALL_STATE(534)] = 23708, - [SMALL_STATE(535)] = 23715, - [SMALL_STATE(536)] = 23722, - [SMALL_STATE(537)] = 23729, - [SMALL_STATE(538)] = 23736, - [SMALL_STATE(539)] = 23743, - [SMALL_STATE(540)] = 23750, - [SMALL_STATE(541)] = 23757, - [SMALL_STATE(542)] = 23764, - [SMALL_STATE(543)] = 23771, - [SMALL_STATE(544)] = 23778, - [SMALL_STATE(545)] = 23785, - [SMALL_STATE(546)] = 23792, - [SMALL_STATE(547)] = 23799, - [SMALL_STATE(548)] = 23806, - [SMALL_STATE(549)] = 23813, - [SMALL_STATE(550)] = 23820, - [SMALL_STATE(551)] = 23827, - [SMALL_STATE(552)] = 23834, - [SMALL_STATE(553)] = 23841, - [SMALL_STATE(554)] = 23848, - [SMALL_STATE(555)] = 23855, - [SMALL_STATE(556)] = 23862, - [SMALL_STATE(557)] = 23869, - [SMALL_STATE(558)] = 23876, - [SMALL_STATE(559)] = 23883, - [SMALL_STATE(560)] = 23890, - [SMALL_STATE(561)] = 23897, - [SMALL_STATE(562)] = 23904, - [SMALL_STATE(563)] = 23911, - [SMALL_STATE(564)] = 23918, - [SMALL_STATE(565)] = 23925, - [SMALL_STATE(566)] = 23932, - [SMALL_STATE(567)] = 23939, - [SMALL_STATE(568)] = 23946, - [SMALL_STATE(569)] = 23953, - [SMALL_STATE(570)] = 23960, - [SMALL_STATE(571)] = 23967, - [SMALL_STATE(572)] = 23974, - [SMALL_STATE(573)] = 23981, - [SMALL_STATE(574)] = 23988, - [SMALL_STATE(575)] = 23995, - [SMALL_STATE(576)] = 24002, - [SMALL_STATE(577)] = 24009, - [SMALL_STATE(578)] = 24016, - [SMALL_STATE(579)] = 24023, - [SMALL_STATE(580)] = 24030, - [SMALL_STATE(581)] = 24037, - [SMALL_STATE(582)] = 24044, - [SMALL_STATE(583)] = 24051, - [SMALL_STATE(584)] = 24058, - [SMALL_STATE(585)] = 24065, - [SMALL_STATE(586)] = 24072, - [SMALL_STATE(587)] = 24079, - [SMALL_STATE(588)] = 24086, - [SMALL_STATE(589)] = 24093, - [SMALL_STATE(590)] = 24100, - [SMALL_STATE(591)] = 24107, - [SMALL_STATE(592)] = 24114, - [SMALL_STATE(593)] = 24121, - [SMALL_STATE(594)] = 24128, - [SMALL_STATE(595)] = 24135, - [SMALL_STATE(596)] = 24142, - [SMALL_STATE(597)] = 24149, - [SMALL_STATE(598)] = 24156, - [SMALL_STATE(599)] = 24163, - [SMALL_STATE(600)] = 24170, - [SMALL_STATE(601)] = 24177, - [SMALL_STATE(602)] = 24184, - [SMALL_STATE(603)] = 24191, - [SMALL_STATE(604)] = 24198, - [SMALL_STATE(605)] = 24205, - [SMALL_STATE(606)] = 24212, - [SMALL_STATE(607)] = 24219, - [SMALL_STATE(608)] = 24226, - [SMALL_STATE(609)] = 24233, - [SMALL_STATE(610)] = 24240, - [SMALL_STATE(611)] = 24247, - [SMALL_STATE(612)] = 24254, - [SMALL_STATE(613)] = 24261, - [SMALL_STATE(614)] = 24268, - [SMALL_STATE(615)] = 24275, - [SMALL_STATE(616)] = 24282, - [SMALL_STATE(617)] = 24289, - [SMALL_STATE(618)] = 24296, - [SMALL_STATE(619)] = 24303, - [SMALL_STATE(620)] = 24310, - [SMALL_STATE(621)] = 24317, - [SMALL_STATE(622)] = 24324, - [SMALL_STATE(623)] = 24331, - [SMALL_STATE(624)] = 24338, - [SMALL_STATE(625)] = 24345, - [SMALL_STATE(626)] = 24352, - [SMALL_STATE(627)] = 24359, - [SMALL_STATE(628)] = 24366, - [SMALL_STATE(629)] = 24373, + [SMALL_STATE(19)] = 0, + [SMALL_STATE(20)] = 92, + [SMALL_STATE(21)] = 156, + [SMALL_STATE(22)] = 220, + [SMALL_STATE(23)] = 291, + [SMALL_STATE(24)] = 406, + [SMALL_STATE(25)] = 471, + [SMALL_STATE(26)] = 542, + [SMALL_STATE(27)] = 603, + [SMALL_STATE(28)] = 664, + [SMALL_STATE(29)] = 725, + [SMALL_STATE(30)] = 786, + [SMALL_STATE(31)] = 847, + [SMALL_STATE(32)] = 908, + [SMALL_STATE(33)] = 969, + [SMALL_STATE(34)] = 1080, + [SMALL_STATE(35)] = 1141, + [SMALL_STATE(36)] = 1202, + [SMALL_STATE(37)] = 1263, + [SMALL_STATE(38)] = 1374, + [SMALL_STATE(39)] = 1485, + [SMALL_STATE(40)] = 1546, + [SMALL_STATE(41)] = 1607, + [SMALL_STATE(42)] = 1668, + [SMALL_STATE(43)] = 1729, + [SMALL_STATE(44)] = 1840, + [SMALL_STATE(45)] = 1901, + [SMALL_STATE(46)] = 2012, + [SMALL_STATE(47)] = 2123, + [SMALL_STATE(48)] = 2186, + [SMALL_STATE(49)] = 2247, + [SMALL_STATE(50)] = 2308, + [SMALL_STATE(51)] = 2369, + [SMALL_STATE(52)] = 2430, + [SMALL_STATE(53)] = 2491, + [SMALL_STATE(54)] = 2552, + [SMALL_STATE(55)] = 2613, + [SMALL_STATE(56)] = 2724, + [SMALL_STATE(57)] = 2835, + [SMALL_STATE(58)] = 2896, + [SMALL_STATE(59)] = 2957, + [SMALL_STATE(60)] = 3018, + [SMALL_STATE(61)] = 3123, + [SMALL_STATE(62)] = 3228, + [SMALL_STATE(63)] = 3310, + [SMALL_STATE(64)] = 3402, + [SMALL_STATE(65)] = 3498, + [SMALL_STATE(66)] = 3590, + [SMALL_STATE(67)] = 3674, + [SMALL_STATE(68)] = 3748, + [SMALL_STATE(69)] = 3836, + [SMALL_STATE(70)] = 3922, + [SMALL_STATE(71)] = 4014, + [SMALL_STATE(72)] = 4094, + [SMALL_STATE(73)] = 4172, + [SMALL_STATE(74)] = 4242, + [SMALL_STATE(75)] = 4308, + [SMALL_STATE(76)] = 4370, + [SMALL_STATE(77)] = 4432, + [SMALL_STATE(78)] = 4524, + [SMALL_STATE(79)] = 4616, + [SMALL_STATE(80)] = 4717, + [SMALL_STATE(81)] = 4810, + [SMALL_STATE(82)] = 4911, + [SMALL_STATE(83)] = 5012, + [SMALL_STATE(84)] = 5113, + [SMALL_STATE(85)] = 5214, + [SMALL_STATE(86)] = 5315, + [SMALL_STATE(87)] = 5416, + [SMALL_STATE(88)] = 5517, + [SMALL_STATE(89)] = 5615, + [SMALL_STATE(90)] = 5713, + [SMALL_STATE(91)] = 5811, + [SMALL_STATE(92)] = 5909, + [SMALL_STATE(93)] = 6007, + [SMALL_STATE(94)] = 6105, + [SMALL_STATE(95)] = 6203, + [SMALL_STATE(96)] = 6301, + [SMALL_STATE(97)] = 6399, + [SMALL_STATE(98)] = 6497, + [SMALL_STATE(99)] = 6595, + [SMALL_STATE(100)] = 6657, + [SMALL_STATE(101)] = 6755, + [SMALL_STATE(102)] = 6812, + [SMALL_STATE(103)] = 6907, + [SMALL_STATE(104)] = 7002, + [SMALL_STATE(105)] = 7097, + [SMALL_STATE(106)] = 7192, + [SMALL_STATE(107)] = 7287, + [SMALL_STATE(108)] = 7382, + [SMALL_STATE(109)] = 7477, + [SMALL_STATE(110)] = 7572, + [SMALL_STATE(111)] = 7667, + [SMALL_STATE(112)] = 7762, + [SMALL_STATE(113)] = 7857, + [SMALL_STATE(114)] = 7952, + [SMALL_STATE(115)] = 8047, + [SMALL_STATE(116)] = 8142, + [SMALL_STATE(117)] = 8237, + [SMALL_STATE(118)] = 8332, + [SMALL_STATE(119)] = 8389, + [SMALL_STATE(120)] = 8446, + [SMALL_STATE(121)] = 8541, + [SMALL_STATE(122)] = 8636, + [SMALL_STATE(123)] = 8731, + [SMALL_STATE(124)] = 8826, + [SMALL_STATE(125)] = 8921, + [SMALL_STATE(126)] = 9016, + [SMALL_STATE(127)] = 9111, + [SMALL_STATE(128)] = 9206, + [SMALL_STATE(129)] = 9301, + [SMALL_STATE(130)] = 9396, + [SMALL_STATE(131)] = 9491, + [SMALL_STATE(132)] = 9586, + [SMALL_STATE(133)] = 9681, + [SMALL_STATE(134)] = 9776, + [SMALL_STATE(135)] = 9871, + [SMALL_STATE(136)] = 9966, + [SMALL_STATE(137)] = 10061, + [SMALL_STATE(138)] = 10156, + [SMALL_STATE(139)] = 10251, + [SMALL_STATE(140)] = 10346, + [SMALL_STATE(141)] = 10441, + [SMALL_STATE(142)] = 10536, + [SMALL_STATE(143)] = 10631, + [SMALL_STATE(144)] = 10726, + [SMALL_STATE(145)] = 10821, + [SMALL_STATE(146)] = 10916, + [SMALL_STATE(147)] = 11011, + [SMALL_STATE(148)] = 11106, + [SMALL_STATE(149)] = 11201, + [SMALL_STATE(150)] = 11296, + [SMALL_STATE(151)] = 11391, + [SMALL_STATE(152)] = 11486, + [SMALL_STATE(153)] = 11581, + [SMALL_STATE(154)] = 11676, + [SMALL_STATE(155)] = 11771, + [SMALL_STATE(156)] = 11866, + [SMALL_STATE(157)] = 11961, + [SMALL_STATE(158)] = 12056, + [SMALL_STATE(159)] = 12151, + [SMALL_STATE(160)] = 12246, + [SMALL_STATE(161)] = 12341, + [SMALL_STATE(162)] = 12436, + [SMALL_STATE(163)] = 12531, + [SMALL_STATE(164)] = 12626, + [SMALL_STATE(165)] = 12721, + [SMALL_STATE(166)] = 12816, + [SMALL_STATE(167)] = 12911, + [SMALL_STATE(168)] = 13006, + [SMALL_STATE(169)] = 13101, + [SMALL_STATE(170)] = 13196, + [SMALL_STATE(171)] = 13291, + [SMALL_STATE(172)] = 13386, + [SMALL_STATE(173)] = 13481, + [SMALL_STATE(174)] = 13576, + [SMALL_STATE(175)] = 13671, + [SMALL_STATE(176)] = 13766, + [SMALL_STATE(177)] = 13861, + [SMALL_STATE(178)] = 13956, + [SMALL_STATE(179)] = 14051, + [SMALL_STATE(180)] = 14146, + [SMALL_STATE(181)] = 14241, + [SMALL_STATE(182)] = 14336, + [SMALL_STATE(183)] = 14431, + [SMALL_STATE(184)] = 14526, + [SMALL_STATE(185)] = 14621, + [SMALL_STATE(186)] = 14716, + [SMALL_STATE(187)] = 14811, + [SMALL_STATE(188)] = 14906, + [SMALL_STATE(189)] = 15001, + [SMALL_STATE(190)] = 15096, + [SMALL_STATE(191)] = 15191, + [SMALL_STATE(192)] = 15286, + [SMALL_STATE(193)] = 15381, + [SMALL_STATE(194)] = 15476, + [SMALL_STATE(195)] = 15571, + [SMALL_STATE(196)] = 15666, + [SMALL_STATE(197)] = 15761, + [SMALL_STATE(198)] = 15856, + [SMALL_STATE(199)] = 15951, + [SMALL_STATE(200)] = 16046, + [SMALL_STATE(201)] = 16141, + [SMALL_STATE(202)] = 16236, + [SMALL_STATE(203)] = 16331, + [SMALL_STATE(204)] = 16426, + [SMALL_STATE(205)] = 16521, + [SMALL_STATE(206)] = 16616, + [SMALL_STATE(207)] = 16711, + [SMALL_STATE(208)] = 16806, + [SMALL_STATE(209)] = 16901, + [SMALL_STATE(210)] = 16996, + [SMALL_STATE(211)] = 17091, + [SMALL_STATE(212)] = 17186, + [SMALL_STATE(213)] = 17281, + [SMALL_STATE(214)] = 17376, + [SMALL_STATE(215)] = 17471, + [SMALL_STATE(216)] = 17566, + [SMALL_STATE(217)] = 17661, + [SMALL_STATE(218)] = 17756, + [SMALL_STATE(219)] = 17851, + [SMALL_STATE(220)] = 17946, + [SMALL_STATE(221)] = 18041, + [SMALL_STATE(222)] = 18136, + [SMALL_STATE(223)] = 18231, + [SMALL_STATE(224)] = 18326, + [SMALL_STATE(225)] = 18421, + [SMALL_STATE(226)] = 18516, + [SMALL_STATE(227)] = 18611, + [SMALL_STATE(228)] = 18706, + [SMALL_STATE(229)] = 18801, + [SMALL_STATE(230)] = 18896, + [SMALL_STATE(231)] = 18991, + [SMALL_STATE(232)] = 19086, + [SMALL_STATE(233)] = 19181, + [SMALL_STATE(234)] = 19276, + [SMALL_STATE(235)] = 19371, + [SMALL_STATE(236)] = 19466, + [SMALL_STATE(237)] = 19561, + [SMALL_STATE(238)] = 19656, + [SMALL_STATE(239)] = 19751, + [SMALL_STATE(240)] = 19846, + [SMALL_STATE(241)] = 19941, + [SMALL_STATE(242)] = 20036, + [SMALL_STATE(243)] = 20131, + [SMALL_STATE(244)] = 20226, + [SMALL_STATE(245)] = 20321, + [SMALL_STATE(246)] = 20416, + [SMALL_STATE(247)] = 20511, + [SMALL_STATE(248)] = 20606, + [SMALL_STATE(249)] = 20701, + [SMALL_STATE(250)] = 20796, + [SMALL_STATE(251)] = 20891, + [SMALL_STATE(252)] = 20986, + [SMALL_STATE(253)] = 21081, + [SMALL_STATE(254)] = 21176, + [SMALL_STATE(255)] = 21271, + [SMALL_STATE(256)] = 21366, + [SMALL_STATE(257)] = 21461, + [SMALL_STATE(258)] = 21556, + [SMALL_STATE(259)] = 21651, + [SMALL_STATE(260)] = 21746, + [SMALL_STATE(261)] = 21841, + [SMALL_STATE(262)] = 21936, + [SMALL_STATE(263)] = 22031, + [SMALL_STATE(264)] = 22126, + [SMALL_STATE(265)] = 22221, + [SMALL_STATE(266)] = 22316, + [SMALL_STATE(267)] = 22411, + [SMALL_STATE(268)] = 22506, + [SMALL_STATE(269)] = 22601, + [SMALL_STATE(270)] = 22696, + [SMALL_STATE(271)] = 22791, + [SMALL_STATE(272)] = 22886, + [SMALL_STATE(273)] = 22940, + [SMALL_STATE(274)] = 22996, + [SMALL_STATE(275)] = 23050, + [SMALL_STATE(276)] = 23104, + [SMALL_STATE(277)] = 23158, + [SMALL_STATE(278)] = 23212, + [SMALL_STATE(279)] = 23266, + [SMALL_STATE(280)] = 23320, + [SMALL_STATE(281)] = 23374, + [SMALL_STATE(282)] = 23428, + [SMALL_STATE(283)] = 23482, + [SMALL_STATE(284)] = 23536, + [SMALL_STATE(285)] = 23590, + [SMALL_STATE(286)] = 23644, + [SMALL_STATE(287)] = 23698, + [SMALL_STATE(288)] = 23752, + [SMALL_STATE(289)] = 23806, + [SMALL_STATE(290)] = 23860, + [SMALL_STATE(291)] = 23914, + [SMALL_STATE(292)] = 23968, + [SMALL_STATE(293)] = 24022, + [SMALL_STATE(294)] = 24076, + [SMALL_STATE(295)] = 24130, + [SMALL_STATE(296)] = 24184, + [SMALL_STATE(297)] = 24238, + [SMALL_STATE(298)] = 24292, + [SMALL_STATE(299)] = 24346, + [SMALL_STATE(300)] = 24400, + [SMALL_STATE(301)] = 24454, + [SMALL_STATE(302)] = 24508, + [SMALL_STATE(303)] = 24562, + [SMALL_STATE(304)] = 24616, + [SMALL_STATE(305)] = 24670, + [SMALL_STATE(306)] = 24724, + [SMALL_STATE(307)] = 24778, + [SMALL_STATE(308)] = 24832, + [SMALL_STATE(309)] = 24886, + [SMALL_STATE(310)] = 24940, + [SMALL_STATE(311)] = 24994, + [SMALL_STATE(312)] = 25048, + [SMALL_STATE(313)] = 25102, + [SMALL_STATE(314)] = 25156, + [SMALL_STATE(315)] = 25210, + [SMALL_STATE(316)] = 25264, + [SMALL_STATE(317)] = 25318, + [SMALL_STATE(318)] = 25372, + [SMALL_STATE(319)] = 25426, + [SMALL_STATE(320)] = 25480, + [SMALL_STATE(321)] = 25534, + [SMALL_STATE(322)] = 25588, + [SMALL_STATE(323)] = 25641, + [SMALL_STATE(324)] = 25694, + [SMALL_STATE(325)] = 25772, + [SMALL_STATE(326)] = 25842, + [SMALL_STATE(327)] = 25912, + [SMALL_STATE(328)] = 25984, + [SMALL_STATE(329)] = 26058, + [SMALL_STATE(330)] = 26132, + [SMALL_STATE(331)] = 26206, + [SMALL_STATE(332)] = 26280, + [SMALL_STATE(333)] = 26351, + [SMALL_STATE(334)] = 26422, + [SMALL_STATE(335)] = 26493, + [SMALL_STATE(336)] = 26564, + [SMALL_STATE(337)] = 26617, + [SMALL_STATE(338)] = 26670, + [SMALL_STATE(339)] = 26748, + [SMALL_STATE(340)] = 26826, + [SMALL_STATE(341)] = 26889, + [SMALL_STATE(342)] = 26952, + [SMALL_STATE(343)] = 26998, + [SMALL_STATE(344)] = 27066, + [SMALL_STATE(345)] = 27124, + [SMALL_STATE(346)] = 27184, + [SMALL_STATE(347)] = 27256, + [SMALL_STATE(348)] = 27316, + [SMALL_STATE(349)] = 27386, + [SMALL_STATE(350)] = 27446, + [SMALL_STATE(351)] = 27506, + [SMALL_STATE(352)] = 27566, + [SMALL_STATE(353)] = 27626, + [SMALL_STATE(354)] = 27686, + [SMALL_STATE(355)] = 27752, + [SMALL_STATE(356)] = 27816, + [SMALL_STATE(357)] = 27878, + [SMALL_STATE(358)] = 27938, + [SMALL_STATE(359)] = 27998, + [SMALL_STATE(360)] = 28058, + [SMALL_STATE(361)] = 28112, + [SMALL_STATE(362)] = 28162, + [SMALL_STATE(363)] = 28208, + [SMALL_STATE(364)] = 28268, + [SMALL_STATE(365)] = 28344, + [SMALL_STATE(366)] = 28420, + [SMALL_STATE(367)] = 28480, + [SMALL_STATE(368)] = 28540, + [SMALL_STATE(369)] = 28600, + [SMALL_STATE(370)] = 28660, + [SMALL_STATE(371)] = 28720, + [SMALL_STATE(372)] = 28780, + [SMALL_STATE(373)] = 28840, + [SMALL_STATE(374)] = 28900, + [SMALL_STATE(375)] = 28976, + [SMALL_STATE(376)] = 29036, + [SMALL_STATE(377)] = 29096, + [SMALL_STATE(378)] = 29156, + [SMALL_STATE(379)] = 29216, + [SMALL_STATE(380)] = 29292, + [SMALL_STATE(381)] = 29352, + [SMALL_STATE(382)] = 29412, + [SMALL_STATE(383)] = 29472, + [SMALL_STATE(384)] = 29532, + [SMALL_STATE(385)] = 29592, + [SMALL_STATE(386)] = 29652, + [SMALL_STATE(387)] = 29712, + [SMALL_STATE(388)] = 29772, + [SMALL_STATE(389)] = 29832, + [SMALL_STATE(390)] = 29908, + [SMALL_STATE(391)] = 29968, + [SMALL_STATE(392)] = 30017, + [SMALL_STATE(393)] = 30060, + [SMALL_STATE(394)] = 30109, + [SMALL_STATE(395)] = 30158, + [SMALL_STATE(396)] = 30207, + [SMALL_STATE(397)] = 30277, + [SMALL_STATE(398)] = 30347, + [SMALL_STATE(399)] = 30417, + [SMALL_STATE(400)] = 30487, + [SMALL_STATE(401)] = 30557, + [SMALL_STATE(402)] = 30620, + [SMALL_STATE(403)] = 30673, + [SMALL_STATE(404)] = 30712, + [SMALL_STATE(405)] = 30751, + [SMALL_STATE(406)] = 30790, + [SMALL_STATE(407)] = 30829, + [SMALL_STATE(408)] = 30902, + [SMALL_STATE(409)] = 30941, + [SMALL_STATE(410)] = 30980, + [SMALL_STATE(411)] = 31019, + [SMALL_STATE(412)] = 31058, + [SMALL_STATE(413)] = 31097, + [SMALL_STATE(414)] = 31136, + [SMALL_STATE(415)] = 31175, + [SMALL_STATE(416)] = 31228, + [SMALL_STATE(417)] = 31267, + [SMALL_STATE(418)] = 31306, + [SMALL_STATE(419)] = 31345, + [SMALL_STATE(420)] = 31384, + [SMALL_STATE(421)] = 31423, + [SMALL_STATE(422)] = 31462, + [SMALL_STATE(423)] = 31501, + [SMALL_STATE(424)] = 31574, + [SMALL_STATE(425)] = 31613, + [SMALL_STATE(426)] = 31652, + [SMALL_STATE(427)] = 31691, + [SMALL_STATE(428)] = 31730, + [SMALL_STATE(429)] = 31803, + [SMALL_STATE(430)] = 31842, + [SMALL_STATE(431)] = 31881, + [SMALL_STATE(432)] = 31920, + [SMALL_STATE(433)] = 31993, + [SMALL_STATE(434)] = 32066, + [SMALL_STATE(435)] = 32119, + [SMALL_STATE(436)] = 32192, + [SMALL_STATE(437)] = 32263, + [SMALL_STATE(438)] = 32328, + [SMALL_STATE(439)] = 32383, + [SMALL_STATE(440)] = 32450, + [SMALL_STATE(441)] = 32515, + [SMALL_STATE(442)] = 32578, + [SMALL_STATE(443)] = 32639, + [SMALL_STATE(444)] = 32698, + [SMALL_STATE(445)] = 32749, + [SMALL_STATE(446)] = 32796, + [SMALL_STATE(447)] = 32839, + [SMALL_STATE(448)] = 32882, + [SMALL_STATE(449)] = 32953, + [SMALL_STATE(450)] = 33026, + [SMALL_STATE(451)] = 33091, + [SMALL_STATE(452)] = 33146, + [SMALL_STATE(453)] = 33215, + [SMALL_STATE(454)] = 33282, + [SMALL_STATE(455)] = 33345, + [SMALL_STATE(456)] = 33406, + [SMALL_STATE(457)] = 33465, + [SMALL_STATE(458)] = 33516, + [SMALL_STATE(459)] = 33563, + [SMALL_STATE(460)] = 33606, + [SMALL_STATE(461)] = 33649, + [SMALL_STATE(462)] = 33722, + [SMALL_STATE(463)] = 33775, + [SMALL_STATE(464)] = 33848, + [SMALL_STATE(465)] = 33913, + [SMALL_STATE(466)] = 33968, + [SMALL_STATE(467)] = 34037, + [SMALL_STATE(468)] = 34104, + [SMALL_STATE(469)] = 34165, + [SMALL_STATE(470)] = 34224, + [SMALL_STATE(471)] = 34275, + [SMALL_STATE(472)] = 34322, + [SMALL_STATE(473)] = 34365, + [SMALL_STATE(474)] = 34408, + [SMALL_STATE(475)] = 34481, + [SMALL_STATE(476)] = 34522, + [SMALL_STATE(477)] = 34561, + [SMALL_STATE(478)] = 34600, + [SMALL_STATE(479)] = 34673, + [SMALL_STATE(480)] = 34746, + [SMALL_STATE(481)] = 34819, + [SMALL_STATE(482)] = 34892, + [SMALL_STATE(483)] = 34936, + [SMALL_STATE(484)] = 35004, + [SMALL_STATE(485)] = 35072, + [SMALL_STATE(486)] = 35134, + [SMALL_STATE(487)] = 35186, + [SMALL_STATE(488)] = 35252, + [SMALL_STATE(489)] = 35316, + [SMALL_STATE(490)] = 35376, + [SMALL_STATE(491)] = 35434, + [SMALL_STATE(492)] = 35490, + [SMALL_STATE(493)] = 35538, + [SMALL_STATE(494)] = 35606, + [SMALL_STATE(495)] = 35646, + [SMALL_STATE(496)] = 35686, + [SMALL_STATE(497)] = 35754, + [SMALL_STATE(498)] = 35822, + [SMALL_STATE(499)] = 35890, + [SMALL_STATE(500)] = 35960, + [SMALL_STATE(501)] = 36022, + [SMALL_STATE(502)] = 36074, + [SMALL_STATE(503)] = 36144, + [SMALL_STATE(504)] = 36214, + [SMALL_STATE(505)] = 36278, + [SMALL_STATE(506)] = 36340, + [SMALL_STATE(507)] = 36408, + [SMALL_STATE(508)] = 36468, + [SMALL_STATE(509)] = 36526, + [SMALL_STATE(510)] = 36582, + [SMALL_STATE(511)] = 36630, + [SMALL_STATE(512)] = 36674, + [SMALL_STATE(513)] = 36742, + [SMALL_STATE(514)] = 36810, + [SMALL_STATE(515)] = 36850, + [SMALL_STATE(516)] = 36890, + [SMALL_STATE(517)] = 36960, + [SMALL_STATE(518)] = 37027, + [SMALL_STATE(519)] = 37094, + [SMALL_STATE(520)] = 37161, + [SMALL_STATE(521)] = 37228, + [SMALL_STATE(522)] = 37295, + [SMALL_STATE(523)] = 37362, + [SMALL_STATE(524)] = 37429, + [SMALL_STATE(525)] = 37496, + [SMALL_STATE(526)] = 37563, + [SMALL_STATE(527)] = 37630, + [SMALL_STATE(528)] = 37697, + [SMALL_STATE(529)] = 37764, + [SMALL_STATE(530)] = 37831, + [SMALL_STATE(531)] = 37898, + [SMALL_STATE(532)] = 37965, + [SMALL_STATE(533)] = 38032, + [SMALL_STATE(534)] = 38099, + [SMALL_STATE(535)] = 38166, + [SMALL_STATE(536)] = 38233, + [SMALL_STATE(537)] = 38300, + [SMALL_STATE(538)] = 38367, + [SMALL_STATE(539)] = 38434, + [SMALL_STATE(540)] = 38501, + [SMALL_STATE(541)] = 38568, + [SMALL_STATE(542)] = 38635, + [SMALL_STATE(543)] = 38702, + [SMALL_STATE(544)] = 38769, + [SMALL_STATE(545)] = 38836, + [SMALL_STATE(546)] = 38903, + [SMALL_STATE(547)] = 38970, + [SMALL_STATE(548)] = 39037, + [SMALL_STATE(549)] = 39104, + [SMALL_STATE(550)] = 39171, + [SMALL_STATE(551)] = 39238, + [SMALL_STATE(552)] = 39305, + [SMALL_STATE(553)] = 39372, + [SMALL_STATE(554)] = 39439, + [SMALL_STATE(555)] = 39506, + [SMALL_STATE(556)] = 39573, + [SMALL_STATE(557)] = 39640, + [SMALL_STATE(558)] = 39707, + [SMALL_STATE(559)] = 39774, + [SMALL_STATE(560)] = 39841, + [SMALL_STATE(561)] = 39908, + [SMALL_STATE(562)] = 39975, + [SMALL_STATE(563)] = 40042, + [SMALL_STATE(564)] = 40109, + [SMALL_STATE(565)] = 40176, + [SMALL_STATE(566)] = 40243, + [SMALL_STATE(567)] = 40310, + [SMALL_STATE(568)] = 40377, + [SMALL_STATE(569)] = 40444, + [SMALL_STATE(570)] = 40511, + [SMALL_STATE(571)] = 40544, + [SMALL_STATE(572)] = 40577, + [SMALL_STATE(573)] = 40612, + [SMALL_STATE(574)] = 40644, + [SMALL_STATE(575)] = 40676, + [SMALL_STATE(576)] = 40706, + [SMALL_STATE(577)] = 40736, + [SMALL_STATE(578)] = 40766, + [SMALL_STATE(579)] = 40796, + [SMALL_STATE(580)] = 40826, + [SMALL_STATE(581)] = 40856, + [SMALL_STATE(582)] = 40886, + [SMALL_STATE(583)] = 40916, + [SMALL_STATE(584)] = 40946, + [SMALL_STATE(585)] = 40976, + [SMALL_STATE(586)] = 41006, + [SMALL_STATE(587)] = 41036, + [SMALL_STATE(588)] = 41066, + [SMALL_STATE(589)] = 41096, + [SMALL_STATE(590)] = 41126, + [SMALL_STATE(591)] = 41156, + [SMALL_STATE(592)] = 41186, + [SMALL_STATE(593)] = 41216, + [SMALL_STATE(594)] = 41246, + [SMALL_STATE(595)] = 41276, + [SMALL_STATE(596)] = 41306, + [SMALL_STATE(597)] = 41336, + [SMALL_STATE(598)] = 41366, + [SMALL_STATE(599)] = 41396, + [SMALL_STATE(600)] = 41426, + [SMALL_STATE(601)] = 41456, + [SMALL_STATE(602)] = 41486, + [SMALL_STATE(603)] = 41516, + [SMALL_STATE(604)] = 41546, + [SMALL_STATE(605)] = 41576, + [SMALL_STATE(606)] = 41606, + [SMALL_STATE(607)] = 41636, + [SMALL_STATE(608)] = 41666, + [SMALL_STATE(609)] = 41696, + [SMALL_STATE(610)] = 41726, + [SMALL_STATE(611)] = 41756, + [SMALL_STATE(612)] = 41786, + [SMALL_STATE(613)] = 41816, + [SMALL_STATE(614)] = 41846, + [SMALL_STATE(615)] = 41876, + [SMALL_STATE(616)] = 41906, + [SMALL_STATE(617)] = 41936, + [SMALL_STATE(618)] = 41966, + [SMALL_STATE(619)] = 41995, + [SMALL_STATE(620)] = 42024, + [SMALL_STATE(621)] = 42053, + [SMALL_STATE(622)] = 42082, + [SMALL_STATE(623)] = 42111, + [SMALL_STATE(624)] = 42140, + [SMALL_STATE(625)] = 42167, + [SMALL_STATE(626)] = 42199, + [SMALL_STATE(627)] = 42224, + [SMALL_STATE(628)] = 42249, + [SMALL_STATE(629)] = 42274, + [SMALL_STATE(630)] = 42299, + [SMALL_STATE(631)] = 42324, + [SMALL_STATE(632)] = 42349, + [SMALL_STATE(633)] = 42374, + [SMALL_STATE(634)] = 42399, + [SMALL_STATE(635)] = 42424, + [SMALL_STATE(636)] = 42449, + [SMALL_STATE(637)] = 42488, + [SMALL_STATE(638)] = 42513, + [SMALL_STATE(639)] = 42538, + [SMALL_STATE(640)] = 42563, + [SMALL_STATE(641)] = 42588, + [SMALL_STATE(642)] = 42613, + [SMALL_STATE(643)] = 42638, + [SMALL_STATE(644)] = 42663, + [SMALL_STATE(645)] = 42688, + [SMALL_STATE(646)] = 42712, + [SMALL_STATE(647)] = 42739, + [SMALL_STATE(648)] = 42766, + [SMALL_STATE(649)] = 42793, + [SMALL_STATE(650)] = 42827, + [SMALL_STATE(651)] = 42861, + [SMALL_STATE(652)] = 42895, + [SMALL_STATE(653)] = 42929, + [SMALL_STATE(654)] = 42952, + [SMALL_STATE(655)] = 42975, + [SMALL_STATE(656)] = 42998, + [SMALL_STATE(657)] = 43021, + [SMALL_STATE(658)] = 43049, + [SMALL_STATE(659)] = 43077, + [SMALL_STATE(660)] = 43105, + [SMALL_STATE(661)] = 43133, + [SMALL_STATE(662)] = 43149, + [SMALL_STATE(663)] = 43177, + [SMALL_STATE(664)] = 43205, + [SMALL_STATE(665)] = 43233, + [SMALL_STATE(666)] = 43261, + [SMALL_STATE(667)] = 43277, + [SMALL_STATE(668)] = 43305, + [SMALL_STATE(669)] = 43333, + [SMALL_STATE(670)] = 43351, + [SMALL_STATE(671)] = 43371, + [SMALL_STATE(672)] = 43395, + [SMALL_STATE(673)] = 43417, + [SMALL_STATE(674)] = 43437, + [SMALL_STATE(675)] = 43458, + [SMALL_STATE(676)] = 43473, + [SMALL_STATE(677)] = 43488, + [SMALL_STATE(678)] = 43509, + [SMALL_STATE(679)] = 43524, + [SMALL_STATE(680)] = 43545, + [SMALL_STATE(681)] = 43566, + [SMALL_STATE(682)] = 43587, + [SMALL_STATE(683)] = 43608, + [SMALL_STATE(684)] = 43629, + [SMALL_STATE(685)] = 43644, + [SMALL_STATE(686)] = 43659, + [SMALL_STATE(687)] = 43674, + [SMALL_STATE(688)] = 43689, + [SMALL_STATE(689)] = 43710, + [SMALL_STATE(690)] = 43726, + [SMALL_STATE(691)] = 43748, + [SMALL_STATE(692)] = 43770, + [SMALL_STATE(693)] = 43792, + [SMALL_STATE(694)] = 43814, + [SMALL_STATE(695)] = 43830, + [SMALL_STATE(696)] = 43846, + [SMALL_STATE(697)] = 43862, + [SMALL_STATE(698)] = 43878, + [SMALL_STATE(699)] = 43894, + [SMALL_STATE(700)] = 43913, + [SMALL_STATE(701)] = 43928, + [SMALL_STATE(702)] = 43947, + [SMALL_STATE(703)] = 43966, + [SMALL_STATE(704)] = 43985, + [SMALL_STATE(705)] = 44004, + [SMALL_STATE(706)] = 44021, + [SMALL_STATE(707)] = 44032, + [SMALL_STATE(708)] = 44051, + [SMALL_STATE(709)] = 44065, + [SMALL_STATE(710)] = 44081, + [SMALL_STATE(711)] = 44095, + [SMALL_STATE(712)] = 44109, + [SMALL_STATE(713)] = 44123, + [SMALL_STATE(714)] = 44139, + [SMALL_STATE(715)] = 44155, + [SMALL_STATE(716)] = 44171, + [SMALL_STATE(717)] = 44187, + [SMALL_STATE(718)] = 44201, + [SMALL_STATE(719)] = 44217, + [SMALL_STATE(720)] = 44231, + [SMALL_STATE(721)] = 44247, + [SMALL_STATE(722)] = 44263, + [SMALL_STATE(723)] = 44277, + [SMALL_STATE(724)] = 44287, + [SMALL_STATE(725)] = 44301, + [SMALL_STATE(726)] = 44317, + [SMALL_STATE(727)] = 44327, + [SMALL_STATE(728)] = 44341, + [SMALL_STATE(729)] = 44355, + [SMALL_STATE(730)] = 44371, + [SMALL_STATE(731)] = 44385, + [SMALL_STATE(732)] = 44399, + [SMALL_STATE(733)] = 44415, + [SMALL_STATE(734)] = 44429, + [SMALL_STATE(735)] = 44442, + [SMALL_STATE(736)] = 44453, + [SMALL_STATE(737)] = 44466, + [SMALL_STATE(738)] = 44479, + [SMALL_STATE(739)] = 44492, + [SMALL_STATE(740)] = 44505, + [SMALL_STATE(741)] = 44518, + [SMALL_STATE(742)] = 44531, + [SMALL_STATE(743)] = 44544, + [SMALL_STATE(744)] = 44557, + [SMALL_STATE(745)] = 44570, + [SMALL_STATE(746)] = 44583, + [SMALL_STATE(747)] = 44596, + [SMALL_STATE(748)] = 44609, + [SMALL_STATE(749)] = 44622, + [SMALL_STATE(750)] = 44635, + [SMALL_STATE(751)] = 44648, + [SMALL_STATE(752)] = 44661, + [SMALL_STATE(753)] = 44670, + [SMALL_STATE(754)] = 44683, + [SMALL_STATE(755)] = 44696, + [SMALL_STATE(756)] = 44709, + [SMALL_STATE(757)] = 44718, + [SMALL_STATE(758)] = 44727, + [SMALL_STATE(759)] = 44740, + [SMALL_STATE(760)] = 44753, + [SMALL_STATE(761)] = 44766, + [SMALL_STATE(762)] = 44779, + [SMALL_STATE(763)] = 44792, + [SMALL_STATE(764)] = 44805, + [SMALL_STATE(765)] = 44818, + [SMALL_STATE(766)] = 44831, + [SMALL_STATE(767)] = 44844, + [SMALL_STATE(768)] = 44857, + [SMALL_STATE(769)] = 44866, + [SMALL_STATE(770)] = 44879, + [SMALL_STATE(771)] = 44892, + [SMALL_STATE(772)] = 44905, + [SMALL_STATE(773)] = 44918, + [SMALL_STATE(774)] = 44931, + [SMALL_STATE(775)] = 44944, + [SMALL_STATE(776)] = 44957, + [SMALL_STATE(777)] = 44970, + [SMALL_STATE(778)] = 44983, + [SMALL_STATE(779)] = 44996, + [SMALL_STATE(780)] = 45009, + [SMALL_STATE(781)] = 45018, + [SMALL_STATE(782)] = 45031, + [SMALL_STATE(783)] = 45044, + [SMALL_STATE(784)] = 45057, + [SMALL_STATE(785)] = 45066, + [SMALL_STATE(786)] = 45079, + [SMALL_STATE(787)] = 45092, + [SMALL_STATE(788)] = 45105, + [SMALL_STATE(789)] = 45118, + [SMALL_STATE(790)] = 45131, + [SMALL_STATE(791)] = 45144, + [SMALL_STATE(792)] = 45157, + [SMALL_STATE(793)] = 45170, + [SMALL_STATE(794)] = 45183, + [SMALL_STATE(795)] = 45194, + [SMALL_STATE(796)] = 45207, + [SMALL_STATE(797)] = 45220, + [SMALL_STATE(798)] = 45230, + [SMALL_STATE(799)] = 45240, + [SMALL_STATE(800)] = 45250, + [SMALL_STATE(801)] = 45258, + [SMALL_STATE(802)] = 45266, + [SMALL_STATE(803)] = 45276, + [SMALL_STATE(804)] = 45286, + [SMALL_STATE(805)] = 45296, + [SMALL_STATE(806)] = 45306, + [SMALL_STATE(807)] = 45316, + [SMALL_STATE(808)] = 45324, + [SMALL_STATE(809)] = 45334, + [SMALL_STATE(810)] = 45344, + [SMALL_STATE(811)] = 45352, + [SMALL_STATE(812)] = 45362, + [SMALL_STATE(813)] = 45372, + [SMALL_STATE(814)] = 45380, + [SMALL_STATE(815)] = 45388, + [SMALL_STATE(816)] = 45396, + [SMALL_STATE(817)] = 45404, + [SMALL_STATE(818)] = 45414, + [SMALL_STATE(819)] = 45424, + [SMALL_STATE(820)] = 45434, + [SMALL_STATE(821)] = 45444, + [SMALL_STATE(822)] = 45452, + [SMALL_STATE(823)] = 45460, + [SMALL_STATE(824)] = 45468, + [SMALL_STATE(825)] = 45476, + [SMALL_STATE(826)] = 45486, + [SMALL_STATE(827)] = 45494, + [SMALL_STATE(828)] = 45504, + [SMALL_STATE(829)] = 45514, + [SMALL_STATE(830)] = 45524, + [SMALL_STATE(831)] = 45532, + [SMALL_STATE(832)] = 45542, + [SMALL_STATE(833)] = 45550, + [SMALL_STATE(834)] = 45558, + [SMALL_STATE(835)] = 45568, + [SMALL_STATE(836)] = 45578, + [SMALL_STATE(837)] = 45586, + [SMALL_STATE(838)] = 45596, + [SMALL_STATE(839)] = 45604, + [SMALL_STATE(840)] = 45614, + [SMALL_STATE(841)] = 45624, + [SMALL_STATE(842)] = 45634, + [SMALL_STATE(843)] = 45642, + [SMALL_STATE(844)] = 45650, + [SMALL_STATE(845)] = 45658, + [SMALL_STATE(846)] = 45668, + [SMALL_STATE(847)] = 45678, + [SMALL_STATE(848)] = 45686, + [SMALL_STATE(849)] = 45696, + [SMALL_STATE(850)] = 45706, + [SMALL_STATE(851)] = 45714, + [SMALL_STATE(852)] = 45724, + [SMALL_STATE(853)] = 45734, + [SMALL_STATE(854)] = 45742, + [SMALL_STATE(855)] = 45750, + [SMALL_STATE(856)] = 45758, + [SMALL_STATE(857)] = 45766, + [SMALL_STATE(858)] = 45776, + [SMALL_STATE(859)] = 45783, + [SMALL_STATE(860)] = 45790, + [SMALL_STATE(861)] = 45797, + [SMALL_STATE(862)] = 45804, + [SMALL_STATE(863)] = 45811, + [SMALL_STATE(864)] = 45818, + [SMALL_STATE(865)] = 45825, + [SMALL_STATE(866)] = 45832, + [SMALL_STATE(867)] = 45839, + [SMALL_STATE(868)] = 45846, + [SMALL_STATE(869)] = 45853, + [SMALL_STATE(870)] = 45860, + [SMALL_STATE(871)] = 45867, + [SMALL_STATE(872)] = 45874, + [SMALL_STATE(873)] = 45881, + [SMALL_STATE(874)] = 45888, + [SMALL_STATE(875)] = 45895, + [SMALL_STATE(876)] = 45902, + [SMALL_STATE(877)] = 45909, + [SMALL_STATE(878)] = 45916, + [SMALL_STATE(879)] = 45923, + [SMALL_STATE(880)] = 45930, + [SMALL_STATE(881)] = 45937, + [SMALL_STATE(882)] = 45944, + [SMALL_STATE(883)] = 45951, + [SMALL_STATE(884)] = 45958, + [SMALL_STATE(885)] = 45965, + [SMALL_STATE(886)] = 45972, + [SMALL_STATE(887)] = 45979, + [SMALL_STATE(888)] = 45986, + [SMALL_STATE(889)] = 45993, + [SMALL_STATE(890)] = 46000, + [SMALL_STATE(891)] = 46007, + [SMALL_STATE(892)] = 46014, + [SMALL_STATE(893)] = 46021, + [SMALL_STATE(894)] = 46028, + [SMALL_STATE(895)] = 46035, + [SMALL_STATE(896)] = 46042, + [SMALL_STATE(897)] = 46049, + [SMALL_STATE(898)] = 46056, + [SMALL_STATE(899)] = 46063, + [SMALL_STATE(900)] = 46070, + [SMALL_STATE(901)] = 46077, + [SMALL_STATE(902)] = 46084, + [SMALL_STATE(903)] = 46091, + [SMALL_STATE(904)] = 46098, + [SMALL_STATE(905)] = 46105, + [SMALL_STATE(906)] = 46112, + [SMALL_STATE(907)] = 46119, + [SMALL_STATE(908)] = 46126, + [SMALL_STATE(909)] = 46133, + [SMALL_STATE(910)] = 46140, + [SMALL_STATE(911)] = 46147, + [SMALL_STATE(912)] = 46154, + [SMALL_STATE(913)] = 46161, + [SMALL_STATE(914)] = 46168, + [SMALL_STATE(915)] = 46175, + [SMALL_STATE(916)] = 46182, + [SMALL_STATE(917)] = 46189, + [SMALL_STATE(918)] = 46196, + [SMALL_STATE(919)] = 46203, + [SMALL_STATE(920)] = 46210, + [SMALL_STATE(921)] = 46217, + [SMALL_STATE(922)] = 46224, + [SMALL_STATE(923)] = 46231, + [SMALL_STATE(924)] = 46238, + [SMALL_STATE(925)] = 46245, + [SMALL_STATE(926)] = 46252, + [SMALL_STATE(927)] = 46259, + [SMALL_STATE(928)] = 46266, + [SMALL_STATE(929)] = 46273, + [SMALL_STATE(930)] = 46280, + [SMALL_STATE(931)] = 46287, + [SMALL_STATE(932)] = 46294, + [SMALL_STATE(933)] = 46301, + [SMALL_STATE(934)] = 46308, + [SMALL_STATE(935)] = 46315, + [SMALL_STATE(936)] = 46322, + [SMALL_STATE(937)] = 46329, + [SMALL_STATE(938)] = 46336, + [SMALL_STATE(939)] = 46343, + [SMALL_STATE(940)] = 46350, + [SMALL_STATE(941)] = 46357, + [SMALL_STATE(942)] = 46364, + [SMALL_STATE(943)] = 46371, + [SMALL_STATE(944)] = 46378, + [SMALL_STATE(945)] = 46385, + [SMALL_STATE(946)] = 46392, + [SMALL_STATE(947)] = 46399, + [SMALL_STATE(948)] = 46406, + [SMALL_STATE(949)] = 46413, + [SMALL_STATE(950)] = 46420, + [SMALL_STATE(951)] = 46427, + [SMALL_STATE(952)] = 46434, + [SMALL_STATE(953)] = 46441, + [SMALL_STATE(954)] = 46448, + [SMALL_STATE(955)] = 46455, + [SMALL_STATE(956)] = 46462, + [SMALL_STATE(957)] = 46469, + [SMALL_STATE(958)] = 46476, + [SMALL_STATE(959)] = 46483, + [SMALL_STATE(960)] = 46490, + [SMALL_STATE(961)] = 46497, + [SMALL_STATE(962)] = 46504, + [SMALL_STATE(963)] = 46511, + [SMALL_STATE(964)] = 46518, + [SMALL_STATE(965)] = 46525, + [SMALL_STATE(966)] = 46532, + [SMALL_STATE(967)] = 46539, + [SMALL_STATE(968)] = 46546, + [SMALL_STATE(969)] = 46553, + [SMALL_STATE(970)] = 46560, + [SMALL_STATE(971)] = 46567, + [SMALL_STATE(972)] = 46574, + [SMALL_STATE(973)] = 46581, + [SMALL_STATE(974)] = 46588, + [SMALL_STATE(975)] = 46595, + [SMALL_STATE(976)] = 46602, + [SMALL_STATE(977)] = 46609, + [SMALL_STATE(978)] = 46616, + [SMALL_STATE(979)] = 46623, + [SMALL_STATE(980)] = 46630, + [SMALL_STATE(981)] = 46637, + [SMALL_STATE(982)] = 46644, + [SMALL_STATE(983)] = 46651, + [SMALL_STATE(984)] = 46658, + [SMALL_STATE(985)] = 46665, + [SMALL_STATE(986)] = 46672, + [SMALL_STATE(987)] = 46679, + [SMALL_STATE(988)] = 46686, + [SMALL_STATE(989)] = 46693, + [SMALL_STATE(990)] = 46700, + [SMALL_STATE(991)] = 46707, + [SMALL_STATE(992)] = 46714, + [SMALL_STATE(993)] = 46721, + [SMALL_STATE(994)] = 46728, + [SMALL_STATE(995)] = 46735, + [SMALL_STATE(996)] = 46742, + [SMALL_STATE(997)] = 46749, + [SMALL_STATE(998)] = 46756, + [SMALL_STATE(999)] = 46763, + [SMALL_STATE(1000)] = 46770, + [SMALL_STATE(1001)] = 46777, + [SMALL_STATE(1002)] = 46784, + [SMALL_STATE(1003)] = 46791, + [SMALL_STATE(1004)] = 46798, + [SMALL_STATE(1005)] = 46805, + [SMALL_STATE(1006)] = 46812, + [SMALL_STATE(1007)] = 46819, + [SMALL_STATE(1008)] = 46826, + [SMALL_STATE(1009)] = 46833, + [SMALL_STATE(1010)] = 46840, + [SMALL_STATE(1011)] = 46847, + [SMALL_STATE(1012)] = 46854, + [SMALL_STATE(1013)] = 46861, + [SMALL_STATE(1014)] = 46868, + [SMALL_STATE(1015)] = 46875, + [SMALL_STATE(1016)] = 46882, + [SMALL_STATE(1017)] = 46889, + [SMALL_STATE(1018)] = 46896, + [SMALL_STATE(1019)] = 46903, + [SMALL_STATE(1020)] = 46910, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -25390,804 +45349,1187 @@ static const TSParseActionEntry ts_parse_actions[] = { [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(507), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(599), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(476), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(533), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(571), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523), - [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(533), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(394), - [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(421), - [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(548), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(592), - [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(556), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), - [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(604), - [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(617), - [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(621), - [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), - [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(465), - [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(466), - [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(591), - [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(618), - [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(505), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(468), - [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(542), - [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(34), - [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), - [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [95] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(202), - [98] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(418), - [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(83), - [104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(533), - [107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(8), - [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), - [112] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(394), - [115] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(421), - [118] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(548), - [121] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(592), - [124] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(84), - [127] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(72), - [130] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(496), - [133] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(604), - [136] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(617), - [139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(621), - [142] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(79), - [145] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(465), - [148] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(466), - [151] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(591), - [154] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(73), - [157] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(618), - [160] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(505), - [163] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(468), - [166] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(542), - [169] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(34), - [172] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(18), - [175] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(18), - [178] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(21), - [181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [183] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), - [185] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), - [187] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), - [189] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), - [191] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 6, 0, 44), - [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 6, 0, 44), - [195] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_switch_statement, 6, 0, 44), REDUCE(sym_switch_expression, 6, 0, 44), - [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression, 6, 0, 44), - [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression, 6, 0, 44), - [202] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_switch_statement, 6, 0, 44), REDUCE(sym_switch_expression, 6, 0, 44), - [205] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 1, 0, 0), - [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 1, 0, 0), - [209] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_lvalue, 1, 0, 0), REDUCE(sym_primary_expression, 1, 0, 0), - [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lvalue, 1, 0, 0), - [214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), - [216] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1, 0, 0), SHIFT(99), - [219] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lvalue, 1, 0, 0), - [221] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_primary_expression, 1, 0, 0), SHIFT(539), - [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), - [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), - [228] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(70), - [231] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(120), - [234] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(532), - [237] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_expression, 2, 0, 0), - [239] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_expression, 2, 0, 0), - [241] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), - [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), - [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(532), - [251] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), - [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), - [255] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression, 7, 0, 44), - [257] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression, 7, 0, 44), - [259] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_operator, 2, 0, 0), - [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_operator, 2, 0, 0), - [263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), - [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), - [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal_fields, 3, 0, 0), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_fields, 3, 0, 0), - [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 0), - [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 0), - [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), - [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), - [279] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_struct_literal, 2, 0, 4), - [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_literal, 2, 0, 4), - [283] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_old_expression, 4, 0, 0), - [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_old_expression, 4, 0, 0), - [287] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_operator, 3, 0, 0), - [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_operator, 3, 0, 0), - [291] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_expression, 2, 0, 0), - [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_expression, 2, 0, 0), - [295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(14), - [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(541), - [303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(138), - [305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(594), - [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal, 2, 0, 6), - [309] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal, 2, 0, 6), - [311] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 7, 0, 0), - [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 7, 0, 0), - [315] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_literal, 1, 0, 0), - [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_literal, 1, 0, 0), - [319] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_expression, 3, 0, 10), - [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_expression, 3, 0, 10), - [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), - [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), - [331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal_fields, 2, 0, 0), - [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_fields, 2, 0, 0), - [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 0), - [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 0), - [339] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), - [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [343] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), - [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [347] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), - [349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [351] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), - [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [355] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quantified_expression, 6, 0, 45), - [357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quantified_expression, 6, 0, 45), - [359] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), - [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [367] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), - [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [371] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_expression, 2, 0, 0), - [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_expression, 2, 0, 0), - [375] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quantified_expression, 8, 0, 57), - [377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quantified_expression, 8, 0, 57), - [379] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, 0, 12), - [381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, 0, 12), - [383] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, 0, 27), - [385] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 6, 0, 27), - [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 7, 0, 37), - [389] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 7, 0, 37), - [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 3, 0, 2), - [395] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 3, 0, 2), - [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, 0, 7), - [399] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 4, 0, 7), - [401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, 0, 28), - [403] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 6, 0, 28), - [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 8, 0, 46), - [411] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 8, 0, 46), - [413] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 5, 0, 13), - [415] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 5, 0, 13), - [417] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 5, 0, 14), - [419] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 5, 0, 14), - [421] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(14), - [424] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(512), - [427] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(83), - [430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), - [432] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(592), - [435] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(84), - [438] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(72), - [441] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(496), - [444] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(541), - [447] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(138), - [450] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(594), - [453] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(505), - [456] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(468), - [459] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(542), - [462] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(34), - [465] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(18), - [468] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(18), - [471] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(21), - [474] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(14), - [477] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(512), - [480] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(83), - [483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), - [485] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(592), - [488] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(84), - [491] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(72), - [494] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(496), - [497] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(541), - [500] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(138), - [503] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(594), - [506] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(505), - [509] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(468), - [512] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(542), - [515] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(34), - [518] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(18), - [521] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(18), - [524] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(21), - [527] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression_arm, 3, 0, 0), - [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression_arm, 3, 0, 0), - [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), - [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200), - [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [543] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), - [545] = {.entry = {.count = 1, .reusable = false}}, SHIFT(628), - [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), - [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 3, 0, 0), - [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 2, 0, 0), - [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), - [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), - [561] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(14), - [564] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(512), - [567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(83), - [570] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(592), - [573] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(84), - [576] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(72), - [579] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(496), - [582] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(138), - [585] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(594), - [588] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(505), - [591] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(468), - [594] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(542), - [597] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(34), - [600] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(18), - [603] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(18), - [606] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(21), - [609] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 2, 0, 5), - [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 2, 0, 5), - [613] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425), - [615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), - [617] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), - [619] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(556), - [622] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert_statement, 7, 0, 52), - [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 7, 0, 52), - [626] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 7, 0, 53), - [628] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 7, 0, 53), - [630] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, 0, 35), - [632] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, 0, 35), - [634] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 7, 0, 44), - [636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 7, 0, 44), - [638] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 5, 0, 0), - [640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 5, 0, 0), - [642] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert_statement, 5, 0, 36), - [644] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 5, 0, 36), - [646] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 4, 0, 0), - [648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 4, 0, 0), - [650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 4, 0, 0), - [652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 4, 0, 0), - [654] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), - [656] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), - [658] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, 0, 55), - [660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, 0, 55), - [662] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lock_statement, 6, 0, 41), - [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lock_statement, 6, 0, 41), - [666] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unlock_statement, 6, 0, 41), - [668] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unlock_statement, 6, 0, 41), - [670] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, 0, 58), - [672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, 0, 58), - [674] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_log_statement, 6, 0, 1), - [676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_statement, 6, 0, 1), - [678] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_statement, 4, 0, 25), - [680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 4, 0, 25), - [682] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_assignment_statement, 4, 0, 12), - [684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_assignment_statement, 4, 0, 12), - [686] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 6, 0, 43), - [688] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 6, 0, 43), - [690] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 4, 0, 24), - [692] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 4, 0, 24), - [694] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0), - [696] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), - [698] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_labeled_block, 3, 0, 11), - [700] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_labeled_block, 3, 0, 11), - [702] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0), - [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0), - [706] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2, 0, 0), - [708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2, 0, 0), - [710] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_destructuring_assignment, 5, 0, 33), - [712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_assignment, 5, 0, 33), - [714] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_log_statement, 5, 0, 1), - [716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_statement, 5, 0, 1), - [718] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), - [720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), - [722] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, 0, 51), - [724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, 0, 51), - [726] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 34), - [728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 34), - [730] = {.entry = {.count = 1, .reusable = false}}, SHIFT(10), - [732] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_invariant_clause, 4, 0, 36), - [734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_invariant_clause, 4, 0, 36), - [736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(341), - [738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(568), - [740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), - [742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(353), - [744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(348), - [746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(579), - [748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(582), - [752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), - [754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(479), - [756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), - [758] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1, 0, 0), SHIFT(539), - [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), - [763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), - [765] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(509), - [768] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(507), - [771] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(597), - [774] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(599), - [777] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(476), - [780] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(394), - [783] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(533), - [786] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(571), - [789] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(590), - [792] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(595), - [795] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(563), - [798] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(620), - [801] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(354), - [804] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(523), - [807] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [809] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(533), - [812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), - [814] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(599), - [817] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(476), - [820] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(394), - [823] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(571), - [826] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(590), - [829] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(595), - [832] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(563), - [835] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(620), - [838] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(354), - [841] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(523), - [844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), - [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), - [848] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), - [850] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), - [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [856] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), - [858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [860] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), - [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [864] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), - [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [868] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), - [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [876] = {.entry = {.count = 1, .reusable = false}}, SHIFT(153), - [878] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), - [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [886] = {.entry = {.count = 1, .reusable = false}}, SHIFT(158), - [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [892] = {.entry = {.count = 1, .reusable = false}}, SHIFT(160), - [894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [896] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), - [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [900] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), - [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 1, 0, 0), - [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [910] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), - [912] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), - [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [920] = {.entry = {.count = 1, .reusable = false}}, SHIFT(127), - [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [926] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), - [928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [930] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), - [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [934] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), - [936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, 0, 0), - [940] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_pattern, 1, 0, 0), - [942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [944] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_field, 3, 0, 22), - [946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member, 3, 0, 22), - [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(584), - [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585), - [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), - [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(552), - [960] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_body, 1, 0, 0), - [962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 1, 0, 0), - [964] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_arm, 3, 0, 0), - [966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_arm, 3, 0, 0), - [968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), - [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511), - [972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_pattern, 3, 0, 56), - [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), - [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [978] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_body, 2, 0, 0), - [980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 2, 0, 0), - [982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), - [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547), - [986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580), - [992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), - [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), - [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589), - [1000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [1002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), - [1004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [1006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), - [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [1010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [1012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), - [1014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [1016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), - [1018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [1020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [1022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [1024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [1026] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression_arm, 4, 0, 0), - [1028] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression_arm, 4, 0, 0), - [1030] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_arm, 4, 0, 0), - [1032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_arm, 4, 0, 0), - [1034] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), - [1036] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), - [1038] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_compound_operator, 1, 0, 0), REDUCE(sym_assignment_operator, 1, 0, 0), - [1041] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_compound_operator, 1, 0, 0), REDUCE(sym_assignment_operator, 1, 0, 0), - [1044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 4, 0, 1), - [1046] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 9, 0, 48), - [1048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 4, 0, 1), - [1050] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_declaration, 3, 0, 1), - [1052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 6, 0, 23), - [1054] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 10, 0, 54), - [1056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_declaration, 6, 0, 1), - [1058] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_invariant, 6, 0, 26), - [1060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_declaration, 6, 0, 1), - [1062] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, 0, 29), - [1064] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 5, 0, 1), - [1066] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_declaration, 5, 0, 1), - [1068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, 0, 30), - [1070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, 0, 18), - [1072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_declaration, 7, 0, 21), - [1074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 7, 0, 23), - [1076] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, 0, 8), - [1078] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, 0, 38), - [1080] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, 0, 39), - [1082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, 0, 1), - [1084] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_declaration, 5, 0, 1), - [1086] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ghost_declaration, 2, 0, 0), - [1088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_declaration, 6, 0, 21), - [1090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 9, 0, 49), - [1092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, 0, 16), - [1094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 6, 0, 15), - [1096] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_declaration, 4, 0, 1), - [1098] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_declaration, 5, 0, 1), - [1100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 9, 0, 47), - [1102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_member, 1, 0, 0), - [1104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_union_type, 3, 0, 20), - [1106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_union_type, 3, 0, 20), - [1108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), - [1110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_union_type, 2, 0, 9), - [1112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_union_type, 2, 0, 9), - [1114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_plain_type, 1, 0, 0), - [1116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_plain_type, 1, 0, 0), - [1118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [1120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_error_union_type_repeat1, 2, 0, 31), - [1122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_error_union_type_repeat1, 2, 0, 31), - [1124] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_error_union_type_repeat1, 2, 0, 31), SHIFT_REPEAT(238), - [1127] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_type, 3, 0, 0), - [1129] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_struct_type, 3, 0, 0), - [1131] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 6, 0, 3), - [1133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 6, 0, 3), - [1135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_type, 4, 0, 0), - [1137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_struct_type, 4, 0, 0), - [1139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 5, 0, 40), - [1141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type, 5, 0, 40), - [1143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 5, 0, 3), - [1145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 5, 0, 3), - [1147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_type, 6, 0, 50), - [1149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_type, 6, 0, 50), - [1151] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_type, 4, 0, 32), - [1153] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slice_type, 4, 0, 32), - [1155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_error_union_type_repeat1, 2, 0, 9), - [1157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_error_union_type_repeat1, 2, 0, 9), - [1159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 4, 0, 3), - [1161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 4, 0, 3), - [1163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1, 0, 0), - [1165] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primitive_type, 1, 0, 0), - [1167] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1, 0, 0), - [1169] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1, 0, 0), - [1171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lvalue_repeat1, 2, 0, 0), - [1173] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lvalue_repeat1, 2, 0, 0), SHIFT_REPEAT(99), - [1176] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lvalue_repeat1, 2, 0, 0), SHIFT_REPEAT(539), - [1179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), - [1181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(575), - [1183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578), - [1185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lvalue, 4, 0, 0), - [1187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [1189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), - [1191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lvalue, 2, 0, 0), - [1193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lvalue, 3, 0, 0), - [1195] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lvalue_repeat1, 3, 0, 0), - [1197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), - [1199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), - [1201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [1203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), - [1205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), - [1207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), - [1209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(555), - [1211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(559), - [1213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declaration_repeat1, 2, 0, 0), - [1215] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(575), - [1218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(612), - [1220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607), - [1222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(608), - [1224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_memory_region, 1, 0, 0), - [1226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_parameter_list, 2, 0, 0), - [1228] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_bitfield_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(544), - [1231] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bitfield_declaration_repeat1, 2, 0, 0), - [1233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), - [1235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(489), - [1237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(546), - [1239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(624), - [1241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), - [1243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(528), - [1245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(567), - [1247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [1249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declaration_repeat2, 2, 0, 0), - [1251] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declaration_repeat2, 2, 0, 0), SHIFT_REPEAT(578), - [1254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), - [1256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544), - [1258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), - [1260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_parameter_list, 3, 0, 0), - [1262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), - [1264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), - [1266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), - [1268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), - [1270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), - [1272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), - [1274] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(558), - [1277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_declaration_repeat1, 2, 0, 0), - [1279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), - [1281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), - [1283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), - [1285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), - [1287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), - [1289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522), - [1291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521), - [1293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), - [1295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [1297] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_field_list, 1, 0, 0), - [1299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), - [1301] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_kind, 1, 0, 0), - [1303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_clause, 4, 0, 36), - [1305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_field_list, 3, 0, 0), - [1307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_anonymous_struct_field_list_repeat1, 2, 0, 0), - [1309] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_struct_field_list_repeat1, 2, 0, 0), SHIFT_REPEAT(469), - [1312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587), - [1314] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_type_repeat1, 2, 0, 0), SHIFT_REPEAT(199), - [1317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_type_repeat1, 2, 0, 0), - [1319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_field_list, 3, 0, 0), - [1321] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_destructuring_field_list_repeat1, 2, 0, 0), - [1323] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_destructuring_field_list_repeat1, 2, 0, 0), SHIFT_REPEAT(472), - [1326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 2, 0, 17), - [1328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [1330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [1332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), - [1334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), - [1336] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(499), - [1339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [1341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [1343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), - [1345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_field_list, 1, 0, 0), - [1347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), - [1349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [1351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), - [1353] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_field_list, 2, 0, 0), - [1355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), - [1357] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_member_list_repeat1, 2, 0, 0), - [1359] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_member_list_repeat1, 2, 0, 0), SHIFT_REPEAT(491), - [1362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 1, 0, 0), - [1364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(448), - [1366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), - [1368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_log_parameter_list_repeat1, 2, 0, 0), - [1370] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_log_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(426), - [1373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_field, 1, 0, 0), - [1375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534), - [1377] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_field_list, 1, 0, 0), - [1379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), - [1381] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, 0, 0), SHIFT_REPEAT(98), - [1384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_field_list, 2, 0, 0), - [1386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), - [1388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [1390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), - [1392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), - [1394] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, 0, 0), SHIFT_REPEAT(134), - [1397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [1399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member, 1, 0, 3), - [1401] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_list, 1, 0, 0), - [1403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), - [1405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_field_list, 3, 0, 0), - [1407] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_list, 2, 0, 0), - [1409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), - [1411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_literal_field_list_repeat1, 2, 0, 0), - [1413] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_literal_field_list_repeat1, 2, 0, 0), SHIFT_REPEAT(478), - [1416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_field_list, 2, 0, 0), - [1418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), - [1420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), - [1422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_parameter_list, 1, 0, 0), - [1424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), - [1426] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_list, 3, 0, 0), - [1428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600), - [1430] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_pattern, 1, 0, 0), - [1432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [1434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(622), - [1436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [1438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566), - [1440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_field, 4, 0, 19), - [1442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [1444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [1446] = {.entry = {.count = 1, .reusable = false}}, SHIFT(574), - [1448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), - [1450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), - [1452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), - [1454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), - [1456] = {.entry = {.count = 1, .reusable = false}}, SHIFT(606), - [1458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_field, 5, 0, 19), - [1460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_pattern, 4, 0, 0), - [1462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument, 1, 0, 0), - [1464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ensures_clause, 4, 0, 36), - [1466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_field, 3, 0, 19), - [1468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_parameter, 3, 0, 19), - [1470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [1472] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [1474] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_pattern, 3, 0, 0), - [1476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_parameter, 4, 0, 21), - [1478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [1480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [1482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [1484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [1486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_field, 3, 0, 42), - [1488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 4, 0, 19), - [1490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 19), - [1492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(576), - [1494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), - [1496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [1498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [1500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), - [1502] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_kind, 1, 0, 0), SHIFT(581), - [1505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [1507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), - [1509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), - [1511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), - [1513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), - [1515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(560), - [1517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_pattern, 3, 0, 0), - [1519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(562), - [1521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [1523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [1525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), - [1527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [1529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [1531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), - [1533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500), - [1535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_layout, 3, 0, 0), - [1537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), - [1539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), - [1541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), - [1543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), - [1545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [1547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(497), - [1549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536), - [1551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_layout, 6, 0, 0), - [1553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [1555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), - [1557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), - [1559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(508), - [1561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), - [1563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), - [1565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), - [1567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [1569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), - [1571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), - [1573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(543), - [1575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), - [1577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), - [1579] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [1581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [1583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517), - [1585] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), - [1587] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [1589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), - [1591] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), - [1593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), - [1595] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), - [1597] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [1599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), - [1601] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), - [1603] = {.entry = {.count = 1, .reusable = true}}, SHIFT(477), - [1605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), - [1607] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), - [1609] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [1611] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), - [1613] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), - [1615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(583), - [1617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(613), - [1619] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), - [1621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [1623] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), - [1625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [1627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [1629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [1631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [1633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), - [1635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), - [1637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(554), - [1639] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [1641] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), - [1643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [1645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), - [1647] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), - [1649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557), - [1651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), - [1653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [1655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(614), - [1657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [1659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), - [1661] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [1663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [1665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), - [1667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), - [1669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), - [1671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), - [1673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), - [1675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), - [1677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), - [1679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [1681] = {.entry = {.count = 1, .reusable = true}}, SHIFT(506), - [1683] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [1685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), - [1687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), - [1689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), - [1691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(615), - [1693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(603), - [1695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [1697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [1699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [1701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), - [1703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [1705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), - [1707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(619), - [1709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [1711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [1713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), - [1715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), - [1717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [1719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [1721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), - [1723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), - [1725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(623), - [1727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), - [1729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [1731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(627), - [1733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(480), + [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(952), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(867), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(980), + [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(906), + [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(908), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(813), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(706), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(826), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(944), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1020), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(992), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(998), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(954), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(636), + [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(940), + [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(327), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(716), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(671), + [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(981), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(986), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(719), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(893), + [55] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(885), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(839), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(937), + [67] = {.entry = {.count = 1, .reusable = false}}, SHIFT(761), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(991), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(995), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1002), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(886), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), + [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(820), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(828), + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(866), + [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(870), + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(871), + [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(873), + [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), + [99] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(327), + [108] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(716), + [111] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(136), + [114] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(826), + [117] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(9), + [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), + [122] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(671), + [125] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(981), + [128] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(986), + [131] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(706), + [134] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(719), + [137] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(893), + [140] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(47), + [143] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(196), + [146] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(82), + [149] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(839), + [152] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(937), + [155] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(761), + [158] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(991), + [161] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(995), + [164] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1002), + [167] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(92), + [170] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(820), + [173] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(828), + [176] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(866), + [179] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(84), + [182] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(870), + [185] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(871), + [188] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(873), + [191] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(53), + [194] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(30), + [197] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(30), + [200] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(32), + [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [209] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [211] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), + [213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), + [215] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), + [217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), + [219] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 6, 0, 55), + [221] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 6, 0, 55), + [223] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_switch_statement, 6, 0, 55), REDUCE(sym_switch_expression, 6, 0, 55), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression, 6, 0, 55), + [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression, 6, 0, 55), + [230] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_switch_statement, 6, 0, 55), REDUCE(sym_switch_expression, 6, 0, 55), + [233] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary_expression, 1, 0, 0), + [235] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary_expression, 1, 0, 0), + [237] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1, 0, 0), SHIFT(335), + [240] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_lvalue, 1, 0, 0), REDUCE(sym_primary_expression, 1, 0, 0), + [243] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lvalue, 1, 0, 0), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(703), + [247] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_primary_expression, 1, 0, 0), SHIFT(332), + [250] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary_expression, 1, 0, 0), SHIFT(194), + [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lvalue, 1, 0, 0), + [255] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_primary_expression, 1, 0, 0), SHIFT(800), + [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(672), + [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), + [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), + [264] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(81), + [267] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(165), + [270] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(830), + [273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(325), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(841), + [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [281] = {.entry = {.count = 1, .reusable = false}}, SHIFT(811), + [283] = {.entry = {.count = 1, .reusable = false}}, SHIFT(475), + [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(840), + [291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(895), + [293] = {.entry = {.count = 1, .reusable = false}}, SHIFT(144), + [295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1019), + [297] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1005), + [299] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1016), + [301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(476), + [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), + [305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(430), + [307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_expression, 2, 0, 0), + [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_expression, 2, 0, 0), + [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), + [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), + [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [321] = {.entry = {.count = 1, .reusable = false}}, SHIFT(830), + [323] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_operator, 3, 0, 0), + [325] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_operator, 3, 0, 0), + [327] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intrinsic_expression, 5, 0, 1), + [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intrinsic_expression, 5, 0, 1), + [331] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 5, 0, 0), + [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 5, 0, 0), + [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), + [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), + [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intrinsic_expression, 4, 0, 1), + [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intrinsic_expression, 4, 0, 1), + [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), + [345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), + [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 6, 0, 0), + [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 6, 0, 0), + [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), + [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), + [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_struct_literal, 2, 0, 4), + [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_literal, 2, 0, 4), + [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 7, 0, 0), + [367] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 7, 0, 0), + [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_operator, 2, 0, 0), + [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_operator, 2, 0, 0), + [373] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 7, 0, 0), + [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 7, 0, 0), + [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_old_expression, 4, 0, 0), + [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_old_expression, 4, 0, 0), + [381] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(325), + [384] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(841), + [387] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(252), + [390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), + [392] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(811), + [395] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(475), + [398] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(143), + [401] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(86), + [404] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(840), + [407] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(895), + [410] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(144), + [413] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1019), + [416] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1005), + [419] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1016), + [422] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(476), + [425] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(430), + [428] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(430), + [431] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(404), + [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression, 7, 0, 55), + [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression, 7, 0, 55), + [438] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(325), + [441] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(841), + [444] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(252), + [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), + [449] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(811), + [452] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(475), + [455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(143), + [458] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(86), + [461] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(840), + [464] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(895), + [467] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(144), + [470] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(1019), + [473] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(1005), + [476] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(1016), + [479] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(476), + [482] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(430), + [485] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(430), + [488] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_switch_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(404), + [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_identifier, 1, 0, 0), + [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_identifier, 1, 0, 0), + [497] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_error_identifier, 1, 0, 0), SHIFT(889), + [500] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal, 2, 0, 7), + [502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal, 2, 0, 7), + [504] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal_fields, 3, 0, 0), + [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_fields, 3, 0, 0), + [508] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 0), + [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 0), + [512] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_expression, 2, 0, 0), + [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_expression, 2, 0, 0), + [516] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [520] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_literal, 1, 0, 0), + [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_literal, 1, 0, 0), + [524] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_expression, 3, 0, 13), + [526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_expression, 3, 0, 13), + [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [532] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), + [534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), + [536] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_literal_fields, 2, 0, 0), + [538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_fields, 2, 0, 0), + [540] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), + [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(845), + [544] = {.entry = {.count = 1, .reusable = false}}, SHIFT(857), + [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [548] = {.entry = {.count = 1, .reusable = false}}, SHIFT(226), + [550] = {.entry = {.count = 1, .reusable = false}}, SHIFT(945), + [552] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1017), + [554] = {.entry = {.count = 1, .reusable = false}}, SHIFT(846), + [556] = {.entry = {.count = 1, .reusable = false}}, SHIFT(180), + [558] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 0), + [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 0), + [562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229), + [564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(233), + [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), + [568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [570] = {.entry = {.count = 1, .reusable = false}}, SHIFT(235), + [572] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [574] = {.entry = {.count = 1, .reusable = false}}, SHIFT(236), + [576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [578] = {.entry = {.count = 1, .reusable = false}}, SHIFT(237), + [580] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(238), + [584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [586] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quantified_expression, 6, 0, 56), + [588] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quantified_expression, 6, 0, 56), + [590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [592] = {.entry = {.count = 1, .reusable = false}}, SHIFT(228), + [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [600] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression_arm, 3, 0, 0), + [602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression_arm, 3, 0, 0), + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(570), + [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(573), + [608] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quantified_expression, 8, 0, 70), + [610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quantified_expression, 8, 0, 70), + [612] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, 0, 17), + [614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, 0, 17), + [616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_expression, 2, 0, 0), + [618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_expression, 2, 0, 0), + [620] = {.entry = {.count = 1, .reusable = false}}, SHIFT(326), + [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [626] = {.entry = {.count = 1, .reusable = false}}, SHIFT(132), + [628] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1012), + [630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [632] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), + [634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [638] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), + [642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(858), + [646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 2, 0, 0), + [648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), + [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), + [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), + [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), + [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 3, 0, 0), + [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(590), + [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), + [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), + [668] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(885), + [671] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(886), + [674] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), + [676] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 2, 0, 5), + [678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 2, 0, 5), + [680] = {.entry = {.count = 1, .reusable = false}}, SHIFT(751), + [682] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requires_statement, 4, 0, 29), + [684] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_statement, 4, 0, 29), + [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), + [688] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ensures_statement, 4, 0, 29), + [690] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ensures_statement, 4, 0, 29), + [692] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [694] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [696] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [698] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(18), + [701] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(845), + [704] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(136), + [707] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(846), + [710] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(47), + [713] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(196), + [716] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(82), + [719] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(839), + [722] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(180), + [725] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(945), + [728] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(871), + [731] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(873), + [734] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(53), + [737] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(30), + [740] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(30), + [743] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), SHIFT(32), + [746] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 9, 0, 71), + [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 9, 0, 71), + [750] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 42), + [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 42), + [754] = {.entry = {.count = 1, .reusable = false}}, SHIFT(13), + [756] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, 0, 43), + [758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, 0, 43), + [760] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 5, 0, 0), + [762] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 5, 0, 0), + [764] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 5, 0, 0), + [766] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 5, 0, 0), + [768] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert_statement, 5, 0, 29), + [770] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 5, 0, 29), + [772] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_havoc_statement, 3, 0, 14), + [774] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_havoc_statement, 3, 0, 14), + [776] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), + [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), + [780] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_variable_declaration, 5, 0, 44), + [782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_variable_declaration, 5, 0, 44), + [784] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_variable_declaration, 5, 0, 45), + [786] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_variable_declaration, 5, 0, 45), + [788] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lock_statement, 6, 0, 51), + [790] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lock_statement, 6, 0, 51), + [792] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unlock_statement, 6, 0, 51), + [794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unlock_statement, 6, 0, 51), + [796] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_log_statement, 6, 0, 1), + [798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_statement, 6, 0, 1), + [800] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 6, 0, 54), + [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 6, 0, 54), + [804] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_labeled_block, 3, 0, 15), + [806] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_labeled_block, 3, 0, 15), + [808] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comptime_statement, 2, 0, 0), + [810] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comptime_statement, 2, 0, 0), + [812] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, 0, 62), + [814] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, 0, 62), + [816] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_variable_declaration, 3, 0, 16), + [818] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_variable_declaration, 3, 0, 16), + [820] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assert_statement, 7, 0, 63), + [822] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assert_statement, 7, 0, 63), + [824] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 7, 0, 64), + [826] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 7, 0, 64), + [828] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_statement, 7, 0, 55), + [830] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_statement, 7, 0, 55), + [832] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_variable_declaration, 7, 0, 65), + [834] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_variable_declaration, 7, 0, 65), + [836] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 8, 0, 68), + [838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 8, 0, 68), + [840] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0), + [842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), + [844] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_statement, 2, 0, 0), + [846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 2, 0, 0), + [848] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 3, 0, 2), + [850] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 3, 0, 2), + [852] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 4, 0, 0), + [854] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 4, 0, 0), + [856] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 4, 0, 0), + [858] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 4, 0, 0), + [860] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 4, 0, 30), + [862] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 4, 0, 30), + [864] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_statement, 4, 0, 31), + [866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 4, 0, 31), + [868] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compound_assignment_statement, 4, 0, 17), + [870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compound_assignment_statement, 4, 0, 17), + [872] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0), + [874] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0), + [876] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 4, 0, 9), + [878] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, 0, 9), + [880] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 4, 0, 10), + [882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, 0, 10), + [884] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2, 0, 0), + [886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2, 0, 0), + [888] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 5, 0, 19), + [890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 5, 0, 19), + [892] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 5, 0, 20), + [894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 5, 0, 20), + [896] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 5, 0, 21), + [898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 5, 0, 21), + [900] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 6, 0, 35), + [902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, 0, 35), + [904] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 6, 0, 36), + [906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, 0, 36), + [908] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 6, 0, 37), + [910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, 0, 37), + [912] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 7, 0, 47), + [914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 7, 0, 47), + [916] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 7, 0, 48), + [918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 7, 0, 48), + [920] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 8, 0, 58), + [922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 8, 0, 58), + [924] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_requires_statement, 5, 0, 29), + [926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_statement, 5, 0, 29), + [928] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ensures_statement, 5, 0, 29), + [930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ensures_statement, 5, 0, 29), + [932] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_destructuring_assignment, 5, 0, 41), + [934] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_assignment, 5, 0, 41), + [936] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_log_statement, 5, 0, 1), + [938] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_statement, 5, 0, 1), + [940] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assume_statement, 5, 0, 29), + [942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assume_statement, 5, 0, 29), + [944] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_invariant_clause, 4, 0, 29), + [946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_invariant_clause, 4, 0, 29), + [948] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_decreases_clause, 4, 0, 67), + [950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_decreases_clause, 4, 0, 67), + [952] = {.entry = {.count = 1, .reusable = false}}, SHIFT(625), + [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), + [956] = {.entry = {.count = 1, .reusable = false}}, SHIFT(918), + [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), + [960] = {.entry = {.count = 1, .reusable = false}}, SHIFT(641), + [962] = {.entry = {.count = 1, .reusable = false}}, SHIFT(818), + [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(353), + [966] = {.entry = {.count = 1, .reusable = false}}, SHIFT(931), + [968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(959), + [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(704), + [972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(634), + [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(632), + [978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(643), + [980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(850), + [982] = {.entry = {.count = 1, .reusable = false}}, SHIFT(850), + [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(637), + [986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [988] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [990] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(952), + [993] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(867), + [996] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(980), + [999] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(906), + [1002] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(908), + [1005] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(813), + [1008] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(706), + [1011] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(826), + [1014] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(944), + [1017] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(1020), + [1020] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(992), + [1023] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(998), + [1026] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(954), + [1029] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(636), + [1032] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(940), + [1035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(626), + [1037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(644), + [1039] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192), + [1041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [1043] = {.entry = {.count = 1, .reusable = false}}, SHIFT(183), + [1045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [1047] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187), + [1049] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [1051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [1053] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), + [1055] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [1057] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), + [1059] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), + [1061] = {.entry = {.count = 1, .reusable = false}}, SHIFT(191), + [1063] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [1065] = {.entry = {.count = 1, .reusable = false}}, SHIFT(182), + [1067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [1069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [1071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [1073] = {.entry = {.count = 1, .reusable = false}}, SHIFT(673), + [1075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [1079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [1081] = {.entry = {.count = 1, .reusable = false}}, SHIFT(843), + [1083] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(85), + [1086] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(257), + [1089] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_postfix_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(843), + [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(623), + [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(618), + [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(620), + [1098] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(952), + [1101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(826), + [1104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), + [1106] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(908), + [1109] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(813), + [1112] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(706), + [1115] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(944), + [1118] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(1020), + [1121] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(992), + [1124] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(998), + [1127] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(954), + [1130] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(636), + [1133] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(940), + [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(619), + [1138] = {.entry = {.count = 1, .reusable = false}}, SHIFT(213), + [1140] = {.entry = {.count = 1, .reusable = false}}, SHIFT(217), + [1142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [1144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [1146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), + [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [1150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(220), + [1152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [1154] = {.entry = {.count = 1, .reusable = false}}, SHIFT(221), + [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [1158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(222), + [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [1162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(211), + [1164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(212), + [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), + [1174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), + [1176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200), + [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [1180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), + [1182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [1184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(204), + [1186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [1190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(206), + [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [1194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(207), + [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), + [1198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208), + [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [1202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(209), + [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [1206] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [1208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(240), + [1210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(241), + [1212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [1214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [1216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [1218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(245), + [1220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [1222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [1224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(247), + [1226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [1228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(248), + [1230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [1232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(249), + [1234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [1236] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250), + [1238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [1240] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_error_identifier, 1, 0, 0), SHIFT(921), + [1243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [1245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [1247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [1249] = {.entry = {.count = 1, .reusable = false}}, SHIFT(146), + [1251] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), + [1253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [1255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [1257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [1259] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), + [1261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), + [1263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [1265] = {.entry = {.count = 1, .reusable = false}}, SHIFT(153), + [1267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [1269] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), + [1271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), + [1273] = {.entry = {.count = 1, .reusable = false}}, SHIFT(155), + [1275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [1277] = {.entry = {.count = 1, .reusable = false}}, SHIFT(156), + [1279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [1281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), + [1283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [1285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 1, 0, 0), + [1287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [1289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [1291] = {.entry = {.count = 1, .reusable = false}}, SHIFT(172), + [1293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [1295] = {.entry = {.count = 1, .reusable = false}}, SHIFT(173), + [1297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), + [1299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_field, 4, 0, 53), + [1301] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), + [1303] = {.entry = {.count = 1, .reusable = false}}, SHIFT(163), + [1305] = {.entry = {.count = 1, .reusable = false}}, SHIFT(164), + [1307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [1309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [1311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [1313] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), + [1315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [1317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [1319] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170), + [1321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [1323] = {.entry = {.count = 1, .reusable = false}}, SHIFT(171), + [1325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [1327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), + [1329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [1331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [1333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [1335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [1337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(928), + [1339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(938), + [1341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_field, 3, 0, 27), + [1343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member, 3, 0, 27), + [1345] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_pattern, 1, 0, 0), + [1347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [1349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [1351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [1353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [1355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(864), + [1357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(600), + [1359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(983), + [1361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(666), + [1363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(594), + [1365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), + [1367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(418), + [1369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(904), + [1371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), + [1373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [1375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), + [1377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [1379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [1381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [1383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), + [1385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [1387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [1389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), + [1391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), + [1393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(591), + [1395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [1397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [1399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [1401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(898), + [1403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [1405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [1407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(639), + [1409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(613), + [1411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(967), + [1413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(595), + [1415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(723), + [1417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(580), + [1419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(768), + [1421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [1423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(947), + [1425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [1427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(119), + [1429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), + [1431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(581), + [1433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), + [1435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [1437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [1439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_range_pattern, 3, 0, 69), + [1441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(978), + [1443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), + [1445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), + [1447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(993), + [1449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(974), + [1451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [1453] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_body, 2, 0, 0), + [1455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 2, 0, 0), + [1457] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_body, 1, 0, 0), + [1459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_body, 1, 0, 0), + [1461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_arm, 3, 0, 0), + [1463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_arm, 3, 0, 0), + [1465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(574), + [1467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_expression_arm, 4, 0, 0), + [1469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_expression_arm, 4, 0, 0), + [1471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_switch_arm, 4, 0, 0), + [1473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_switch_arm, 4, 0, 0), + [1475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, 0, 40), + [1477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, 0, 40), + [1479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, 0, 49), + [1481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, 0, 49), + [1483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 8, 0, 50), + [1485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 8, 0, 50), + [1487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 5, 0, 1), + [1489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 5, 0, 1), + [1491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_declaration, 7, 0, 26), + [1493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bitfield_declaration, 7, 0, 26), + [1495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, 0, 39), + [1497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 7, 0, 39), + [1499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 4, 0, 1), + [1501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 4, 0, 1), + [1503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 4, 0, 1), + [1505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 4, 0, 1), + [1507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, 0, 12), + [1509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 5, 0, 12), + [1511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, 0, 11), + [1513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, 0, 11), + [1515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 9, 0, 60), + [1517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 9, 0, 60), + [1519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 9, 0, 61), + [1521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 9, 0, 61), + [1523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 7, 0, 28), + [1525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 7, 0, 28), + [1527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, 0, 23), + [1529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, 0, 23), + [1531] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_compound_operator, 1, 0, 0), REDUCE(sym_assignment_operator, 1, 0, 0), + [1534] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_compound_operator, 1, 0, 0), REDUCE(sym_assignment_operator, 1, 0, 0), + [1537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1, 0, 0), + [1539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1, 0, 0), + [1541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 10, 0, 66), + [1543] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 10, 0, 66), + [1545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 6, 0, 25), + [1547] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_declaration, 6, 0, 25), + [1549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 6, 0, 11), + [1551] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 6, 0, 11), + [1553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_declaration, 6, 0, 26), + [1555] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bitfield_declaration, 6, 0, 26), + [1557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_declaration, 5, 0, 1), + [1559] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_log_declaration, 5, 0, 1), + [1561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_declaration, 6, 0, 28), + [1563] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_enum_declaration, 6, 0, 28), + [1565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_declaration, 6, 0, 1), + [1567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_log_declaration, 6, 0, 1), + [1569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_declaration, 5, 0, 1), + [1571] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_declaration, 5, 0, 1), + [1573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ghost_declaration, 2, 0, 0), + [1575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ghost_declaration, 2, 0, 0), + [1577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_invariant, 6, 0, 32), + [1579] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_invariant, 6, 0, 32), + [1581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_declaration, 6, 0, 1), + [1583] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_declaration, 6, 0, 1), + [1585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_declaration, 5, 0, 1), + [1587] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_declaration, 5, 0, 1), + [1589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_declaration, 3, 0, 1), + [1591] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_declaration, 3, 0, 1), + [1593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_declaration, 5, 0, 11), + [1595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_declaration, 5, 0, 11), + [1597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_declaration, 5, 0, 1), + [1599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_declaration, 5, 0, 1), + [1601] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_declaration, 4, 0, 1), + [1603] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_declaration, 4, 0, 1), + [1605] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 9, 0, 59), + [1607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 9, 0, 59), + [1609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 6, 0, 22), + [1611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_import_declaration, 6, 0, 22), + [1613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_declaration, 6, 0, 11), + [1615] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_declaration, 6, 0, 11), + [1617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_member, 1, 0, 0), + [1619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_member, 1, 0, 0), + [1621] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [1623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_plain_type, 1, 0, 0), + [1625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_plain_type, 1, 0, 0), + [1627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [1629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 7, 0, 0), + [1631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 7, 0, 0), + [1633] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_type, 3, 0, 0), + [1635] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_struct_type, 3, 0, 0), + [1637] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_error_union_type_repeat1, 2, 0, 8), + [1639] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_error_union_type_repeat1, 2, 0, 8), + [1641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 5, 0, 0), + [1643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 5, 0, 0), + [1645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_type, 6, 0, 57), + [1647] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map_type, 6, 0, 57), + [1649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_type, 4, 0, 0), + [1651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_anonymous_struct_type, 4, 0, 0), + [1653] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_paren, 4, 0, 0), + [1655] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list_paren, 4, 0, 0), + [1657] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_slice_type, 4, 0, 34), + [1659] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slice_type, 4, 0, 34), + [1661] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_paren, 5, 0, 0), + [1663] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list_paren, 5, 0, 0), + [1665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [1667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_angle, 4, 0, 0), + [1669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list_angle, 4, 0, 0), + [1671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_angle, 3, 0, 0), + [1673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list_angle, 3, 0, 0), + [1675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 5, 0, 46), + [1677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_type, 5, 0, 46), + [1679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_paren, 3, 0, 0), + [1681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list_paren, 3, 0, 0), + [1683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_type, 1, 0, 0), + [1685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primitive_type, 1, 0, 0), + [1687] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_type, 2, 0, 6), + [1689] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_type, 2, 0, 6), + [1691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument_list_angle, 5, 0, 0), + [1693] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_argument_list_angle, 5, 0, 0), + [1695] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 6, 0, 0), + [1697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 6, 0, 0), + [1699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1, 0, 0), + [1701] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1, 0, 0), + [1703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_union_type, 2, 0, 8), + [1705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_union_type, 2, 0, 8), + [1707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), + [1709] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_error_union_type, 3, 0, 18), + [1711] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_error_union_type, 3, 0, 18), + [1713] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_error_union_type_repeat1, 2, 0, 33), + [1715] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_error_union_type_repeat1, 2, 0, 33), + [1717] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_error_union_type_repeat1, 2, 0, 33), SHIFT_REPEAT(462), + [1720] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [1722] = {.entry = {.count = 1, .reusable = true}}, SHIFT(968), + [1724] = {.entry = {.count = 1, .reusable = true}}, SHIFT(999), + [1726] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [1728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lvalue_repeat1, 2, 0, 0), + [1730] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lvalue_repeat1, 2, 0, 0), SHIFT_REPEAT(194), + [1733] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lvalue_repeat1, 2, 0, 0), SHIFT_REPEAT(800), + [1736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lvalue, 3, 0, 0), + [1738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [1740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(800), + [1742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lvalue, 4, 0, 0), + [1744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lvalue, 2, 0, 0), + [1746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lvalue_repeat1, 3, 0, 0), + [1748] = {.entry = {.count = 1, .reusable = true}}, SHIFT(654), + [1750] = {.entry = {.count = 1, .reusable = true}}, SHIFT(602), + [1752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [1754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(601), + [1756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(991), + [1758] = {.entry = {.count = 1, .reusable = true}}, SHIFT(995), + [1760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1002), + [1762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(959), + [1764] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_plain_type, 1, 0, 0), SHIFT(335), + [1767] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declaration_repeat1, 2, 0, 0), + [1769] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(968), + [1772] = {.entry = {.count = 1, .reusable = false}}, SHIFT(966), + [1774] = {.entry = {.count = 1, .reusable = true}}, SHIFT(880), + [1776] = {.entry = {.count = 1, .reusable = false}}, SHIFT(963), + [1778] = {.entry = {.count = 1, .reusable = true}}, SHIFT(649), + [1780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(650), + [1782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(962), + [1784] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1004), + [1786] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_error_union_type_repeat1, 2, 0, 33), SHIFT_REPEAT(415), + [1789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), + [1791] = {.entry = {.count = 1, .reusable = false}}, SHIFT(919), + [1793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(724), + [1795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(816), + [1797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(922), + [1799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(923), + [1801] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_declaration_repeat2, 2, 0, 0), + [1803] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_declaration_repeat2, 2, 0, 0), SHIFT_REPEAT(999), + [1806] = {.entry = {.count = 1, .reusable = false}}, SHIFT(987), + [1808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(948), + [1810] = {.entry = {.count = 1, .reusable = false}}, SHIFT(965), + [1812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), + [1814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(874), + [1816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [1818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(869), + [1820] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [1822] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_memory_region, 1, 0, 0), + [1824] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), + [1826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(894), + [1828] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589), + [1830] = {.entry = {.count = 1, .reusable = true}}, SHIFT(735), + [1832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(586), + [1834] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(894), + [1837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_declaration_repeat1, 2, 0, 0), + [1839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(606), + [1841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(964), + [1843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607), + [1845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), + [1847] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_parameter_list, 2, 0, 0), + [1849] = {.entry = {.count = 1, .reusable = false}}, SHIFT(936), + [1851] = {.entry = {.count = 1, .reusable = false}}, SHIFT(930), + [1853] = {.entry = {.count = 1, .reusable = false}}, SHIFT(934), + [1855] = {.entry = {.count = 1, .reusable = false}}, SHIFT(935), + [1857] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_bitfield_declaration_repeat1, 2, 0, 0), SHIFT_REPEAT(964), + [1860] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bitfield_declaration_repeat1, 2, 0, 0), + [1862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(794), + [1864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(853), + [1866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_kind, 1, 0, 0), + [1868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(859), + [1870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_field_list, 3, 0, 0), + [1872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(803), + [1874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(616), + [1876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_requires_clause, 4, 0, 29), + [1878] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_field_list, 2, 0, 0), + [1880] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type, 2, 0, 24), + [1882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(901), + [1884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(627), + [1886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(583), + [1888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_parameter_list, 3, 0, 0), + [1890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(585), + [1892] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(125), + [1895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [1897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member, 1, 0, 3), + [1899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [1901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(629), + [1903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [1905] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [1907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [1909] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_field_list, 2, 0, 0), + [1911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(773), + [1913] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_literal_field_list, 1, 0, 0), + [1915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(725), + [1917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_list, 1, 0, 0), + [1919] = {.entry = {.count = 1, .reusable = true}}, SHIFT(767), + [1921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_literal_field_list_repeat1, 2, 0, 0), + [1923] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_literal_field_list_repeat1, 2, 0, 0), SHIFT_REPEAT(776), + [1926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), + [1928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [1930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), + [1932] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_field_list, 2, 0, 0), + [1934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), + [1936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [1938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), + [1940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(720), + [1942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(707), + [1944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(814), + [1946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_argument_list_angle_repeat1, 2, 0, 0), + [1948] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_angle_repeat1, 2, 0, 0), SHIFT_REPEAT(333), + [1951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(705), + [1953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(754), + [1955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(764), + [1957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_argument, 1, 0, 0), + [1959] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 4, 0, 0), + [1961] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, 0, 0), + [1963] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_pattern_repeat1, 2, 0, 0), SHIFT_REPEAT(907), + [1966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(640), + [1968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [1970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), + [1972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(638), + [1974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [1976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [1978] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_field_list, 3, 0, 0), + [1980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_anonymous_struct_field_list_repeat1, 2, 0, 0), + [1982] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_anonymous_struct_field_list_repeat1, 2, 0, 0), SHIFT_REPEAT(812), + [1985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(784), + [1987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(831), + [1989] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_list, 2, 0, 0), + [1991] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ensures_clause, 4, 0, 29), + [1993] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(159), + [1996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(693), + [1998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), + [2000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [2002] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_argument_list_angle_repeat1, 2, 0, 0), SHIFT_REPEAT(334), + [2005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_field_list, 3, 0, 0), + [2007] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_destructuring_field_list_repeat1, 2, 0, 0), + [2009] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_destructuring_field_list_repeat1, 2, 0, 0), SHIFT_REPEAT(819), + [2012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), + [2014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(746), + [2016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(897), + [2018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), + [2020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [2022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [2024] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_field_list, 1, 0, 0), + [2026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(747), + [2028] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 5, 0, 0), + [2030] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2, 0, 0), + [2032] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_type_repeat1, 2, 0, 0), SHIFT_REPEAT(390), + [2035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(790), + [2037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(605), + [2039] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [2041] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [2043] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_pattern, 3, 0, 0), + [2045] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), + [2047] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(715), + [2050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(578), + [2052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [2054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), + [2056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_parameter_list, 1, 0, 0), + [2058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(714), + [2060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(732), + [2062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(757), + [2064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(797), + [2066] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_enum_member_list, 3, 0, 0), + [2068] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_enum_member_list_repeat1, 2, 0, 0), + [2070] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_enum_member_list_repeat1, 2, 0, 0), SHIFT_REPEAT(809), + [2073] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 1, 0, 0), + [2075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(702), + [2077] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_log_parameter_list_repeat1, 2, 0, 0), + [2079] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_log_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(737), + [2082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_field, 1, 0, 0), + [2084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(861), + [2086] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_field_list, 1, 0, 0), + [2088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(741), + [2090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(733), + [2092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(823), + [2094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(780), + [2096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [2098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [2100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(661), + [2102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_anonymous_struct_field, 3, 0, 9), + [2104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(933), + [2106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_pattern, 1, 0, 0), + [2108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(709), + [2110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), + [2112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), + [2114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [2116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(690), + [2118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(617), + [2120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [2122] = {.entry = {.count = 1, .reusable = false}}, SHIFT(881), + [2124] = {.entry = {.count = 1, .reusable = false}}, SHIFT(920), + [2126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_parameter, 4, 0, 26), + [2128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_field, 4, 0, 9), + [2130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(582), + [2132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [2134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), + [2136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [2138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [2140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(946), + [2142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 9), + [2144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), + [2146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [2148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(598), + [2150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [2152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), + [2154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(863), + [2156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), + [2158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [2160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_pattern, 4, 0, 0), + [2162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_field, 5, 0, 9), + [2164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [2166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [2168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [2170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [2172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 4, 0, 38), + [2174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [2176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [2178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(977), + [2180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1018), + [2182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_log_parameter, 3, 0, 9), + [2184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(950), + [2186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(587), + [2188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), + [2190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [2192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), + [2194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [2196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [2198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), + [2200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [2202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_pattern, 3, 0, 0), + [2204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_destructuring_field, 3, 0, 52), + [2206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field, 4, 0, 9), + [2208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [2210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(718), + [2212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(854), + [2214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(887), + [2216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [2218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(721), + [2220] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), + [2222] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [2224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(910), + [2226] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [2228] = {.entry = {.count = 1, .reusable = true}}, SHIFT(877), + [2230] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [2232] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), + [2234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [2236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(875), + [2238] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [2240] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [2242] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [2244] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [2246] = {.entry = {.count = 1, .reusable = true}}, SHIFT(579), + [2248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [2250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), + [2252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(692), + [2254] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [2256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [2258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [2260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [2262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), + [2264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [2266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [2268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [2270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(882), + [2272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), + [2274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [2276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(766), + [2278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(614), + [2280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), + [2282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(701), + [2284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [2286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(631), + [2288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(912), + [2290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [2292] = {.entry = {.count = 1, .reusable = true}}, SHIFT(783), + [2294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(770), + [2296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(847), + [2298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), + [2300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(942), + [2302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), + [2304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(615), + [2306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1003), + [2308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(652), + [2310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(633), + [2312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [2314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(892), + [2316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(729), + [2318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [2320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(804), + [2322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [2324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(727), + [2326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(728), + [2328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(833), + [2330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [2332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(786), + [2334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [2336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [2338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [2340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [2342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), + [2344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(913), + [2346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(958), + [2348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [2350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [2352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [2354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [2356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(917), + [2358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(713), + [2360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(916), + [2362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [2364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(955), + [2366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(956), + [2368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(796), + [2370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [2372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [2374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [2376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(608), + [2378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [2380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(691), + [2382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(970), + [2384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [2386] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [2388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(808), + [2390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1000), + [2392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1001), + [2394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), + [2396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_pattern, 3, 0, 0), + [2398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), + [2400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [2402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(856), + [2404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameter_clause, 2, 0, 0), + [2406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_modifier, 1, 0, 0), + [2408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), + [2410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(879), + [2412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), + [2414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [2416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), + [2418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(651), + [2420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_layout, 3, 0, 0), + [2422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(748), + [2424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(731), + [2426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [2428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [2430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(597), + [2432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [2434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), + [2436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1014), + [2438] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_kind, 1, 0, 0), SHIFT(1009), + [2441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [2443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [2445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [2447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(985), + [2449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bitfield_layout, 6, 0, 0), + [2451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [2453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [2455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(899), + [2457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(630), + [2459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [2461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(805), + [2463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [2465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [2467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [2469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [2471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(708), + [2473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(900), + [2475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [2477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(622), + [2479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(932), + [2481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [2483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(621), + [2485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [2487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [2489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), + [2491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(832), + [2493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [2495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(943), + [2497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(712), + [2499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), + [2501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1006), + [2503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [2505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameter_clause, 3, 0, 0), + [2507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(872), + [2509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1011), + [2511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1013), + [2513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), + [2515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), + [2517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(884), }; #ifdef __cplusplus diff --git a/tree-sitter-ora/test/corpus/advanced.txt b/tree-sitter-ora/test/corpus/advanced.txt new file mode 100644 index 0000000..9709cbf --- /dev/null +++ b/tree-sitter-ora/test/corpus/advanced.txt @@ -0,0 +1,296 @@ +================================================================================ +Region declarations without var kind +================================================================================ + +contract Regions { + storage balances: map; + storage owner: address; +} + +-------------------------------------------------------------------------------- + +(source_file + (contract_declaration + (identifier) + (contract_member + (variable_declaration + (memory_region) + (identifier) + (type + (plain_type + (map_type + (type + (plain_type + (primitive_type))) + (type + (plain_type + (primitive_type)))))))) + (contract_member + (variable_declaration + (memory_region) + (identifier) + (type + (plain_type + (primitive_type))))))) + +================================================================================ +Intrinsics plus assume and havoc +================================================================================ + +contract Intrinsics { + pub fn run(x: u256) -> u256 { + let o = @addWithOverflow(x, 1); + havoc x; + assume(x >= 0); + return o.value; + } +} + +-------------------------------------------------------------------------------- + +(source_file + (contract_declaration + (identifier) + (contract_member + (function_declaration + (identifier) + (parameter_list + (parameter + (identifier) + (type + (plain_type + (primitive_type))))) + (return_type + (type + (plain_type + (primitive_type)))) + (block + (variable_declaration + (variable_kind) + (identifier) + (primary_expression + (intrinsic_expression + (identifier) + (expression_list + (primary_expression + (identifier)) + (primary_expression + (literal + (number_literal))))))) + (havoc_statement + (lvalue + (identifier))) + (assume_statement + (binary_expression + (primary_expression + (identifier)) + (primary_expression + (literal + (number_literal))))) + (return_statement + (postfix_expression + (primary_expression + (identifier)) + (postfix_operator + (identifier))))))))) + +================================================================================ +Comptime while with invariants and decreases +================================================================================ + +contract ComptimeLoops { + pub fn run(n: u256) -> u256 { + var i: u256 = 0; + comptime while (i < n) + invariant(i <= n) + decreases(n - i) + { + i = i + 1; + } + return i; + } +} + +-------------------------------------------------------------------------------- + +(source_file + (contract_declaration + (identifier) + (contract_member + (function_declaration + (identifier) + (parameter_list + (parameter + (identifier) + (type + (plain_type + (primitive_type))))) + (return_type + (type + (plain_type + (primitive_type)))) + (block + (variable_declaration + (variable_kind) + (identifier) + (type + (plain_type + (primitive_type))) + (primary_expression + (literal + (number_literal)))) + (comptime_statement + (while_statement + (binary_expression + (primary_expression + (identifier)) + (primary_expression + (identifier))) + (invariant_clause + (binary_expression + (primary_expression + (identifier)) + (primary_expression + (identifier)))) + (decreases_clause + (binary_expression + (primary_expression + (identifier)) + (primary_expression + (identifier)))) + (block + (assignment_statement + (lvalue + (identifier)) + (binary_expression + (primary_expression + (identifier)) + (primary_expression + (literal + (number_literal)))))))) + (return_statement + (primary_expression + (identifier)))))))) + +================================================================================ +Generic struct and tuple pattern declarations +================================================================================ + +contract GenericTuple { + struct Pair(comptime T: type) { + first: T; + second: T; + } + + pub fn make(a: u256, b: u256) -> Pair(u256) { + let t: (u256, u256) = (a, b); + let (x, y): (u256, u256) = t; + return Pair(u256) { .first = x, .second = y }; + } +} + +-------------------------------------------------------------------------------- + +(source_file + (contract_declaration + (identifier) + (contract_member + (struct_declaration + (identifier) + (generic_parameter_clause + (parameter_list + (parameter + (parameter_modifier) + (identifier) + (type + (plain_type + (identifier)))))) + (struct_field + (identifier) + (type + (plain_type + (identifier)))) + (struct_field + (identifier) + (type + (plain_type + (identifier)))))) + (contract_member + (function_declaration + (identifier) + (parameter_list + (parameter + (identifier) + (type + (plain_type + (primitive_type)))) + (parameter + (identifier) + (type + (plain_type + (primitive_type))))) + (return_type + (type + (plain_type + (generic_type + (identifier) + (type_argument_list_paren + (type_argument + (type + (plain_type + (primitive_type))))))))) + (block + (variable_declaration + (variable_kind) + (identifier) + (type + (plain_type + (tuple_type + (type + (plain_type + (primitive_type))) + (type + (plain_type + (primitive_type)))))) + (primary_expression + (tuple_expression + (primary_expression + (identifier)) + (primary_expression + (identifier))))) + (tuple_variable_declaration + (variable_kind) + (tuple_pattern + (identifier) + (identifier)) + (type + (plain_type + (tuple_type + (type + (plain_type + (primitive_type))) + (type + (plain_type + (primitive_type)))))) + (primary_expression + (identifier))) + (return_statement + (primary_expression + (struct_literal + (generic_type + (identifier) + (type_argument_list_paren + (type_argument + (type + (plain_type + (primitive_type)))))) + (struct_literal_fields + (struct_literal_field_list + (struct_literal_field + (identifier) + (primary_expression + (identifier))) + (struct_literal_field + (identifier) + (primary_expression + (identifier))))))))))))) diff --git a/tree-sitter-ora/test/corpus/functions.txt b/tree-sitter-ora/test/corpus/functions.txt index 3de8679..8c76851 100644 --- a/tree-sitter-ora/test/corpus/functions.txt +++ b/tree-sitter-ora/test/corpus/functions.txt @@ -26,6 +26,49 @@ fn id(x: u256) -> u256 { (primary_expression (identifier)))))) +================================================================================ +Function with comptime parameters +================================================================================ + +fn add(comptime T: type, comptime bias: T, x: T) -> T { + return x + bias; +} + +-------------------------------------------------------------------------------- + +(source_file + (function_declaration + (identifier) + (parameter_list + (parameter + (parameter_modifier) + (identifier) + (type + (plain_type + (identifier)))) + (parameter + (parameter_modifier) + (identifier) + (type + (plain_type + (identifier)))) + (parameter + (identifier) + (type + (plain_type + (identifier))))) + (return_type + (type + (plain_type + (identifier)))) + (block + (return_statement + (binary_expression + (primary_expression + (identifier)) + (primary_expression + (identifier))))))) + ================================================================================ Function with requires and ensures clauses ================================================================================