diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 288f22a..1567eff 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,6 +36,7 @@ jobs: test-swift: false # default - name: Check correspondence to Ohm parser + if: ${{ runner.os != 'Windows' }} run: | - git clone https://github.com/tact-lang/tact.git + git clone https://github.com/tact-lang/tact.git -b "v$(jq -r '.version' < package.json)" npm run parse -- -q tact/src/grammar/test/*.tact diff --git a/Cargo.toml b/Cargo.toml index be04cad..50d686d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,7 +1,7 @@ [package] name = "tree-sitter-tact" description = "Tact grammar for the tree-sitter" -version = "1.4.1" +version = "1.5.0" authors = ["Novus Nota (https://github.com/novusnota)"] license = "MIT" keywords = ["incremental", "parsing", "tact"] diff --git a/Makefile b/Makefile index 170d30b..5735ce3 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -VERSION := 1.4.1 +VERSION := 1.5.0 LANGUAGE_NAME := tree-sitter-tact diff --git a/README.md b/README.md index 1a5365a..accb17f 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,8 @@ A fully-featured 🌳 [Tree-sitter](https://github.com/tree-sitter/tree-sitter) - ⚙ Test-covered (including queries), reflects latest Tact language updates. - 🚀 See guidelines on usage and integration in editors supporting Tree-sitter [below](#-usage). +Note, that the only limiting point are the `asm` functions introduced in Tact 1.5.0 — their bodies doesn't produce any highlighting and can be ill-parsed for now, so expect ERROR nodes in the parse tree. In the future, this is planned to be resolved by an external scanner — it can parse much more, and it can yield more tokens for subsequent highlighting. + ## 🚀 Usage ### Neovim diff --git a/editor_queries/helix/highlights.scm b/editor_queries/helix/highlights.scm index a60f3c1..78dbfe9 100644 --- a/editor_queries/helix/highlights.scm +++ b/editor_queries/helix/highlights.scm @@ -66,6 +66,7 @@ ">" ">=" ">>" "&" "|" "^" "&&" "||" + "->" ] @operator ; constructor @@ -88,10 +89,8 @@ (tlb_serialization "as" @keyword type: (identifier) @type.builtin - (#any-of? @type.builtin - "int8" "int16" "int32" "int64" "int128" "int256" "int257" - "uint8" "uint16" "uint32" "uint64" "uint128" "uint256" - "coins" "remaining" "bytes32" "bytes64")) + (#match? @type.builtin + "^(coins|remaining|bytes32|bytes64|int257|u?int(?:2[0-5][0-6]|1[0-9][0-9]|[1-9][0-9]?))$")) ((type_identifier) @type.builtin (#any-of? @type.builtin @@ -108,7 +107,7 @@ ">" @punctuation.bracket) ((identifier) @type.builtin - (#eq? @type.builtin "SendParameters") + (#any-of? @type.builtin "Context" "SendParameters" "StateInit" "StdAddress" "VarAddress") (#is-not? local)) ; string @@ -152,6 +151,7 @@ "SendDestroyIfZero" "SendRemainingValue" "SendRemainingBalance" + "SendOnlyEstimateFee" "ReserveExact" "ReserveAllExcept" "ReserveAtMost" @@ -197,6 +197,7 @@ [ "fun" "native" + "asm" ] @keyword.function ; keyword.directive @@ -254,6 +255,9 @@ (native_function name: (identifier) @function) +(asm_function + name: (identifier) @function) + (global_function name: (identifier) @function) @@ -281,25 +285,6 @@ (method_call_expression name: (identifier) @function.method) -; function.builtin -; ---------------- - -(static_call_expression - name: (identifier) @function.builtin - (#any-of? @function.builtin - "send" "sender" "require" "now" - "myBalance" "myAddress" "newAddress" - "contractAddress" "contractAddressExt" - "emit" "cell" "ton" - "beginString" "beginComment" "beginTailString" "beginStringFromBuilder" "beginCell" "emptyCell" - "randomInt" "random" - "checkSignature" "checkDataSignature" "sha256" - "min" "max" "abs" "pow" "pow2" "log" "log2" - "throw" "dump" "dumpStack" "getConfigParam" - "nativeThrowIf" "nativeThrowUnless" "nativeReserve" - "nativeRandomize" "nativeRandomizeLt" "nativePrepareRandom" "nativeRandom" "nativeRandomInterval") - (#is-not? local)) - ; attribute ; --------- diff --git a/editor_queries/helix/indents.scm b/editor_queries/helix/indents.scm index 9388299..ec3d70f 100644 --- a/editor_queries/helix/indents.scm +++ b/editor_queries/helix/indents.scm @@ -18,6 +18,8 @@ (trait_body) (function_body) (block_statement) + (asm_function_body) + (asm_list) ; misc. (ternary_expression) diff --git a/editor_queries/helix/textobjects.scm b/editor_queries/helix/textobjects.scm index 0622667..51d9c5e 100644 --- a/editor_queries/helix/textobjects.scm +++ b/editor_queries/helix/textobjects.scm @@ -3,6 +3,9 @@ ; function.inside & around ; ------------------------ +(asm_function + body: (_) @function.inside) @function.around + (global_function body: (_) @function.inside) @function.around diff --git a/editor_queries/neovim/context.scm b/editor_queries/neovim/context.scm index eae9443..42e6470 100644 --- a/editor_queries/neovim/context.scm +++ b/editor_queries/neovim/context.scm @@ -19,6 +19,10 @@ ; functions ; --------- +(asm_function + body: (_ + (_) @context.end)) @context + (global_function body: (_ (_) @context.end)) @context diff --git a/editor_queries/neovim/folds.scm b/editor_queries/neovim/folds.scm index 310fb84..406fa2f 100644 --- a/editor_queries/neovim/folds.scm +++ b/editor_queries/neovim/folds.scm @@ -14,4 +14,6 @@ (trait_body) (function_body) (block_statement) + (asm_function_body) + (asm_list) ] @fold diff --git a/editor_queries/neovim/highlights.scm b/editor_queries/neovim/highlights.scm index 98432a1..fcfd993 100644 --- a/editor_queries/neovim/highlights.scm +++ b/editor_queries/neovim/highlights.scm @@ -61,6 +61,7 @@ "^" "&&" "||" + "->" ] @operator ; constructor @@ -78,7 +79,7 @@ ; type.builtin ; ------------ ((identifier) @type.builtin - (#eq? @type.builtin "SendParameters")) + (#any-of? @type.builtin "Context" "SendParameters" "StateInit" "StdAddress" "VarAddress")) (bounced_type "bounced" @type.builtin @@ -96,9 +97,8 @@ (tlb_serialization "as" @keyword type: (identifier) @type.builtin - (#any-of? @type.builtin - "int8" "int16" "int32" "int64" "int128" "int256" "int257" "uint8" "uint16" "uint32" "uint64" - "uint128" "uint256" "coins" "remaining" "bytes32" "bytes64")) + (#match? @type.builtin + "^(coins|remaining|bytes32|bytes64|int257|u?int(?:2[0-5][0-6]|1[0-9][0-9]|[1-9][0-9]?))$")) ; string ; ------ @@ -132,8 +132,9 @@ ((identifier) @constant.builtin (#any-of? @constant.builtin "SendBounceIfActionFail" "SendPayGasSeparately" "SendIgnoreErrors" "SendDestroyIfZero" - "SendRemainingValue" "SendRemainingBalance" "ReserveExact" "ReserveAllExcept" "ReserveAtMost" - "ReserveAddOriginalBalance" "ReserveInvertSign" "ReserveBounceIfActionFail")) + "SendRemainingValue" "SendRemainingBalance" "SendOnlyEstimateFee" "ReserveExact" + "ReserveAllExcept" "ReserveAtMost" "ReserveAddOriginalBalance" "ReserveInvertSign" + "ReserveBounceIfActionFail")) ; property ; -------- @@ -177,6 +178,7 @@ [ "fun" "native" + "asm" ] @keyword.function ; keyword.operator @@ -244,6 +246,9 @@ (native_function name: (identifier) @function) +(asm_function + name: (identifier) @function) + (global_function name: (identifier) @function) @@ -276,18 +281,6 @@ (method_call_expression name: (identifier) @function.method.call) -; function.builtin -; ---------------- -(static_call_expression - name: (identifier) @function.builtin - (#any-of? @function.builtin - "log" "log2" "send" "sender" "require" "now" "myBalance" "myAddress" "newAddress" - "contractAddress" "contractAddressExt" "emit" "cell" "ton" "dump" "dumpStack" "beginString" - "beginComment" "beginTailString" "beginStringFromBuilder" "beginCell" "emptyCell" "randomInt" - "random" "checkSignature" "checkDataSignature" "sha256" "min" "max" "abs" "pow" "pow2" "throw" - "nativeThrowIf" "nativeThrowUnless" "getConfigParam" "nativeRandomize" "nativeRandomizeLt" - "nativePrepareRandom" "nativeRandom" "nativeRandomInterval" "nativeReserve")) - ; attribute ; --------- [ diff --git a/editor_queries/neovim/indents.scm b/editor_queries/neovim/indents.scm index 1915246..c4e8680 100644 --- a/editor_queries/neovim/indents.scm +++ b/editor_queries/neovim/indents.scm @@ -14,6 +14,8 @@ (trait_body) (function_body) (block_statement) + (asm_function_body) + (asm_list) ; misc. (binary_expression) (ternary_expression) diff --git a/editor_queries/neovim/locals.scm b/editor_queries/neovim/locals.scm index 9795043..cee1632 100644 --- a/editor_queries/neovim/locals.scm +++ b/editor_queries/neovim/locals.scm @@ -4,6 +4,7 @@ ; Scopes @local.scope ; ------------------------- [ + (asm_function) (global_function) (init_function) (bounced_function) @@ -30,6 +31,10 @@ name: (identifier) @local.definition.constant) ; functions +(asm_function + name: (identifier) @local.definition.function + (#set! definition.var.scope parent)) + (global_function name: (identifier) @local.definition.function (#set! definition.var.scope parent)) diff --git a/editor_queries/neovim/textobjects.scm b/editor_queries/neovim/textobjects.scm index 98d9a94..8241695 100644 --- a/editor_queries/neovim/textobjects.scm +++ b/editor_queries/neovim/textobjects.scm @@ -1,6 +1,21 @@ ; See: https://github.com/nvim-treesitter/nvim-treesitter-textobjects#built-in-textobjects ; function.inner & outer ; ---------------------- +; asm +(asm_function + body: (_)) @function.outer + +(asm_function + body: (asm_function_body + . + "{" + . + (_) @_start + (_)? @_end + . + "}") + (#make-range! "function.inner" @_start @_end)) + ; global (global_function body: (_)) @function.outer @@ -149,7 +164,8 @@ ; ----------------------- ("@name" "(" - func_name: (func_identifier) @attribute.inner")") @attribute.outer + func_name: (func_identifier) @attribute.inner + ")") @attribute.outer (contract_attributes ("@interface" @@ -255,6 +271,9 @@ (_ (block_statement) @block.inner) @block.outer +(_ + (asm_list) @block.inner) @block.outer + ; call.inner & outer ; ------------------ (method_call_expression) @call.outer diff --git a/grammar.js b/grammar.js index a3048ab..1541ceb 100644 --- a/grammar.js +++ b/grammar.js @@ -129,6 +129,7 @@ module.exports = grammar({ $.primitive, alias($._constant, $.global_constant), $.native_function, + $.asm_function, alias($._function, $.global_function), $.struct, $.message, @@ -177,6 +178,82 @@ module.exports = grammar({ ";", ), + /* Asm functions */ + + asm_function: ($) => + seq( + "asm", + field("arrangement", optional($.asm_arrangement)), + field("attributes", optional($.function_attributes)), + "fun", + field("name", $.identifier), + field("parameters", $.parameter_list), + field("result", optional(seq(":", $._type))), + field("body", $.asm_function_body), + ), + + asm_arrangement: ($) => + seq( + "(", + field("arguments", optional($.asm_arrangement_args)), + field("returns", optional($.asm_arrangement_rets)), + ")", + ), + + asm_arrangement_args: ($) => repeat1($.identifier), + asm_arrangement_rets: ($) => + seq("->", repeat1(alias($._decimal_integer, $.integer))), + + asm_function_body: ($) => + seq( + "{", + prec.right( + repeat( + choice( + // list with { } + $.asm_list, + // others + $._asm_instruction, + ), + ), + ), + prec.right("}"), + ), + + asm_list: ($) => seq("{", /\s/, repeat($._asm_instruction), "}", /\s/), + + _asm_instruction: ($) => + choice( + // listNoStateCheck + seq("({)", /\s/, repeat($._asm_instruction), "(})", /\s/), + // string + $._asm_string, + // char + seq("char", /\s/, /\S/, /\s/), + $._asm_hex_literal, + // custom + /\S+/, // NOTE: this point can be significantly improved + ), + + _asm_string: (_) => + seq( + choice('abort"', '."', '+"', '"'), + token.immediate(prec(1, /[^"]+/)), + token.immediate('"'), + /\s/, + ), + + _asm_hex_literal: (_) => + seq( + choice("x{", "B{"), + optional(/\s/), + /[\da-fA-F]*/, + optional(/\s/), + optional(seq("_", optional(/\s/))), + "}", + /\s/, + ), + /* Functions */ _function: ($) => @@ -189,6 +266,25 @@ module.exports = grammar({ choice(";", field("body", alias($.block_statement, $.function_body))), ), + _function_declaration: ($) => + seq( + field("attributes", optional($.function_attributes)), + "fun", + field("name", $.identifier), + field("parameters", $.parameter_list), + field("result", optional(seq(":", $._type))), + ), + + _function_definition: ($) => + seq( + field("attributes", optional($.function_attributes)), + "fun", + field("name", $.identifier), + field("parameters", $.parameter_list), + field("result", optional(seq(":", $._type))), + field("body", alias($.block_statement, $.function_body)), + ), + function_attributes: (_) => repeat1( choice( @@ -232,8 +328,18 @@ module.exports = grammar({ field: ($) => seq(field("name", $.identifier), $._field_after_id), + // Like _constant, but without a semicolon at the end + storage_constant: ($) => seq( + field("attributes", optional($.constant_attributes)), + "const", + field("name", $.identifier), + ":", + field("type", $._type), + optional(seq("=", field("value", $._expression))), + ), + storage_variable: ($) => - seq(field("name", $.identifier), $._field_after_id, ";"), + seq(field("name", $.identifier), $._field_after_id), _field_after_id: ($) => seq( @@ -275,13 +381,13 @@ module.exports = grammar({ "{", repeat( choice( - alias($._constant, $.storage_constant), - $.storage_variable, + seq($._body_item_without_semicolon, ";"), $.init_function, $._receiver_function, - alias($._function, $.storage_function), + alias($._function_definition, $.storage_function), ), ), + optional($._body_item_without_semicolon), "}", ), @@ -290,15 +396,21 @@ module.exports = grammar({ "{", repeat( choice( - alias($._constant, $.storage_constant), - $.storage_variable, + seq($._body_item_without_semicolon, ";"), $._receiver_function, - alias($._function, $.storage_function), + alias($._function_definition, $.storage_function), ), ), + optional($._body_item_without_semicolon), "}", ), + _body_item_without_semicolon: ($) => choice( + $.storage_constant, + $.storage_variable, + alias($._function_declaration, $.storage_function), + ), + init_function: ($) => seq( "init", @@ -766,6 +878,9 @@ module.exports = grammar({ ); }, + // Used in arrangements of arguments to return values in asm functions + _decimal_integer: (_) => /\d+/, + /* Comments */ comment: (_) => diff --git a/package.json b/package.json index c2b3f5c..7cb0347 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tree-sitter-tact", - "version": "1.4.1", + "version": "1.5.0", "description": "A tree-sitter grammar for the Tact programming language", "author": "Novus Nota (https://github.com/novusnota)", "license": "MIT", diff --git a/pyproject.toml b/pyproject.toml index 2777ca6..8bc2407 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta" [project] name = "tree-sitter-tact" description = "Tact grammar for tree-sitter" -version = "1.4.1" +version = "1.5.0" keywords = ["incremental", "parsing", "tree-sitter", "tact"] classifiers = [ "Intended Audience :: Developers", diff --git a/queries/highlights.scm b/queries/highlights.scm index 0d3e8d3..5aaad37 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -52,6 +52,7 @@ ">" ">=" ">>" "&" "|" "^" "&&" "||" + "->" ] @operator ; constructor @@ -75,7 +76,7 @@ "as" @keyword type: (identifier) @type.builtin (#match? @type.builtin - "^(int8|int16|int32|int64|int128|int256|int257|uint8|uint16|uint32|uint64|uint128|uint256|coins|remaining|bytes32|bytes64)$")) + "^(coins|remaining|bytes32|bytes64|int257|u?int(?:2[0-5][0-6]|1[0-9][0-9]|[1-9][0-9]?))$")) ((type_identifier) @type.builtin (#match? @type.builtin "^(Address|Bool|Builder|Cell|Int|Slice|String|StringBuilder)$")) @@ -91,7 +92,7 @@ ">" @punctuation.bracket) ((identifier) @type.builtin - (#eq? @type.builtin "SendParameters") + (#match? @type.builtin "^(Context|SendParameters|StateInit|StdAddress|VarAddress)$") (#is-not? local)) ; string @@ -126,7 +127,7 @@ ((identifier) @constant.builtin (#match? @constant.builtin - "^(SendBounceIfActionFail|SendPayGasSeparately|SendIgnoreErrors|SendDestroyIfZero|SendRemainingValue|SendRemainingBalance|ReserveExact|ReserveAllExcept|ReserveAtMost|ReserveAddOriginalBalance|ReserveInvertSign|ReserveBounceIfActionFail)$") + "^(SendBounceIfActionFail|SendPayGasSeparately|SendIgnoreErrors|SendDestroyIfZero|SendRemainingValue|SendRemainingBalance|SendOnlyEstimateFee|ReserveExact|ReserveAllExcept|ReserveAtMost|ReserveAddOriginalBalance|ReserveInvertSign|ReserveBounceIfActionFail)$") (#is-not? local)) ; property @@ -160,7 +161,7 @@ [ "get" "mutates" "extends" "virtual" "override" "inline" "abstract" "contract" "trait" "struct" "message" "with" - "const" "let" "fun" "native" + "const" "let" "fun" "native" "asm" "primitive" "import" "if" "else" "while" "repeat" "do" "until" "foreach" "try" "catch" @@ -178,6 +179,9 @@ (native_function name: (identifier) @function) +(asm_function + name: (identifier) @function) + (global_function name: (identifier) @function) @@ -201,15 +205,6 @@ (method_call_expression name: (identifier) @function) -; function.builtin -; ---------------- - -(static_call_expression - name: (identifier) @function.builtin - (#match? @function.builtin - "^(log|log2|send|sender|require|now|myBalance|myAddress|newAddress|contractAddress|contractAddressExt|emit|cell|ton|dump|dumpStack|beginString|beginComment|beginTailString|beginStringFromBuilder|beginCell|emptyCell|randomInt|random|checkSignature|checkDataSignature|sha256|min|max|abs|pow|pow2|throw|nativeThrowIf|nativeThrowUnless|getConfigParam|nativeRandomize|nativeRandomizeLt|nativePrepareRandom|nativeRandom|nativeRandomInterval|nativeReserve)$") - (#is-not? local)) - ; attribute ; --------- diff --git a/queries/locals.scm b/queries/locals.scm index 4550a43..2b9417e 100644 --- a/queries/locals.scm +++ b/queries/locals.scm @@ -4,6 +4,7 @@ ; ------------------------- [ + (asm_function) (global_function) (init_function) (bounced_function) diff --git a/queries/tags.scm b/queries/tags.scm index 0034bc6..39bbca3 100644 --- a/queries/tags.scm +++ b/queries/tags.scm @@ -28,6 +28,8 @@ [ (native_function name: (identifier) @name) + (asm_function + name: (identifier) @name) (global_function name: (identifier) @name) ] @definition.function diff --git a/src/grammar.json b/src/grammar.json index 18ada3a..9e5b43d 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -62,6 +62,10 @@ "type": "SYMBOL", "name": "native_function" }, + { + "type": "SYMBOL", + "name": "asm_function" + }, { "type": "ALIAS", "content": { @@ -229,9 +233,596 @@ } }, { - "type": "STRING", - "value": ")" - }, + "type": "STRING", + "value": ")" + }, + { + "type": "FIELD", + "name": "attributes", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_attributes" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "native" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameter_list" + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "FIELD", + "name": "result", + "content": { + "type": "SYMBOL", + "name": "_type" + } + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "asm_function": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "asm" + }, + { + "type": "FIELD", + "name": "arrangement", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "asm_arrangement" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "attributes", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_attributes" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "fun" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameter_list" + } + }, + { + "type": "FIELD", + "name": "result", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "_type" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "SYMBOL", + "name": "asm_function_body" + } + } + ] + }, + "asm_arrangement": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "FIELD", + "name": "arguments", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "asm_arrangement_args" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "FIELD", + "name": "returns", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "asm_arrangement_rets" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "asm_arrangement_args": { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + "asm_arrangement_rets": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "->" + }, + { + "type": "REPEAT1", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_decimal_integer" + }, + "named": true, + "value": "integer" + } + } + ] + }, + "asm_function_body": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "asm_list" + }, + { + "type": "SYMBOL", + "name": "_asm_instruction" + } + ] + } + } + }, + { + "type": "PREC_RIGHT", + "value": 0, + "content": { + "type": "STRING", + "value": "}" + } + } + ] + }, + "asm_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "PATTERN", + "value": "\\s" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_asm_instruction" + } + }, + { + "type": "STRING", + "value": "}" + }, + { + "type": "PATTERN", + "value": "\\s" + } + ] + }, + "_asm_instruction": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "({)" + }, + { + "type": "PATTERN", + "value": "\\s" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "_asm_instruction" + } + }, + { + "type": "STRING", + "value": "(})" + }, + { + "type": "PATTERN", + "value": "\\s" + } + ] + }, + { + "type": "SYMBOL", + "name": "_asm_string" + }, + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "char" + }, + { + "type": "PATTERN", + "value": "\\s" + }, + { + "type": "PATTERN", + "value": "\\S" + }, + { + "type": "PATTERN", + "value": "\\s" + } + ] + }, + { + "type": "SYMBOL", + "name": "_asm_hex_literal" + }, + { + "type": "PATTERN", + "value": "\\S+" + } + ] + }, + "_asm_string": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "abort\"" + }, + { + "type": "STRING", + "value": ".\"" + }, + { + "type": "STRING", + "value": "+\"" + }, + { + "type": "STRING", + "value": "\"" + } + ] + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "PREC", + "value": 1, + "content": { + "type": "PATTERN", + "value": "[^\"]+" + } + } + }, + { + "type": "IMMEDIATE_TOKEN", + "content": { + "type": "STRING", + "value": "\"" + } + }, + { + "type": "PATTERN", + "value": "\\s" + } + ] + }, + "_asm_hex_literal": { + "type": "SEQ", + "members": [ + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "x{" + }, + { + "type": "STRING", + "value": "B{" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "\\s" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "PATTERN", + "value": "[\\da-fA-F]*" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "\\s" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "_" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "\\s" + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + }, + { + "type": "PATTERN", + "value": "\\s" + } + ] + }, + "_function": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "attributes", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "function_attributes" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "fun" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "FIELD", + "name": "parameters", + "content": { + "type": "SYMBOL", + "name": "parameter_list" + } + }, + { + "type": "FIELD", + "name": "result", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "_type" + } + ] + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": ";" + }, + { + "type": "FIELD", + "name": "body", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "block_statement" + }, + "named": true, + "value": "function_body" + } + } + ] + } + ] + }, + "_function_declaration": { + "type": "SEQ", + "members": [ { "type": "FIELD", "name": "attributes", @@ -250,7 +841,7 @@ }, { "type": "STRING", - "value": "native" + "value": "fun" }, { "type": "FIELD", @@ -269,37 +860,33 @@ } }, { - "type": "CHOICE", - "members": [ - { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": ":" - }, - { - "type": "FIELD", - "name": "result", - "content": { + "type": "FIELD", + "name": "result", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": ":" + }, + { "type": "SYMBOL", "name": "_type" } - } - ] - }, - { - "type": "BLANK" - } - ] - }, - { - "type": "STRING", - "value": ";" + ] + }, + { + "type": "BLANK" + } + ] + } } ] }, - "_function": { + "_function_definition": { "type": "SEQ", "members": [ { @@ -364,26 +951,17 @@ } }, { - "type": "CHOICE", - "members": [ - { - "type": "STRING", - "value": ";" + "type": "FIELD", + "name": "body", + "content": { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "block_statement" }, - { - "type": "FIELD", - "name": "body", - "content": { - "type": "ALIAS", - "content": { - "type": "SYMBOL", - "name": "block_statement" - }, - "named": true, - "value": "function_body" - } - } - ] + "named": true, + "value": "function_body" + } } ] }, @@ -679,6 +1257,76 @@ } ] }, + "storage_constant": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "attributes", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "constant_attributes" + }, + { + "type": "BLANK" + } + ] + } + }, + { + "type": "STRING", + "value": "const" + }, + { + "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": "SEQ", + "members": [ + { + "type": "STRING", + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "_expression" + } + } + ] + }, + { + "type": "BLANK" + } + ] + } + ] + }, "storage_variable": { "type": "SEQ", "members": [ @@ -693,10 +1341,6 @@ { "type": "SYMBOL", "name": "_field_after_id" - }, - { - "type": "STRING", - "value": ";" } ] }, @@ -968,17 +1612,17 @@ "type": "CHOICE", "members": [ { - "type": "ALIAS", - "content": { - "type": "SYMBOL", - "name": "_constant" - }, - "named": true, - "value": "storage_constant" - }, - { - "type": "SYMBOL", - "name": "storage_variable" + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_body_item_without_semicolon" + }, + { + "type": "STRING", + "value": ";" + } + ] }, { "type": "SYMBOL", @@ -992,7 +1636,7 @@ "type": "ALIAS", "content": { "type": "SYMBOL", - "name": "_function" + "name": "_function_definition" }, "named": true, "value": "storage_function" @@ -1000,6 +1644,18 @@ ] } }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_body_item_without_semicolon" + }, + { + "type": "BLANK" + } + ] + }, { "type": "STRING", "value": "}" @@ -1019,17 +1675,17 @@ "type": "CHOICE", "members": [ { - "type": "ALIAS", - "content": { - "type": "SYMBOL", - "name": "_constant" - }, - "named": true, - "value": "storage_constant" - }, - { - "type": "SYMBOL", - "name": "storage_variable" + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "_body_item_without_semicolon" + }, + { + "type": "STRING", + "value": ";" + } + ] }, { "type": "SYMBOL", @@ -1039,7 +1695,7 @@ "type": "ALIAS", "content": { "type": "SYMBOL", - "name": "_function" + "name": "_function_definition" }, "named": true, "value": "storage_function" @@ -1047,12 +1703,46 @@ ] } }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_body_item_without_semicolon" + }, + { + "type": "BLANK" + } + ] + }, { "type": "STRING", "value": "}" } ] }, + "_body_item_without_semicolon": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "storage_constant" + }, + { + "type": "SYMBOL", + "name": "storage_variable" + }, + { + "type": "ALIAS", + "content": { + "type": "SYMBOL", + "name": "_function_declaration" + }, + "named": true, + "value": "storage_function" + } + ] + }, "init_function": { "type": "SEQ", "members": [ @@ -3382,6 +4072,10 @@ ] } }, + "_decimal_integer": { + "type": "PATTERN", + "value": "\\d+" + }, "comment": { "type": "TOKEN", "content": { diff --git a/src/node-types.json b/src/node-types.json index d087c98..b9efef7 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -100,6 +100,164 @@ ] } }, + { + "type": "asm_arrangement", + "named": true, + "fields": { + "arguments": { + "multiple": false, + "required": false, + "types": [ + { + "type": "asm_arrangement_args", + "named": true + } + ] + }, + "returns": { + "multiple": false, + "required": false, + "types": [ + { + "type": "asm_arrangement_rets", + "named": true + } + ] + } + } + }, + { + "type": "asm_arrangement_args", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "asm_arrangement_rets", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "integer", + "named": true + } + ] + } + }, + { + "type": "asm_function", + "named": true, + "fields": { + "arrangement": { + "multiple": false, + "required": false, + "types": [ + { + "type": "asm_arrangement", + "named": true + } + ] + }, + "attributes": { + "multiple": false, + "required": false, + "types": [ + { + "type": "function_attributes", + "named": true + } + ] + }, + "body": { + "multiple": false, + "required": true, + "types": [ + { + "type": "asm_function_body", + "named": true + } + ] + }, + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "parameters": { + "multiple": false, + "required": true, + "types": [ + { + "type": "parameter_list", + "named": true + } + ] + }, + "result": { + "multiple": true, + "required": false, + "types": [ + { + "type": ":", + "named": false + }, + { + "type": "?", + "named": false + }, + { + "type": "bounced_type", + "named": true + }, + { + "type": "map_type", + "named": true + }, + { + "type": "type_identifier", + "named": true + } + ] + } + } + }, + { + "type": "asm_function_body", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "asm_list", + "named": true + } + ] + } + }, + { + "type": "asm_list", + "named": true, + "fields": {} + }, { "type": "assignment_statement", "named": true, @@ -1782,6 +1940,10 @@ "multiple": true, "required": false, "types": [ + { + "type": "asm_function", + "named": true + }, { "type": "contract", "named": true @@ -2468,6 +2630,14 @@ "type": "(", "named": false }, + { + "type": "({)", + "named": false + }, + { + "type": "(})", + "named": false + }, { "type": ")", "named": false @@ -2484,6 +2654,10 @@ "type": "+", "named": false }, + { + "type": "+\"", + "named": false + }, { "type": "+=", "named": false @@ -2500,10 +2674,18 @@ "type": "-=", "named": false }, + { + "type": "->", + "named": false + }, { "type": ".", "named": false }, + { + "type": ".\"", + "named": false + }, { "type": "/", "named": false @@ -2564,6 +2746,10 @@ "type": "@name", "named": false }, + { + "type": "B{", + "named": false + }, { "type": "^", "named": false @@ -2572,6 +2758,14 @@ "type": "^=", "named": false }, + { + "type": "_", + "named": false + }, + { + "type": "abort\"", + "named": false + }, { "type": "abstract", "named": false @@ -2580,6 +2774,10 @@ "type": "as", "named": false }, + { + "type": "asm", + "named": false + }, { "type": "bounced", "named": false @@ -2588,6 +2786,10 @@ "type": "catch", "named": false }, + { + "type": "char", + "named": false + }, { "type": "comment", "named": true @@ -2752,6 +2954,10 @@ "type": "with", "named": false }, + { + "type": "x{", + "named": false + }, { "type": "{", "named": false diff --git a/src/parser.c b/src/parser.c index 89947cc..680d5b3 100644 --- a/src/parser.c +++ b/src/parser.c @@ -5,15 +5,15 @@ #endif #define LANGUAGE_VERSION 14 -#define STATE_COUNT 408 +#define STATE_COUNT 572 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 177 -#define ALIAS_COUNT 5 -#define TOKEN_COUNT 92 +#define SYMBOL_COUNT 211 +#define ALIAS_COUNT 3 +#define TOKEN_COUNT 109 #define EXTERNAL_TOKEN_COUNT 0 -#define FIELD_COUNT 27 +#define FIELD_COUNT 29 #define MAX_ALIAS_SEQUENCE_LENGTH 11 -#define PRODUCTION_ID_COUNT 65 +#define PRODUCTION_ID_COUNT 75 enum ts_symbol_identifiers { sym_identifier = 1, @@ -30,173 +30,205 @@ enum ts_symbol_identifiers { anon_sym_LPAREN = 12, anon_sym_RPAREN = 13, anon_sym_native = 14, - anon_sym_fun = 15, - anon_sym_get = 16, - anon_sym_mutates = 17, - anon_sym_extends = 18, - anon_sym_inline = 19, - anon_sym_COMMA = 20, - anon_sym_struct = 21, - anon_sym_message = 22, - anon_sym_LBRACE = 23, - anon_sym_RBRACE = 24, - anon_sym_contract = 25, - anon_sym_trait = 26, - anon_sym_ATinterface = 27, - anon_sym_with = 28, - anon_sym_init = 29, - anon_sym_receive = 30, - anon_sym_bounced = 31, - anon_sym_external = 32, - anon_sym_let = 33, - anon_sym_return = 34, - anon_sym_PLUS_EQ = 35, - anon_sym_DASH_EQ = 36, - anon_sym_STAR_EQ = 37, - anon_sym_SLASH_EQ = 38, - anon_sym_PERCENT_EQ = 39, - anon_sym_AMP_EQ = 40, - anon_sym_PIPE_EQ = 41, - anon_sym_CARET_EQ = 42, - anon_sym_if = 43, - anon_sym_else = 44, - anon_sym_while = 45, - anon_sym_repeat = 46, - anon_sym_do = 47, - anon_sym_until = 48, - anon_sym_try = 49, - anon_sym_catch = 50, - anon_sym_foreach = 51, - anon_sym_in = 52, - anon_sym_QMARK = 53, - anon_sym_PIPE_PIPE = 54, - anon_sym_AMP_AMP = 55, - anon_sym_PIPE = 56, - anon_sym_CARET = 57, - anon_sym_AMP = 58, - anon_sym_BANG_EQ = 59, - anon_sym_EQ_EQ = 60, - anon_sym_GT = 61, - anon_sym_GT_EQ = 62, - anon_sym_LT = 63, - anon_sym_LT_EQ = 64, - anon_sym_GT_GT = 65, - anon_sym_LT_LT = 66, - anon_sym_PLUS = 67, - anon_sym_DASH = 68, - anon_sym_STAR = 69, - anon_sym_SLASH = 70, - anon_sym_PERCENT = 71, - anon_sym_BANG = 72, - anon_sym_TILDE = 73, - anon_sym_BANG_BANG = 74, - anon_sym_DOT = 75, - anon_sym_initOf = 76, - anon_sym_map = 77, - sym__type_identifier = 78, - anon_sym_as = 79, - sym__func_quoted_id = 80, - sym__func_plain_id = 81, - sym_self = 82, - anon_sym_DQUOTE = 83, - anon_sym_DQUOTE2 = 84, - sym__non_quote_or_backslash_char = 85, - sym_escape_sequence = 86, - anon_sym_true = 87, - anon_sym_false = 88, - sym_null = 89, - sym_integer = 90, - sym_comment = 91, - sym_source_file = 92, - sym_import = 93, - sym__module_item = 94, - sym_primitive = 95, - sym__constant = 96, - sym_constant_attributes = 97, - sym_native_function = 98, - sym__function = 99, - sym_function_attributes = 100, - sym_parameter_list = 101, - sym_parameter = 102, - sym_struct = 103, - sym_message = 104, - sym_message_value = 105, - sym_struct_body = 106, - sym_field = 107, - sym_storage_variable = 108, - sym__field_after_id = 109, - sym_contract = 110, - sym_trait = 111, - sym_contract_attributes = 112, - sym_trait_list = 113, - sym_contract_body = 114, - sym_trait_body = 115, - sym_init_function = 116, - sym__receiver_function = 117, - sym_receive_function = 118, - sym_bounced_function = 119, - sym_external_function = 120, - sym__statement = 121, - sym__statement_with_brace = 122, - sym__statement_without_semicolon = 123, - sym_let_statement = 124, - sym_block_statement = 125, - sym_return_statement = 126, - sym_expression_statement = 127, - sym_assignment_statement = 128, - sym_augmented_assignment_statement = 129, - sym_if_statement = 130, - sym_else_clause = 131, - sym_while_statement = 132, - sym_repeat_statement = 133, - sym_do_until_statement = 134, - sym_try_statement = 135, - sym_catch_clause = 136, - sym_foreach_statement = 137, - sym__path_expression = 138, - sym__expression = 139, - sym_ternary_expression = 140, - sym_binary_expression = 141, - sym_unary_expression = 142, - sym_value_expression = 143, - sym_non_null_assert_expression = 144, - sym_method_call_expression = 145, - sym_field_access_expression = 146, - sym_static_call_expression = 147, - sym_argument_list = 148, - sym_argument = 149, - sym_parenthesized_expression = 150, - sym_instance_expression = 151, - sym_instance_argument_list = 152, - sym_instance_argument = 153, - sym_initOf = 154, - sym__type = 155, - sym_map_type = 156, - sym_bounced_type = 157, - sym__simple_type = 158, - sym_tlb_serialization = 159, - sym_func_identifier = 160, - sym_string = 161, - sym_boolean = 162, - aux_sym_source_file_repeat1 = 163, - aux_sym_source_file_repeat2 = 164, - aux_sym_constant_attributes_repeat1 = 165, - aux_sym_function_attributes_repeat1 = 166, - aux_sym_parameter_list_repeat1 = 167, - aux_sym_struct_body_repeat1 = 168, - aux_sym_contract_attributes_repeat1 = 169, - aux_sym_trait_list_repeat1 = 170, - aux_sym_contract_body_repeat1 = 171, - aux_sym_trait_body_repeat1 = 172, - aux_sym_block_statement_repeat1 = 173, - aux_sym_argument_list_repeat1 = 174, - aux_sym_instance_argument_list_repeat1 = 175, - aux_sym_string_repeat1 = 176, - alias_sym_function_body = 177, - alias_sym_global_constant = 178, - alias_sym_global_function = 179, - alias_sym_message_body = 180, - alias_sym_trait_attributes = 181, + anon_sym_asm = 15, + anon_sym_fun = 16, + anon_sym_DASH_GT = 17, + anon_sym_LBRACE = 18, + anon_sym_RBRACE = 19, + aux_sym_asm_list_token1 = 20, + anon_sym_LPAREN_LBRACE_RPAREN = 21, + anon_sym_LPAREN_RBRACE_RPAREN = 22, + anon_sym_char = 23, + aux_sym__asm_instruction_token1 = 24, + aux_sym__asm_instruction_token2 = 25, + anon_sym_abort_DQUOTE = 26, + anon_sym_DOT_DQUOTE = 27, + anon_sym_PLUS_DQUOTE = 28, + anon_sym_DQUOTE = 29, + aux_sym__asm_string_token1 = 30, + anon_sym_DQUOTE2 = 31, + anon_sym_x_LBRACE = 32, + anon_sym_B_LBRACE = 33, + aux_sym__asm_hex_literal_token1 = 34, + anon_sym__ = 35, + anon_sym_get = 36, + anon_sym_mutates = 37, + anon_sym_extends = 38, + anon_sym_inline = 39, + anon_sym_COMMA = 40, + anon_sym_struct = 41, + anon_sym_message = 42, + anon_sym_contract = 43, + anon_sym_trait = 44, + anon_sym_ATinterface = 45, + anon_sym_with = 46, + anon_sym_init = 47, + anon_sym_receive = 48, + anon_sym_bounced = 49, + anon_sym_external = 50, + anon_sym_let = 51, + anon_sym_return = 52, + anon_sym_PLUS_EQ = 53, + anon_sym_DASH_EQ = 54, + anon_sym_STAR_EQ = 55, + anon_sym_SLASH_EQ = 56, + anon_sym_PERCENT_EQ = 57, + anon_sym_AMP_EQ = 58, + anon_sym_PIPE_EQ = 59, + anon_sym_CARET_EQ = 60, + anon_sym_if = 61, + anon_sym_else = 62, + anon_sym_while = 63, + anon_sym_repeat = 64, + anon_sym_do = 65, + anon_sym_until = 66, + anon_sym_try = 67, + anon_sym_catch = 68, + anon_sym_foreach = 69, + anon_sym_in = 70, + anon_sym_QMARK = 71, + anon_sym_PIPE_PIPE = 72, + anon_sym_AMP_AMP = 73, + anon_sym_PIPE = 74, + anon_sym_CARET = 75, + anon_sym_AMP = 76, + anon_sym_BANG_EQ = 77, + anon_sym_EQ_EQ = 78, + anon_sym_GT = 79, + anon_sym_GT_EQ = 80, + anon_sym_LT = 81, + anon_sym_LT_EQ = 82, + anon_sym_GT_GT = 83, + anon_sym_LT_LT = 84, + anon_sym_PLUS = 85, + anon_sym_DASH = 86, + anon_sym_STAR = 87, + anon_sym_SLASH = 88, + anon_sym_PERCENT = 89, + anon_sym_BANG = 90, + anon_sym_TILDE = 91, + anon_sym_BANG_BANG = 92, + anon_sym_DOT = 93, + anon_sym_initOf = 94, + anon_sym_map = 95, + sym__type_identifier = 96, + anon_sym_as = 97, + sym__func_quoted_id = 98, + sym__func_plain_id = 99, + sym_self = 100, + sym__non_quote_or_backslash_char = 101, + sym_escape_sequence = 102, + anon_sym_true = 103, + anon_sym_false = 104, + sym_null = 105, + sym_integer = 106, + sym__decimal_integer = 107, + sym_comment = 108, + sym_source_file = 109, + sym_import = 110, + sym__module_item = 111, + sym_primitive = 112, + sym__constant = 113, + sym_constant_attributes = 114, + sym_native_function = 115, + sym_asm_function = 116, + sym_asm_arrangement = 117, + sym_asm_arrangement_args = 118, + sym_asm_arrangement_rets = 119, + sym_asm_function_body = 120, + sym_asm_list = 121, + sym__asm_instruction = 122, + sym__asm_string = 123, + sym__asm_hex_literal = 124, + sym__function = 125, + sym__function_declaration = 126, + sym__function_definition = 127, + sym_function_attributes = 128, + sym_parameter_list = 129, + sym_parameter = 130, + sym_struct = 131, + sym_message = 132, + sym_message_value = 133, + sym_struct_body = 134, + sym_field = 135, + sym_storage_constant = 136, + sym_storage_variable = 137, + sym__field_after_id = 138, + sym_contract = 139, + sym_trait = 140, + sym_contract_attributes = 141, + sym_trait_list = 142, + sym_contract_body = 143, + sym_trait_body = 144, + sym__body_item_without_semicolon = 145, + sym_init_function = 146, + sym__receiver_function = 147, + sym_receive_function = 148, + sym_bounced_function = 149, + sym_external_function = 150, + sym__statement = 151, + sym__statement_with_brace = 152, + sym__statement_without_semicolon = 153, + sym_let_statement = 154, + sym_block_statement = 155, + sym_return_statement = 156, + sym_expression_statement = 157, + sym_assignment_statement = 158, + sym_augmented_assignment_statement = 159, + sym_if_statement = 160, + sym_else_clause = 161, + sym_while_statement = 162, + sym_repeat_statement = 163, + sym_do_until_statement = 164, + sym_try_statement = 165, + sym_catch_clause = 166, + sym_foreach_statement = 167, + sym__path_expression = 168, + sym__expression = 169, + sym_ternary_expression = 170, + sym_binary_expression = 171, + sym_unary_expression = 172, + sym_value_expression = 173, + sym_non_null_assert_expression = 174, + sym_method_call_expression = 175, + sym_field_access_expression = 176, + sym_static_call_expression = 177, + sym_argument_list = 178, + sym_argument = 179, + sym_parenthesized_expression = 180, + sym_instance_expression = 181, + sym_instance_argument_list = 182, + sym_instance_argument = 183, + sym_initOf = 184, + sym__type = 185, + sym_map_type = 186, + sym_bounced_type = 187, + sym__simple_type = 188, + sym_tlb_serialization = 189, + sym_func_identifier = 190, + sym_string = 191, + sym_boolean = 192, + aux_sym_source_file_repeat1 = 193, + aux_sym_source_file_repeat2 = 194, + aux_sym_constant_attributes_repeat1 = 195, + aux_sym_asm_arrangement_args_repeat1 = 196, + aux_sym_asm_arrangement_rets_repeat1 = 197, + aux_sym_asm_function_body_repeat1 = 198, + aux_sym_asm_list_repeat1 = 199, + aux_sym_function_attributes_repeat1 = 200, + aux_sym_parameter_list_repeat1 = 201, + aux_sym_struct_body_repeat1 = 202, + aux_sym_contract_attributes_repeat1 = 203, + aux_sym_trait_list_repeat1 = 204, + aux_sym_contract_body_repeat1 = 205, + aux_sym_trait_body_repeat1 = 206, + aux_sym_block_statement_repeat1 = 207, + aux_sym_argument_list_repeat1 = 208, + aux_sym_instance_argument_list_repeat1 = 209, + aux_sym_string_repeat1 = 210, + alias_sym_function_body = 211, + alias_sym_message_body = 212, + alias_sym_trait_attributes = 213, }; static const char * const ts_symbol_names[] = { @@ -215,7 +247,27 @@ static const char * const ts_symbol_names[] = { [anon_sym_LPAREN] = "(", [anon_sym_RPAREN] = ")", [anon_sym_native] = "native", + [anon_sym_asm] = "asm", [anon_sym_fun] = "fun", + [anon_sym_DASH_GT] = "->", + [anon_sym_LBRACE] = "{", + [anon_sym_RBRACE] = "}", + [aux_sym_asm_list_token1] = "asm_list_token1", + [anon_sym_LPAREN_LBRACE_RPAREN] = "({)", + [anon_sym_LPAREN_RBRACE_RPAREN] = "(})", + [anon_sym_char] = "char", + [aux_sym__asm_instruction_token1] = "_asm_instruction_token1", + [aux_sym__asm_instruction_token2] = "_asm_instruction_token2", + [anon_sym_abort_DQUOTE] = "abort\"", + [anon_sym_DOT_DQUOTE] = ".\"", + [anon_sym_PLUS_DQUOTE] = "+\"", + [anon_sym_DQUOTE] = "\"", + [aux_sym__asm_string_token1] = "_asm_string_token1", + [anon_sym_DQUOTE2] = "\"", + [anon_sym_x_LBRACE] = "x{", + [anon_sym_B_LBRACE] = "B{", + [aux_sym__asm_hex_literal_token1] = "_asm_hex_literal_token1", + [anon_sym__] = "_", [anon_sym_get] = "get", [anon_sym_mutates] = "mutates", [anon_sym_extends] = "extends", @@ -223,8 +275,6 @@ static const char * const ts_symbol_names[] = { [anon_sym_COMMA] = ",", [anon_sym_struct] = "struct", [anon_sym_message] = "message", - [anon_sym_LBRACE] = "{", - [anon_sym_RBRACE] = "}", [anon_sym_contract] = "contract", [anon_sym_trait] = "trait", [anon_sym_ATinterface] = "@interface", @@ -283,23 +333,33 @@ static const char * const ts_symbol_names[] = { [sym__func_quoted_id] = "_func_quoted_id", [sym__func_plain_id] = "_func_plain_id", [sym_self] = "self", - [anon_sym_DQUOTE] = "\"", - [anon_sym_DQUOTE2] = "\"", [sym__non_quote_or_backslash_char] = "_non_quote_or_backslash_char", [sym_escape_sequence] = "escape_sequence", [anon_sym_true] = "true", [anon_sym_false] = "false", [sym_null] = "null", [sym_integer] = "integer", + [sym__decimal_integer] = "integer", [sym_comment] = "comment", [sym_source_file] = "source_file", [sym_import] = "import", [sym__module_item] = "_module_item", [sym_primitive] = "primitive", - [sym__constant] = "storage_constant", + [sym__constant] = "global_constant", [sym_constant_attributes] = "constant_attributes", [sym_native_function] = "native_function", - [sym__function] = "storage_function", + [sym_asm_function] = "asm_function", + [sym_asm_arrangement] = "asm_arrangement", + [sym_asm_arrangement_args] = "asm_arrangement_args", + [sym_asm_arrangement_rets] = "asm_arrangement_rets", + [sym_asm_function_body] = "asm_function_body", + [sym_asm_list] = "asm_list", + [sym__asm_instruction] = "_asm_instruction", + [sym__asm_string] = "_asm_string", + [sym__asm_hex_literal] = "_asm_hex_literal", + [sym__function] = "global_function", + [sym__function_declaration] = "storage_function", + [sym__function_definition] = "storage_function", [sym_function_attributes] = "function_attributes", [sym_parameter_list] = "parameter_list", [sym_parameter] = "parameter", @@ -308,6 +368,7 @@ static const char * const ts_symbol_names[] = { [sym_message_value] = "message_value", [sym_struct_body] = "struct_body", [sym_field] = "field", + [sym_storage_constant] = "storage_constant", [sym_storage_variable] = "storage_variable", [sym__field_after_id] = "_field_after_id", [sym_contract] = "contract", @@ -316,6 +377,7 @@ static const char * const ts_symbol_names[] = { [sym_trait_list] = "trait_list", [sym_contract_body] = "contract_body", [sym_trait_body] = "trait_body", + [sym__body_item_without_semicolon] = "_body_item_without_semicolon", [sym_init_function] = "init_function", [sym__receiver_function] = "_receiver_function", [sym_receive_function] = "receive_function", @@ -366,6 +428,10 @@ static const char * const ts_symbol_names[] = { [aux_sym_source_file_repeat1] = "source_file_repeat1", [aux_sym_source_file_repeat2] = "source_file_repeat2", [aux_sym_constant_attributes_repeat1] = "constant_attributes_repeat1", + [aux_sym_asm_arrangement_args_repeat1] = "asm_arrangement_args_repeat1", + [aux_sym_asm_arrangement_rets_repeat1] = "asm_arrangement_rets_repeat1", + [aux_sym_asm_function_body_repeat1] = "asm_function_body_repeat1", + [aux_sym_asm_list_repeat1] = "asm_list_repeat1", [aux_sym_function_attributes_repeat1] = "function_attributes_repeat1", [aux_sym_parameter_list_repeat1] = "parameter_list_repeat1", [aux_sym_struct_body_repeat1] = "struct_body_repeat1", @@ -378,8 +444,6 @@ static const char * const ts_symbol_names[] = { [aux_sym_instance_argument_list_repeat1] = "instance_argument_list_repeat1", [aux_sym_string_repeat1] = "string_repeat1", [alias_sym_function_body] = "function_body", - [alias_sym_global_constant] = "global_constant", - [alias_sym_global_function] = "global_function", [alias_sym_message_body] = "message_body", [alias_sym_trait_attributes] = "trait_attributes", }; @@ -400,7 +464,27 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_RPAREN] = anon_sym_RPAREN, [anon_sym_native] = anon_sym_native, + [anon_sym_asm] = anon_sym_asm, [anon_sym_fun] = anon_sym_fun, + [anon_sym_DASH_GT] = anon_sym_DASH_GT, + [anon_sym_LBRACE] = anon_sym_LBRACE, + [anon_sym_RBRACE] = anon_sym_RBRACE, + [aux_sym_asm_list_token1] = aux_sym_asm_list_token1, + [anon_sym_LPAREN_LBRACE_RPAREN] = anon_sym_LPAREN_LBRACE_RPAREN, + [anon_sym_LPAREN_RBRACE_RPAREN] = anon_sym_LPAREN_RBRACE_RPAREN, + [anon_sym_char] = anon_sym_char, + [aux_sym__asm_instruction_token1] = aux_sym__asm_instruction_token1, + [aux_sym__asm_instruction_token2] = aux_sym__asm_instruction_token2, + [anon_sym_abort_DQUOTE] = anon_sym_abort_DQUOTE, + [anon_sym_DOT_DQUOTE] = anon_sym_DOT_DQUOTE, + [anon_sym_PLUS_DQUOTE] = anon_sym_PLUS_DQUOTE, + [anon_sym_DQUOTE] = anon_sym_DQUOTE, + [aux_sym__asm_string_token1] = aux_sym__asm_string_token1, + [anon_sym_DQUOTE2] = anon_sym_DQUOTE, + [anon_sym_x_LBRACE] = anon_sym_x_LBRACE, + [anon_sym_B_LBRACE] = anon_sym_B_LBRACE, + [aux_sym__asm_hex_literal_token1] = aux_sym__asm_hex_literal_token1, + [anon_sym__] = anon_sym__, [anon_sym_get] = anon_sym_get, [anon_sym_mutates] = anon_sym_mutates, [anon_sym_extends] = anon_sym_extends, @@ -408,8 +492,6 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_struct] = anon_sym_struct, [anon_sym_message] = anon_sym_message, - [anon_sym_LBRACE] = anon_sym_LBRACE, - [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_contract] = anon_sym_contract, [anon_sym_trait] = anon_sym_trait, [anon_sym_ATinterface] = anon_sym_ATinterface, @@ -468,14 +550,13 @@ static const TSSymbol ts_symbol_map[] = { [sym__func_quoted_id] = sym__func_quoted_id, [sym__func_plain_id] = sym__func_plain_id, [sym_self] = sym_self, - [anon_sym_DQUOTE] = anon_sym_DQUOTE, - [anon_sym_DQUOTE2] = anon_sym_DQUOTE, [sym__non_quote_or_backslash_char] = sym__non_quote_or_backslash_char, [sym_escape_sequence] = sym_escape_sequence, [anon_sym_true] = anon_sym_true, [anon_sym_false] = anon_sym_false, [sym_null] = sym_null, [sym_integer] = sym_integer, + [sym__decimal_integer] = sym_integer, [sym_comment] = sym_comment, [sym_source_file] = sym_source_file, [sym_import] = sym_import, @@ -484,7 +565,18 @@ static const TSSymbol ts_symbol_map[] = { [sym__constant] = sym__constant, [sym_constant_attributes] = sym_constant_attributes, [sym_native_function] = sym_native_function, + [sym_asm_function] = sym_asm_function, + [sym_asm_arrangement] = sym_asm_arrangement, + [sym_asm_arrangement_args] = sym_asm_arrangement_args, + [sym_asm_arrangement_rets] = sym_asm_arrangement_rets, + [sym_asm_function_body] = sym_asm_function_body, + [sym_asm_list] = sym_asm_list, + [sym__asm_instruction] = sym__asm_instruction, + [sym__asm_string] = sym__asm_string, + [sym__asm_hex_literal] = sym__asm_hex_literal, [sym__function] = sym__function, + [sym__function_declaration] = sym__function_declaration, + [sym__function_definition] = sym__function_declaration, [sym_function_attributes] = sym_function_attributes, [sym_parameter_list] = sym_parameter_list, [sym_parameter] = sym_parameter, @@ -493,6 +585,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_message_value] = sym_message_value, [sym_struct_body] = sym_struct_body, [sym_field] = sym_field, + [sym_storage_constant] = sym_storage_constant, [sym_storage_variable] = sym_storage_variable, [sym__field_after_id] = sym__field_after_id, [sym_contract] = sym_contract, @@ -501,6 +594,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_trait_list] = sym_trait_list, [sym_contract_body] = sym_contract_body, [sym_trait_body] = sym_trait_body, + [sym__body_item_without_semicolon] = sym__body_item_without_semicolon, [sym_init_function] = sym_init_function, [sym__receiver_function] = sym__receiver_function, [sym_receive_function] = sym_receive_function, @@ -551,6 +645,10 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, [aux_sym_source_file_repeat2] = aux_sym_source_file_repeat2, [aux_sym_constant_attributes_repeat1] = aux_sym_constant_attributes_repeat1, + [aux_sym_asm_arrangement_args_repeat1] = aux_sym_asm_arrangement_args_repeat1, + [aux_sym_asm_arrangement_rets_repeat1] = aux_sym_asm_arrangement_rets_repeat1, + [aux_sym_asm_function_body_repeat1] = aux_sym_asm_function_body_repeat1, + [aux_sym_asm_list_repeat1] = aux_sym_asm_list_repeat1, [aux_sym_function_attributes_repeat1] = aux_sym_function_attributes_repeat1, [aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1, [aux_sym_struct_body_repeat1] = aux_sym_struct_body_repeat1, @@ -563,8 +661,6 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_instance_argument_list_repeat1] = aux_sym_instance_argument_list_repeat1, [aux_sym_string_repeat1] = aux_sym_string_repeat1, [alias_sym_function_body] = alias_sym_function_body, - [alias_sym_global_constant] = alias_sym_global_constant, - [alias_sym_global_function] = alias_sym_global_function, [alias_sym_message_body] = alias_sym_message_body, [alias_sym_trait_attributes] = alias_sym_trait_attributes, }; @@ -630,10 +726,90 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_asm] = { + .visible = true, + .named = false, + }, [anon_sym_fun] = { .visible = true, .named = false, }, + [anon_sym_DASH_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACE] = { + .visible = true, + .named = false, + }, + [aux_sym_asm_list_token1] = { + .visible = false, + .named = false, + }, + [anon_sym_LPAREN_LBRACE_RPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_LPAREN_RBRACE_RPAREN] = { + .visible = true, + .named = false, + }, + [anon_sym_char] = { + .visible = true, + .named = false, + }, + [aux_sym__asm_instruction_token1] = { + .visible = false, + .named = false, + }, + [aux_sym__asm_instruction_token2] = { + .visible = false, + .named = false, + }, + [anon_sym_abort_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_PLUS_DQUOTE] = { + .visible = true, + .named = false, + }, + [anon_sym_DQUOTE] = { + .visible = true, + .named = false, + }, + [aux_sym__asm_string_token1] = { + .visible = false, + .named = false, + }, + [anon_sym_DQUOTE2] = { + .visible = true, + .named = false, + }, + [anon_sym_x_LBRACE] = { + .visible = true, + .named = false, + }, + [anon_sym_B_LBRACE] = { + .visible = true, + .named = false, + }, + [aux_sym__asm_hex_literal_token1] = { + .visible = false, + .named = false, + }, + [anon_sym__] = { + .visible = true, + .named = false, + }, [anon_sym_get] = { .visible = true, .named = false, @@ -662,14 +838,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_LBRACE] = { - .visible = true, - .named = false, - }, - [anon_sym_RBRACE] = { - .visible = true, - .named = false, - }, [anon_sym_contract] = { .visible = true, .named = false, @@ -902,14 +1070,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [anon_sym_DQUOTE] = { - .visible = true, - .named = false, - }, - [anon_sym_DQUOTE2] = { - .visible = true, - .named = false, - }, [sym__non_quote_or_backslash_char] = { .visible = false, .named = true, @@ -934,6 +1094,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym__decimal_integer] = { + .visible = true, + .named = true, + }, [sym_comment] = { .visible = true, .named = true, @@ -966,10 +1130,54 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_asm_function] = { + .visible = true, + .named = true, + }, + [sym_asm_arrangement] = { + .visible = true, + .named = true, + }, + [sym_asm_arrangement_args] = { + .visible = true, + .named = true, + }, + [sym_asm_arrangement_rets] = { + .visible = true, + .named = true, + }, + [sym_asm_function_body] = { + .visible = true, + .named = true, + }, + [sym_asm_list] = { + .visible = true, + .named = true, + }, + [sym__asm_instruction] = { + .visible = false, + .named = true, + }, + [sym__asm_string] = { + .visible = false, + .named = true, + }, + [sym__asm_hex_literal] = { + .visible = false, + .named = true, + }, [sym__function] = { .visible = true, .named = true, }, + [sym__function_declaration] = { + .visible = true, + .named = true, + }, + [sym__function_definition] = { + .visible = true, + .named = true, + }, [sym_function_attributes] = { .visible = true, .named = true, @@ -1002,6 +1210,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_storage_constant] = { + .visible = true, + .named = true, + }, [sym_storage_variable] = { .visible = true, .named = true, @@ -1034,6 +1246,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym__body_item_without_semicolon] = { + .visible = false, + .named = true, + }, [sym_init_function] = { .visible = true, .named = true, @@ -1235,6 +1451,22 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_asm_arrangement_args_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_asm_arrangement_rets_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_asm_function_body_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_asm_list_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_function_attributes_repeat1] = { .visible = false, .named = false, @@ -1283,14 +1515,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [alias_sym_global_constant] = { - .visible = true, - .named = true, - }, - [alias_sym_global_function] = { - .visible = true, - .named = true, - }, [alias_sym_message_body] = { .visible = true, .named = true, @@ -1305,30 +1529,32 @@ enum ts_field_identifiers { field_alternative = 1, field_argument = 2, field_arguments = 3, - field_attributes = 4, - field_body = 5, - field_condition = 6, - field_consequence = 7, - field_func_name = 8, - field_handler = 9, - field_key = 10, - field_left = 11, - field_library = 12, - field_map = 13, - field_message = 14, - field_name = 15, - field_object = 16, - field_operator = 17, - field_parameter = 18, - field_parameters = 19, - field_result = 20, - field_right = 21, - field_tlb = 22, - field_tlb_key = 23, - field_tlb_value = 24, - field_traits = 25, - field_type = 26, - field_value = 27, + field_arrangement = 4, + field_attributes = 5, + field_body = 6, + field_condition = 7, + field_consequence = 8, + field_func_name = 9, + field_handler = 10, + field_key = 11, + field_left = 12, + field_library = 13, + field_map = 14, + field_message = 15, + field_name = 16, + field_object = 17, + field_operator = 18, + field_parameter = 19, + field_parameters = 20, + field_result = 21, + field_returns = 22, + field_right = 23, + field_tlb = 24, + field_tlb_key = 25, + field_tlb_value = 26, + field_traits = 27, + field_type = 28, + field_value = 29, }; static const char * const ts_field_names[] = { @@ -1336,6 +1562,7 @@ static const char * const ts_field_names[] = { [field_alternative] = "alternative", [field_argument] = "argument", [field_arguments] = "arguments", + [field_arrangement] = "arrangement", [field_attributes] = "attributes", [field_body] = "body", [field_condition] = "condition", @@ -1353,6 +1580,7 @@ static const char * const ts_field_names[] = { [field_parameter] = "parameter", [field_parameters] = "parameters", [field_result] = "result", + [field_returns] = "returns", [field_right] = "right", [field_tlb] = "tlb", [field_tlb_key] = "tlb_key", @@ -1369,64 +1597,74 @@ static const TSFieldMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [4] = {.index = 10, .length = 1}, [5] = {.index = 11, .length = 2}, [6] = {.index = 11, .length = 2}, - [7] = {.index = 13, .length = 2}, - [8] = {.index = 15, .length = 3}, - [9] = {.index = 18, .length = 3}, - [10] = {.index = 0, .length = 4}, - [11] = {.index = 4, .length = 5}, - [12] = {.index = 21, .length = 3}, - [13] = {.index = 24, .length = 3}, - [14] = {.index = 24, .length = 3}, - [15] = {.index = 27, .length = 2}, - [16] = {.index = 29, .length = 4}, - [17] = {.index = 33, .length = 3}, - [18] = {.index = 36, .length = 4}, + [7] = {.index = 13, .length = 1}, + [8] = {.index = 14, .length = 1}, + [9] = {.index = 15, .length = 2}, + [10] = {.index = 17, .length = 3}, + [11] = {.index = 20, .length = 3}, + [12] = {.index = 23, .length = 4}, + [13] = {.index = 27, .length = 3}, + [14] = {.index = 30, .length = 3}, + [15] = {.index = 30, .length = 3}, + [16] = {.index = 33, .length = 2}, + [17] = {.index = 35, .length = 2}, + [18] = {.index = 37, .length = 3}, [19] = {.index = 40, .length = 4}, - [20] = {.index = 40, .length = 4}, - [21] = {.index = 44, .length = 2}, - [22] = {.index = 46, .length = 4}, - [23] = {.index = 50, .length = 5}, - [24] = {.index = 55, .length = 1}, - [25] = {.index = 56, .length = 2}, - [26] = {.index = 58, .length = 2}, - [27] = {.index = 60, .length = 2}, - [28] = {.index = 62, .length = 2}, - [29] = {.index = 64, .length = 3}, - [30] = {.index = 67, .length = 1}, - [31] = {.index = 68, .length = 3}, - [32] = {.index = 71, .length = 2}, - [33] = {.index = 73, .length = 2}, - [34] = {.index = 75, .length = 1}, - [35] = {.index = 76, .length = 1}, - [36] = {.index = 77, .length = 2}, - [37] = {.index = 79, .length = 3}, - [38] = {.index = 82, .length = 2}, - [39] = {.index = 84, .length = 2}, - [40] = {.index = 86, .length = 1}, - [41] = {.index = 87, .length = 5}, - [42] = {.index = 92, .length = 6}, - [43] = {.index = 98, .length = 3}, - [44] = {.index = 101, .length = 2}, - [45] = {.index = 103, .length = 3}, - [46] = {.index = 106, .length = 2}, - [47] = {.index = 108, .length = 2}, - [48] = {.index = 110, .length = 4}, - [49] = {.index = 114, .length = 2}, - [50] = {.index = 116, .length = 4}, - [51] = {.index = 120, .length = 2}, - [52] = {.index = 122, .length = 2}, - [53] = {.index = 124, .length = 2}, - [54] = {.index = 126, .length = 3}, - [55] = {.index = 129, .length = 3}, - [56] = {.index = 132, .length = 3}, - [57] = {.index = 135, .length = 3}, - [58] = {.index = 138, .length = 4}, - [59] = {.index = 142, .length = 3}, - [60] = {.index = 145, .length = 2}, - [61] = {.index = 147, .length = 4}, - [62] = {.index = 151, .length = 5}, - [63] = {.index = 156, .length = 2}, - [64] = {.index = 158, .length = 4}, + [20] = {.index = 44, .length = 3}, + [21] = {.index = 47, .length = 4}, + [22] = {.index = 51, .length = 4}, + [23] = {.index = 51, .length = 4}, + [24] = {.index = 55, .length = 4}, + [25] = {.index = 59, .length = 4}, + [26] = {.index = 63, .length = 2}, + [27] = {.index = 65, .length = 4}, + [28] = {.index = 69, .length = 5}, + [29] = {.index = 74, .length = 1}, + [30] = {.index = 75, .length = 2}, + [31] = {.index = 77, .length = 2}, + [32] = {.index = 79, .length = 2}, + [33] = {.index = 81, .length = 2}, + [34] = {.index = 83, .length = 3}, + [35] = {.index = 86, .length = 1}, + [36] = {.index = 87, .length = 3}, + [37] = {.index = 90, .length = 5}, + [38] = {.index = 95, .length = 5}, + [39] = {.index = 100, .length = 2}, + [40] = {.index = 102, .length = 2}, + [41] = {.index = 104, .length = 1}, + [42] = {.index = 105, .length = 1}, + [43] = {.index = 106, .length = 2}, + [44] = {.index = 108, .length = 3}, + [45] = {.index = 111, .length = 2}, + [46] = {.index = 113, .length = 2}, + [47] = {.index = 115, .length = 1}, + [48] = {.index = 116, .length = 5}, + [49] = {.index = 121, .length = 6}, + [50] = {.index = 127, .length = 3}, + [51] = {.index = 130, .length = 6}, + [52] = {.index = 136, .length = 6}, + [53] = {.index = 142, .length = 2}, + [54] = {.index = 144, .length = 3}, + [55] = {.index = 147, .length = 2}, + [56] = {.index = 149, .length = 2}, + [57] = {.index = 151, .length = 4}, + [58] = {.index = 155, .length = 2}, + [59] = {.index = 157, .length = 4}, + [60] = {.index = 161, .length = 7}, + [61] = {.index = 168, .length = 2}, + [62] = {.index = 170, .length = 2}, + [63] = {.index = 172, .length = 2}, + [64] = {.index = 174, .length = 3}, + [65] = {.index = 177, .length = 3}, + [66] = {.index = 180, .length = 3}, + [67] = {.index = 183, .length = 3}, + [68] = {.index = 186, .length = 4}, + [69] = {.index = 190, .length = 3}, + [70] = {.index = 193, .length = 2}, + [71] = {.index = 195, .length = 4}, + [72] = {.index = 199, .length = 5}, + [73] = {.index = 204, .length = 2}, + [74] = {.index = 206, .length = 4}, }; static const TSFieldMapEntry ts_field_map_entries[] = { @@ -1449,204 +1687,264 @@ static const TSFieldMapEntry ts_field_map_entries[] = { {field_body, 2}, {field_name, 1}, [13] = + {field_arguments, 1}, + [14] = + {field_returns, 1}, + [15] = {field_name, 1}, {field_parameters, 2}, - [15] = + [17] = {field_body, 3}, {field_name, 1}, {field_parameters, 2}, - [18] = + [20] = {field_body, 3}, {field_name, 2}, {field_value, 1}, - [21] = + [23] = + {field_attributes, 0, .inherited = true}, + {field_name, 0, .inherited = true}, + {field_parameters, 0, .inherited = true}, + {field_result, 0, .inherited = true}, + [27] = {field_body, 3}, {field_name, 1}, {field_traits, 2}, - [24] = + [30] = {field_attributes, 0}, {field_body, 3}, {field_name, 2}, - [27] = + [33] = {field_name, 1}, {field_type, 3}, - [29] = + [35] = + {field_arguments, 1}, + {field_returns, 2}, + [37] = + {field_body, 4}, + {field_name, 2}, + {field_parameters, 3}, + [40] = {field_name, 0}, {field_tlb, 1, .inherited = true}, {field_type, 1, .inherited = true}, {field_value, 1, .inherited = true}, - [33] = + [44] = {field_attributes, 0}, {field_name, 2}, {field_parameters, 3}, - [36] = + [47] = {field_attributes, 0}, {field_body, 4}, {field_name, 2}, {field_parameters, 3}, - [40] = + [51] = {field_attributes, 0}, {field_body, 4}, {field_name, 2}, {field_traits, 3}, - [44] = + [55] = + {field_arrangement, 1}, + {field_body, 5}, + {field_name, 3}, + {field_parameters, 4}, + [59] = + {field_attributes, 1}, + {field_body, 5}, + {field_name, 3}, + {field_parameters, 4}, + [63] = {field_name, 0}, {field_type, 2}, - [46] = + [65] = {field_name, 1}, {field_parameters, 2}, {field_result, 3}, {field_result, 4}, - [50] = + [69] = {field_body, 5}, {field_name, 1}, {field_parameters, 2}, {field_result, 3}, {field_result, 4}, - [55] = + [74] = {field_body, 1}, - [56] = + [75] = {field_argument, 1}, {field_operator, 0}, - [58] = + [77] = {field_arguments, 1}, {field_name, 0}, - [60] = + [79] = {field_argument, 0}, {field_operator, 1}, - [62] = + [81] = {field_body, 2}, {field_parameters, 1}, - [64] = + [83] = {field_attributes, 0}, {field_name, 2}, {field_type, 4}, - [67] = + [86] = {field_message, 2}, - [68] = + [87] = {field_name, 1}, {field_type, 3}, {field_value, 5}, - [71] = + [90] = + {field_body, 6}, + {field_name, 2}, + {field_parameters, 3}, + {field_result, 4}, + {field_result, 5}, + [95] = + {field_arrangement, 1}, + {field_attributes, 2}, + {field_body, 6}, + {field_name, 4}, + {field_parameters, 5}, + [100] = {field_body, 1}, {field_handler, 2}, - [73] = + [102] = {field_arguments, 2}, {field_name, 1}, - [75] = + [104] = {field_value, 0}, - [76] = + [105] = {field_name, 0}, - [77] = + [106] = {field_left, 0}, {field_right, 2}, - [79] = + [108] = {field_left, 0}, {field_operator, 1}, {field_right, 2}, - [82] = + [111] = {field_name, 2}, {field_object, 0}, - [84] = + [113] = {field_tlb, 2}, {field_type, 1}, - [86] = + [115] = {field_body, 3}, - [87] = + [116] = {field_attributes, 0}, {field_name, 2}, {field_parameters, 3}, {field_result, 4}, {field_result, 5}, - [92] = + [121] = {field_attributes, 0}, {field_body, 6}, {field_name, 2}, {field_parameters, 3}, {field_result, 4}, {field_result, 5}, - [98] = + [127] = {field_func_name, 2}, {field_name, 5}, {field_parameters, 6}, - [101] = + [130] = + {field_arrangement, 1}, + {field_body, 7}, + {field_name, 3}, + {field_parameters, 4}, + {field_result, 5}, + {field_result, 6}, + [136] = + {field_attributes, 1}, + {field_body, 7}, + {field_name, 3}, + {field_parameters, 4}, + {field_result, 5}, + {field_result, 6}, + [142] = {field_name, 1}, {field_value, 3}, - [103] = + [144] = {field_arguments, 3}, {field_name, 2}, {field_object, 0}, - [106] = + [147] = {field_type, 1}, {field_value, 3}, - [108] = + [149] = {field_body, 4}, {field_parameter, 2}, - [110] = + [151] = {field_attributes, 0}, {field_name, 2}, {field_type, 4}, {field_value, 6}, - [114] = + [155] = {field_key, 2}, {field_value, 4}, - [116] = + [157] = {field_attributes, 4}, {field_func_name, 2}, {field_name, 6}, {field_parameters, 7}, - [120] = + [161] = + {field_arrangement, 1}, + {field_attributes, 2}, + {field_body, 8}, + {field_name, 4}, + {field_parameters, 5}, + {field_result, 6}, + {field_result, 7}, + [168] = {field_condition, 2}, {field_consequence, 4}, - [122] = + [170] = {field_body, 4}, {field_condition, 2}, - [124] = + [172] = {field_name, 0}, {field_value, 2}, - [126] = + [174] = {field_alternative, 4}, {field_condition, 0}, {field_consequence, 2}, - [129] = + [177] = {field_tlb, 2}, {field_type, 1}, {field_value, 4}, - [132] = + [180] = {field_key, 2}, {field_tlb_value, 5}, {field_value, 4}, - [135] = + [183] = {field_key, 2}, {field_tlb_key, 3}, {field_value, 5}, - [138] = + [186] = {field_func_name, 2}, {field_name, 5}, {field_parameters, 6}, {field_result, 8}, - [142] = + [190] = {field_alternative, 5}, {field_condition, 2}, {field_consequence, 4}, - [145] = + [193] = {field_body, 1}, {field_condition, 4}, - [147] = + [195] = {field_key, 2}, {field_tlb_key, 3}, {field_tlb_value, 6}, {field_value, 5}, - [151] = + [199] = {field_attributes, 4}, {field_func_name, 2}, {field_name, 6}, {field_parameters, 7}, {field_result, 9}, - [156] = + [204] = {field_body, 4}, {field_name, 2}, - [158] = + [206] = {field_body, 8}, {field_key, 2}, {field_map, 6}, @@ -1655,54 +1953,42 @@ static const TSFieldMapEntry ts_field_map_entries[] = { static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, - [1] = { - [0] = alias_sym_global_constant, - }, - [2] = { - [0] = alias_sym_global_function, - }, [6] = { [2] = alias_sym_message_body, }, - [8] = { + [10] = { [3] = alias_sym_function_body, }, - [9] = { + [11] = { [3] = alias_sym_message_body, }, - [14] = { + [15] = { [0] = alias_sym_trait_attributes, }, - [18] = { + [21] = { [4] = alias_sym_function_body, }, - [20] = { + [23] = { [0] = alias_sym_trait_attributes, }, - [23] = { + [28] = { [5] = alias_sym_function_body, }, - [28] = { + [33] = { [2] = alias_sym_function_body, }, - [40] = { + [47] = { [3] = alias_sym_function_body, }, - [42] = { + [49] = { [6] = alias_sym_function_body, }, - [47] = { + [56] = { [4] = alias_sym_function_body, }, }; static const uint16_t ts_non_terminal_alias_map[] = { - sym__constant, 2, - sym__constant, - alias_sym_global_constant, - sym__function, 2, - sym__function, - alias_sym_global_function, sym_struct_body, 2, sym_struct_body, alias_sym_message_body, @@ -1721,8 +2007,8 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [2] = 2, [3] = 3, [4] = 3, - [5] = 2, - [6] = 6, + [5] = 5, + [6] = 5, [7] = 7, [8] = 8, [9] = 9, @@ -1749,7 +2035,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [30] = 30, [31] = 31, [32] = 32, - [33] = 30, + [33] = 33, [34] = 34, [35] = 35, [36] = 36, @@ -1766,7 +2052,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [47] = 47, [48] = 48, [49] = 49, - [50] = 31, + [50] = 50, [51] = 51, [52] = 52, [53] = 53, @@ -1830,18 +2116,18 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [111] = 111, [112] = 112, [113] = 113, - [114] = 110, - [115] = 113, + [114] = 114, + [115] = 115, [116] = 116, [117] = 117, [118] = 118, [119] = 119, [120] = 120, [121] = 121, - [122] = 8, - [123] = 9, - [124] = 7, - [125] = 125, + [122] = 122, + [123] = 7, + [124] = 8, + [125] = 9, [126] = 126, [127] = 127, [128] = 128, @@ -1880,27 +2166,27 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [161] = 161, [162] = 162, [163] = 163, - [164] = 155, - [165] = 151, + [164] = 164, + [165] = 165, [166] = 166, [167] = 167, - [168] = 145, + [168] = 168, [169] = 169, [170] = 170, [171] = 171, - [172] = 137, - [173] = 163, - [174] = 156, - [175] = 158, - [176] = 129, - [177] = 130, - [178] = 148, - [179] = 142, + [172] = 172, + [173] = 173, + [174] = 174, + [175] = 175, + [176] = 176, + [177] = 177, + [178] = 178, + [179] = 179, [180] = 180, [181] = 181, [182] = 182, [183] = 183, - [184] = 149, + [184] = 184, [185] = 185, [186] = 186, [187] = 187, @@ -1911,44 +2197,44 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [192] = 192, [193] = 193, [194] = 194, - [195] = 195, - [196] = 196, - [197] = 197, + [195] = 194, + [196] = 192, + [197] = 192, [198] = 198, - [199] = 194, - [200] = 200, + [199] = 199, + [200] = 194, [201] = 201, - [202] = 202, + [202] = 198, [203] = 203, [204] = 204, [205] = 205, [206] = 206, [207] = 207, [208] = 208, - [209] = 203, - [210] = 195, - [211] = 200, + [209] = 209, + [210] = 210, + [211] = 211, [212] = 212, [213] = 213, - [214] = 214, - [215] = 215, - [216] = 216, - [217] = 217, + [214] = 213, + [215] = 213, + [216] = 210, + [217] = 211, [218] = 218, - [219] = 219, - [220] = 220, - [221] = 221, - [222] = 222, - [223] = 223, - [224] = 222, - [225] = 223, - [226] = 226, - [227] = 227, + [219] = 210, + [220] = 211, + [221] = 204, + [222] = 212, + [223] = 208, + [224] = 206, + [225] = 204, + [226] = 209, + [227] = 209, [228] = 228, - [229] = 229, + [229] = 208, [230] = 230, - [231] = 231, - [232] = 232, + [231] = 212, + [232] = 206, [233] = 233, [234] = 234, [235] = 235, @@ -1974,7 +2260,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [255] = 255, [256] = 256, [257] = 257, - [258] = 254, + [258] = 258, [259] = 259, [260] = 260, [261] = 261, @@ -1983,7 +2269,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [264] = 264, [265] = 265, [266] = 266, - [267] = 244, + [267] = 267, [268] = 268, [269] = 269, [270] = 270, @@ -2006,7 +2292,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [287] = 287, [288] = 288, [289] = 289, - [290] = 284, + [290] = 290, [291] = 291, [292] = 292, [293] = 293, @@ -2016,7 +2302,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [297] = 297, [298] = 298, [299] = 299, - [300] = 296, + [300] = 300, [301] = 301, [302] = 302, [303] = 303, @@ -2025,7 +2311,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [306] = 306, [307] = 307, [308] = 308, - [309] = 276, + [309] = 309, [310] = 310, [311] = 311, [312] = 312, @@ -2036,12 +2322,12 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [317] = 317, [318] = 318, [319] = 319, - [320] = 289, - [321] = 297, + [320] = 320, + [321] = 321, [322] = 322, [323] = 323, [324] = 324, - [325] = 308, + [325] = 325, [326] = 326, [327] = 327, [328] = 328, @@ -2069,7 +2355,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [350] = 350, [351] = 351, [352] = 352, - [353] = 353, + [353] = 344, [354] = 354, [355] = 355, [356] = 356, @@ -2083,7 +2369,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [364] = 364, [365] = 365, [366] = 366, - [367] = 367, + [367] = 346, [368] = 368, [369] = 369, [370] = 370, @@ -2099,31 +2385,195 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [380] = 380, [381] = 381, [382] = 382, - [383] = 383, + [383] = 374, [384] = 384, [385] = 385, [386] = 386, [387] = 387, [388] = 388, [389] = 389, - [390] = 390, + [390] = 385, [391] = 391, [392] = 392, [393] = 393, - [394] = 394, + [394] = 382, [395] = 395, [396] = 396, [397] = 397, - [398] = 398, + [398] = 344, [399] = 399, - [400] = 368, - [401] = 399, - [402] = 380, - [403] = 365, - [404] = 382, - [405] = 357, - [406] = 383, - [407] = 374, + [400] = 400, + [401] = 401, + [402] = 402, + [403] = 374, + [404] = 343, + [405] = 385, + [406] = 382, + [407] = 407, + [408] = 408, + [409] = 409, + [410] = 410, + [411] = 411, + [412] = 412, + [413] = 413, + [414] = 414, + [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] = 430, + [434] = 431, + [435] = 432, + [436] = 436, + [437] = 437, + [438] = 438, + [439] = 439, + [440] = 440, + [441] = 441, + [442] = 442, + [443] = 443, + [444] = 444, + [445] = 430, + [446] = 446, + [447] = 447, + [448] = 448, + [449] = 449, + [450] = 450, + [451] = 451, + [452] = 452, + [453] = 453, + [454] = 454, + [455] = 455, + [456] = 456, + [457] = 457, + [458] = 458, + [459] = 431, + [460] = 460, + [461] = 432, + [462] = 462, + [463] = 463, + [464] = 464, + [465] = 429, + [466] = 428, + [467] = 464, + [468] = 463, + [469] = 469, + [470] = 470, + [471] = 471, + [472] = 472, + [473] = 473, + [474] = 474, + [475] = 475, + [476] = 476, + [477] = 477, + [478] = 478, + [479] = 479, + [480] = 480, + [481] = 481, + [482] = 482, + [483] = 483, + [484] = 484, + [485] = 436, + [486] = 486, + [487] = 487, + [488] = 488, + [489] = 489, + [490] = 426, + [491] = 491, + [492] = 492, + [493] = 493, + [494] = 494, + [495] = 495, + [496] = 496, + [497] = 497, + [498] = 498, + [499] = 499, + [500] = 500, + [501] = 501, + [502] = 502, + [503] = 503, + [504] = 504, + [505] = 505, + [506] = 506, + [507] = 507, + [508] = 508, + [509] = 509, + [510] = 510, + [511] = 511, + [512] = 512, + [513] = 513, + [514] = 514, + [515] = 515, + [516] = 516, + [517] = 517, + [518] = 518, + [519] = 519, + [520] = 520, + [521] = 521, + [522] = 446, + [523] = 447, + [524] = 524, + [525] = 436, + [526] = 463, + [527] = 464, + [528] = 429, + [529] = 428, + [530] = 530, + [531] = 426, + [532] = 532, + [533] = 533, + [534] = 534, + [535] = 447, + [536] = 446, + [537] = 537, + [538] = 538, + [539] = 539, + [540] = 540, + [541] = 541, + [542] = 542, + [543] = 543, + [544] = 544, + [545] = 545, + [546] = 546, + [547] = 539, + [548] = 540, + [549] = 541, + [550] = 542, + [551] = 543, + [552] = 544, + [553] = 545, + [554] = 546, + [555] = 539, + [556] = 540, + [557] = 541, + [558] = 558, + [559] = 559, + [560] = 560, + [561] = 561, + [562] = 559, + [563] = 560, + [564] = 546, + [565] = 545, + [566] = 544, + [567] = 559, + [568] = 560, + [569] = 542, + [570] = 543, + [571] = 571, }; static TSCharacterRange sym__func_plain_id_character_set_1[] = { @@ -2136,1265 +2586,1738 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(42); + ACCEPT_TOKEN(aux_sym__asm_hex_literal_token1); + if (eof) ADVANCE(53); ADVANCE_MAP( - '!', 85, - '"', 102, - '%', 83, - '&', 67, - '(', 48, - ')', 49, - '*', 81, - '+', 78, - ',', 50, - '-', 80, - '.', 90, - '/', 82, - '0', 109, - ':', 44, - ';', 43, - '<', 73, - '=', 46, - '>', 71, - '?', 62, - '@', 19, - '\\', 24, - '^', 66, - '`', 40, - '{', 51, - '|', 65, - '}', 52, - '~', 87, + '!', 152, + '"', 106, + '%', 150, + '&', 134, + '(', 59, + ')', 60, + '*', 148, + '+', 145, + ',', 119, + '-', 147, + '.', 157, + '/', 8, + ':', 55, + ';', 54, + '<', 141, + '=', 57, + '>', 138, + '?', 129, + '@', 30, + 'B', 115, + '\\', 35, + '^', 133, + '`', 51, + 'a', 112, + 'c', 113, + 'x', 172, + '{', 62, + '|', 132, + '~', 154, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(41); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); - if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(100); + lookahead == ' ') ADVANCE(66); + if (('A' <= lookahead && lookahead <= 'F') || + ('b' <= lookahead && lookahead <= 'f')) ADVANCE(117); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + if (('G' <= lookahead && lookahead <= 'Z') || + ('_' <= lookahead && lookahead <= 'z')) ADVANCE(173); END_STATE(); case 1: - if (lookahead == '\n') SKIP(8); - if (lookahead == '"') ADVANCE(102); - if (lookahead == '/') ADVANCE(103); - if (lookahead == '\\') ADVANCE(24); + if (lookahead == '\n') ADVANCE(66); + if (lookahead == '"') ADVANCE(106); + if (lookahead == '/') ADVANCE(174); + if (lookahead == '\\') ADVANCE(35); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(106); - if (lookahead != 0) ADVANCE(107); + lookahead == ' ') ADVANCE(177); + if (lookahead != 0) ADVANCE(177); END_STATE(); case 2: ADVANCE_MAP( - '!', 84, - '"', 101, - '(', 48, - ')', 49, - '+', 77, - ',', 50, - '-', 79, - '/', 5, - '0', 109, - ';', 43, - '=', 45, - '>', 70, - '{', 51, - '}', 52, - '~', 86, + '!', 3, + '"', 106, + '%', 150, + '&', 134, + '(', 59, + ')', 60, + '*', 148, + '+', 145, + ',', 119, + '-', 146, + '.', 156, + '/', 149, + ':', 55, + ';', 54, + '<', 141, + '=', 57, + '>', 138, + '?', 129, + '^', 133, + '{', 62, + '|', 132, + '}', 64, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(2); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); - if (('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(100); + lookahead == ' ') ADVANCE(66); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(184); END_STATE(); case 3: + if (lookahead == '!') ADVANCE(155); + if (lookahead == '=') ADVANCE(135); + END_STATE(); + case 4: ADVANCE_MAP( - '!', 4, - '%', 83, - '&', 67, - '(', 48, - ')', 49, - '*', 81, - '+', 78, - ',', 50, - '-', 80, - '.', 89, - '/', 82, - ':', 44, - ';', 43, - '<', 73, - '=', 46, - '>', 71, - '?', 62, - '^', 66, - '{', 51, - '|', 65, - '}', 52, + '"', 100, + '(', 89, + '+', 73, + '.', 74, + '/', 78, + 'B', 90, + 'a', 82, + 'c', 83, + 'x', 91, + '{', 63, + '}', 65, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(3); - END_STATE(); - case 4: - if (lookahead == '!') ADVANCE(88); - if (lookahead == '=') ADVANCE(68); + lookahead == ' ') ADVANCE(66); + if (lookahead != 0) ADVANCE(93); END_STATE(); case 5: - if (lookahead == '*') ADVANCE(7); - if (lookahead == '/') ADVANCE(115); + ADVANCE_MAP( + '"', 100, + '(', 89, + '+', 73, + '.', 74, + '/', 78, + 'B', 90, + 'a', 82, + 'c', 83, + 'x', 91, + '}', 65, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(66); + if (lookahead != 0) ADVANCE(93); END_STATE(); case 6: - if (lookahead == '*') ADVANCE(6); - if (lookahead == '/') ADVANCE(114); - if (lookahead != 0) ADVANCE(7); + ADVANCE_MAP( + '"', 100, + '(', 88, + '+', 73, + '.', 74, + '/', 78, + 'B', 90, + 'a', 82, + 'c', 83, + 'x', 91, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(66); + if (lookahead != 0) ADVANCE(93); END_STATE(); case 7: - if (lookahead == '*') ADVANCE(6); - if (lookahead != 0) ADVANCE(7); + if (lookahead == ')') ADVANCE(60); + if (lookahead == '-') ADVANCE(20); + if (lookahead == '/') ADVANCE(8); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(66); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(173); END_STATE(); case 8: - if (lookahead == '/') ADVANCE(5); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(8); + if (lookahead == '*') ADVANCE(11); + if (lookahead == '/') ADVANCE(186); END_STATE(); case 9: - if (lookahead == '/') ADVANCE(93); - if (lookahead == '`') ADVANCE(96); + if (lookahead == '*') ADVANCE(11); + if (lookahead == '/') ADVANCE(186); + if (lookahead == '=') ADVANCE(124); + END_STATE(); + case 10: + if (lookahead == '*') ADVANCE(10); + if (lookahead == '/') ADVANCE(185); + if (lookahead != 0) ADVANCE(11); + END_STATE(); + case 11: + if (lookahead == '*') ADVANCE(10); + if (lookahead != 0) ADVANCE(11); + END_STATE(); + case 12: + if (lookahead == '/') ADVANCE(160); + if (lookahead == '`') ADVANCE(163); if (lookahead == '.' || - lookahead == '~') ADVANCE(11); + lookahead == '~') ADVANCE(22); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(9); + lookahead == ' ') ADVANCE(66); if (lookahead != 0 && lookahead != '(' && lookahead != ')' && lookahead != ',' && lookahead != ';' && lookahead != '[' && - lookahead != ']') ADVANCE(99); - END_STATE(); - case 10: - if (lookahead == '`') ADVANCE(91); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(10); - END_STATE(); - case 11: - if (lookahead == '`') ADVANCE(96); - if ((!eof && set_contains(sym__func_plain_id_character_set_1, 10, lookahead))) ADVANCE(99); - END_STATE(); - case 12: - if (lookahead == 'a') ADVANCE(20); + lookahead != ']') ADVANCE(166); END_STATE(); case 13: - if (lookahead == 'a') ADVANCE(14); + if (lookahead == '/') ADVANCE(102); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(105); + if (lookahead != 0 && + lookahead != '"') ADVANCE(105); END_STATE(); case 14: - if (lookahead == 'c') ADVANCE(17); + if (lookahead == '/') ADVANCE(72); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(66); + if (lookahead != 0) ADVANCE(71); END_STATE(); case 15: - if (lookahead == 'e') ADVANCE(22); + if (lookahead == '=') ADVANCE(125); END_STATE(); case 16: - if (lookahead == 'e') ADVANCE(47); + if (lookahead == '=') ADVANCE(126); END_STATE(); case 17: - if (lookahead == 'e') ADVANCE(53); + if (lookahead == '=') ADVANCE(123); END_STATE(); case 18: - if (lookahead == 'f') ADVANCE(13); + if (lookahead == '=') ADVANCE(128); END_STATE(); case 19: - if (lookahead == 'i') ADVANCE(21); - if (lookahead == 'n') ADVANCE(12); + if (lookahead == '=') ADVANCE(127); END_STATE(); case 20: - if (lookahead == 'm') ADVANCE(16); + if (lookahead == '>') ADVANCE(61); END_STATE(); case 21: - if (lookahead == 'n') ADVANCE(23); + if (lookahead == '`') ADVANCE(158); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(21); END_STATE(); case 22: - if (lookahead == 'r') ADVANCE(18); + if (lookahead == '`') ADVANCE(163); + if ((!eof && set_contains(sym__func_plain_id_character_set_1, 10, lookahead))) ADVANCE(166); END_STATE(); case 23: - if (lookahead == 't') ADVANCE(15); + if (lookahead == 'a') ADVANCE(31); END_STATE(); case 24: - ADVANCE_MAP( - 'u', 25, - 'x', 39, - '"', 108, - '\\', 108, - 'b', 108, - 'f', 108, - 'n', 108, - 'r', 108, - 't', 108, - 'v', 108, - ); + if (lookahead == 'a') ADVANCE(25); END_STATE(); case 25: - if (lookahead == '{') ADVANCE(37); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(38); + if (lookahead == 'c') ADVANCE(28); END_STATE(); case 26: - if (lookahead == '}') ADVANCE(108); + if (lookahead == 'e') ADVANCE(33); END_STATE(); case 27: - if (lookahead == '}') ADVANCE(108); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(26); + if (lookahead == 'e') ADVANCE(58); END_STATE(); case 28: - if (lookahead == '}') ADVANCE(108); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(27); + if (lookahead == 'e') ADVANCE(120); END_STATE(); case 29: - if (lookahead == '}') ADVANCE(108); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(28); + if (lookahead == 'f') ADVANCE(24); END_STATE(); case 30: - if (lookahead == '}') ADVANCE(108); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(29); + if (lookahead == 'i') ADVANCE(32); + if (lookahead == 'n') ADVANCE(23); END_STATE(); case 31: - if (lookahead == '}') ADVANCE(108); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(30); + if (lookahead == 'm') ADVANCE(27); END_STATE(); case 32: - if (lookahead == '0' || - lookahead == '1') ADVANCE(111); + if (lookahead == 'n') ADVANCE(34); END_STATE(); case 33: - if (('0' <= lookahead && lookahead <= '7')) ADVANCE(112); + if (lookahead == 'r') ADVANCE(29); END_STATE(); case 34: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); + if (lookahead == 't') ADVANCE(26); END_STATE(); case 35: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(108); + ADVANCE_MAP( + 'u', 36, + 'x', 50, + '"', 178, + '\\', 178, + 'b', 178, + 'f', 178, + 'n', 178, + 'r', 178, + 't', 178, + 'v', 178, + ); END_STATE(); case 36: + if (lookahead == '{') ADVANCE(48); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(113); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(46); END_STATE(); case 37: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(31); + if (lookahead == '}') ADVANCE(178); END_STATE(); case 38: + if (lookahead == '}') ADVANCE(178); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(39); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(37); END_STATE(); case 39: + if (lookahead == '}') ADVANCE(178); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(35); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(38); END_STATE(); case 40: - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '`') ADVANCE(10); + if (lookahead == '}') ADVANCE(178); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(39); END_STATE(); case 41: - if (eof) ADVANCE(42); - ADVANCE_MAP( - '!', 85, - '"', 101, - '%', 83, - '&', 67, - '(', 48, - ')', 49, - '*', 81, - '+', 78, - ',', 50, - '-', 80, - '.', 90, - '/', 82, - '0', 109, - ':', 44, - ';', 43, - '<', 73, - '=', 46, - '>', 71, - '?', 62, - '@', 19, - '^', 66, - '`', 40, - '{', 51, - '|', 65, - '}', 52, - '~', 87, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(41); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(110); - if (('A' <= lookahead && lookahead <= 'Z') || - ('_' <= lookahead && lookahead <= 'z')) ADVANCE(100); + if (lookahead == '}') ADVANCE(178); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(40); END_STATE(); case 42: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (lookahead == '}') ADVANCE(178); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(41); END_STATE(); case 43: - ACCEPT_TOKEN(anon_sym_SEMI); + if (lookahead == '0' || + lookahead == '1') ADVANCE(181); END_STATE(); case 44: - ACCEPT_TOKEN(anon_sym_COLON); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(182); END_STATE(); case 45: - ACCEPT_TOKEN(anon_sym_EQ); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(180); END_STATE(); case 46: - ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(69); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(50); END_STATE(); case 47: - ACCEPT_TOKEN(anon_sym_ATname); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(178); END_STATE(); case 48: - ACCEPT_TOKEN(anon_sym_LPAREN); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(42); END_STATE(); case 49: - ACCEPT_TOKEN(anon_sym_RPAREN); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(183); END_STATE(); case 50: - ACCEPT_TOKEN(anon_sym_COMMA); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(47); END_STATE(); case 51: - ACCEPT_TOKEN(anon_sym_LBRACE); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '`') ADVANCE(21); END_STATE(); case 52: - ACCEPT_TOKEN(anon_sym_RBRACE); + if (eof) ADVANCE(53); + ADVANCE_MAP( + '!', 151, + '"', 99, + '%', 15, + '&', 16, + '(', 59, + ')', 60, + '*', 17, + '+', 145, + ',', 119, + '-', 146, + '/', 9, + '0', 179, + ':', 55, + ';', 54, + '<', 140, + '=', 56, + '>', 137, + '?', 129, + '@', 30, + '^', 18, + '{', 62, + '|', 19, + '}', 64, + '~', 153, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(66); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(180); + if (('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(173); END_STATE(); case 53: - ACCEPT_TOKEN(anon_sym_ATinterface); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 54: - ACCEPT_TOKEN(anon_sym_PLUS_EQ); + ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); case 55: - ACCEPT_TOKEN(anon_sym_DASH_EQ); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 56: - ACCEPT_TOKEN(anon_sym_STAR_EQ); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 57: - ACCEPT_TOKEN(anon_sym_SLASH_EQ); + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(136); END_STATE(); case 58: - ACCEPT_TOKEN(anon_sym_PERCENT_EQ); + ACCEPT_TOKEN(anon_sym_ATname); END_STATE(); case 59: - ACCEPT_TOKEN(anon_sym_AMP_EQ); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 60: - ACCEPT_TOKEN(anon_sym_PIPE_EQ); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 61: - ACCEPT_TOKEN(anon_sym_CARET_EQ); + ACCEPT_TOKEN(anon_sym_DASH_GT); END_STATE(); case 62: - ACCEPT_TOKEN(anon_sym_QMARK); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + ACCEPT_TOKEN(anon_sym_LBRACE); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 64: - ACCEPT_TOKEN(anon_sym_AMP_AMP); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 65: - ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '=') ADVANCE(60); - if (lookahead == '|') ADVANCE(63); + ACCEPT_TOKEN(anon_sym_RBRACE); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 66: - ACCEPT_TOKEN(anon_sym_CARET); - if (lookahead == '=') ADVANCE(61); + ACCEPT_TOKEN(aux_sym_asm_list_token1); END_STATE(); case 67: - ACCEPT_TOKEN(anon_sym_AMP); - if (lookahead == '&') ADVANCE(64); - if (lookahead == '=') ADVANCE(59); + ACCEPT_TOKEN(anon_sym_LPAREN_LBRACE_RPAREN); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 68: - ACCEPT_TOKEN(anon_sym_BANG_EQ); + ACCEPT_TOKEN(anon_sym_LPAREN_RBRACE_RPAREN); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 69: - ACCEPT_TOKEN(anon_sym_EQ_EQ); + ACCEPT_TOKEN(anon_sym_char); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(173); END_STATE(); case 70: - ACCEPT_TOKEN(anon_sym_GT); + ACCEPT_TOKEN(anon_sym_char); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 71: - ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(72); - if (lookahead == '>') ADVANCE(75); + ACCEPT_TOKEN(aux_sym__asm_instruction_token1); END_STATE(); case 72: - ACCEPT_TOKEN(anon_sym_GT_EQ); + ACCEPT_TOKEN(aux_sym__asm_instruction_token1); + if (lookahead == '*') ADVANCE(11); + if (lookahead == '/') ADVANCE(186); END_STATE(); case 73: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '<') ADVANCE(76); - if (lookahead == '=') ADVANCE(74); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == '"') ADVANCE(98); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 74: - ACCEPT_TOKEN(anon_sym_LT_EQ); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == '"') ADVANCE(97); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 75: - ACCEPT_TOKEN(anon_sym_GT_GT); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == '"') ADVANCE(95); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 76: - ACCEPT_TOKEN(anon_sym_LT_LT); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == ')') ADVANCE(67); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 77: - ACCEPT_TOKEN(anon_sym_PLUS); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == ')') ADVANCE(68); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 78: - ACCEPT_TOKEN(anon_sym_PLUS); - if (lookahead == '=') ADVANCE(54); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == '*') ADVANCE(80); + if (lookahead == '/') ADVANCE(92); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 79: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == '*') ADVANCE(79); + if (lookahead == '/') ADVANCE(93); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(11); + if (lookahead != 0) ADVANCE(80); END_STATE(); case 80: - ACCEPT_TOKEN(anon_sym_DASH); - if (lookahead == '=') ADVANCE(55); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == '*') ADVANCE(79); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(11); + if (lookahead != 0) ADVANCE(80); END_STATE(); case 81: - ACCEPT_TOKEN(anon_sym_STAR); - if (lookahead == '=') ADVANCE(56); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == 'a') ADVANCE(86); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 82: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '*') ADVANCE(7); - if (lookahead == '/') ADVANCE(115); - if (lookahead == '=') ADVANCE(57); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == 'b') ADVANCE(84); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 83: - ACCEPT_TOKEN(anon_sym_PERCENT); - if (lookahead == '=') ADVANCE(58); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == 'h') ADVANCE(81); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 84: - ACCEPT_TOKEN(anon_sym_BANG); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == 'o') ADVANCE(85); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 85: - ACCEPT_TOKEN(anon_sym_BANG); - if (lookahead == '=') ADVANCE(68); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == 'r') ADVANCE(87); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 86: - ACCEPT_TOKEN(anon_sym_TILDE); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == 'r') ADVANCE(70); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 87: - ACCEPT_TOKEN(anon_sym_TILDE); - if (lookahead == '`') ADVANCE(40); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == 't') ADVANCE(75); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 88: - ACCEPT_TOKEN(anon_sym_BANG_BANG); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == '{') ADVANCE(76); + if (lookahead == '}') ADVANCE(77); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 89: - ACCEPT_TOKEN(anon_sym_DOT); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == '{') ADVANCE(76); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 90: - ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == '`') ADVANCE(40); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == '{') ADVANCE(110); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 91: - ACCEPT_TOKEN(sym__func_quoted_id); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == '{') ADVANCE(108); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 92: - ACCEPT_TOKEN(sym__func_quoted_id); - if ((!eof && set_contains(sym__func_plain_id_character_set_1, 10, lookahead))) ADVANCE(99); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead == '\t' || + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(186); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(92); END_STATE(); case 93: - ACCEPT_TOKEN(sym__func_plain_id); - if (lookahead == '*') ADVANCE(95); - if (lookahead == '/') ADVANCE(98); - if ((!eof && set_contains(sym__func_plain_id_character_set_1, 10, lookahead))) ADVANCE(99); + ACCEPT_TOKEN(aux_sym__asm_instruction_token2); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 94: - ACCEPT_TOKEN(sym__func_plain_id); - if (lookahead == '*') ADVANCE(94); - if (lookahead == '/') ADVANCE(99); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == '(' || - lookahead == ')' || - lookahead == ',' || - lookahead == '.' || - lookahead == ';' || - lookahead == '[' || - lookahead == ']' || - lookahead == '~') ADVANCE(7); - if (lookahead != 0) ADVANCE(95); + ACCEPT_TOKEN(anon_sym_abort_DQUOTE); END_STATE(); case 95: - ACCEPT_TOKEN(sym__func_plain_id); - if (lookahead == '*') ADVANCE(94); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == '(' || - lookahead == ')' || - lookahead == ',' || - lookahead == '.' || - lookahead == ';' || - lookahead == '[' || - lookahead == ']' || - lookahead == '~') ADVANCE(7); - if (lookahead != 0) ADVANCE(95); + ACCEPT_TOKEN(anon_sym_abort_DQUOTE); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 96: - ACCEPT_TOKEN(sym__func_plain_id); - if (lookahead == '`') ADVANCE(99); - if (lookahead == '\t' || - (0x0b <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == '(' || - lookahead == ')' || - lookahead == ',' || - lookahead == '.' || - lookahead == ';' || - lookahead == '[' || - lookahead == ']' || - lookahead == '~') ADVANCE(10); - if (lookahead != 0 && - (lookahead < '\t' || '\r' < lookahead)) ADVANCE(97); + ACCEPT_TOKEN(anon_sym_DOT_DQUOTE); END_STATE(); case 97: - ACCEPT_TOKEN(sym__func_plain_id); - if (lookahead == '`') ADVANCE(92); - if (lookahead == '\t' || - (0x0b <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == '(' || - lookahead == ')' || - lookahead == ',' || - lookahead == '.' || - lookahead == ';' || - lookahead == '[' || - lookahead == ']' || - lookahead == '~') ADVANCE(10); + ACCEPT_TOKEN(anon_sym_DOT_DQUOTE); if (lookahead != 0 && - (lookahead < '\t' || '\r' < lookahead)) ADVANCE(97); + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 98: - ACCEPT_TOKEN(sym__func_plain_id); - if (lookahead == '\t' || - (0x0b <= lookahead && lookahead <= '\r') || - lookahead == ' ' || - lookahead == '(' || - lookahead == ')' || - lookahead == ',' || - lookahead == '.' || - lookahead == ';' || - lookahead == '[' || - lookahead == ']' || - lookahead == '~') ADVANCE(115); + ACCEPT_TOKEN(anon_sym_PLUS_DQUOTE); if (lookahead != 0 && - (lookahead < '\t' || '\r' < lookahead)) ADVANCE(98); + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 99: - ACCEPT_TOKEN(sym__func_plain_id); - if ((!eof && set_contains(sym__func_plain_id_character_set_1, 10, lookahead))) ADVANCE(99); + ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); case 100: - ACCEPT_TOKEN(sym_identifier); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(100); + ACCEPT_TOKEN(anon_sym_DQUOTE); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 101: - ACCEPT_TOKEN(anon_sym_DQUOTE); + ACCEPT_TOKEN(aux_sym__asm_string_token1); + if (lookahead == '\n') ADVANCE(105); + if (lookahead != 0 && + lookahead != '"') ADVANCE(101); END_STATE(); case 102: - ACCEPT_TOKEN(anon_sym_DQUOTE2); + ACCEPT_TOKEN(aux_sym__asm_string_token1); + if (lookahead == '*') ADVANCE(104); + if (lookahead == '/') ADVANCE(101); + if (lookahead != 0 && + lookahead != '"') ADVANCE(105); END_STATE(); case 103: - ACCEPT_TOKEN(sym__non_quote_or_backslash_char); - if (lookahead == '*') ADVANCE(105); - if (lookahead == '/') ADVANCE(107); + ACCEPT_TOKEN(aux_sym__asm_string_token1); + if (lookahead == '*') ADVANCE(103); + if (lookahead == '/') ADVANCE(105); if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(107); + lookahead != '"') ADVANCE(104); END_STATE(); case 104: - ACCEPT_TOKEN(sym__non_quote_or_backslash_char); - if (lookahead == '*') ADVANCE(104); - if (lookahead == '/') ADVANCE(107); + ACCEPT_TOKEN(aux_sym__asm_string_token1); + if (lookahead == '*') ADVANCE(103); if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(105); + lookahead != '"') ADVANCE(104); END_STATE(); case 105: - ACCEPT_TOKEN(sym__non_quote_or_backslash_char); - if (lookahead == '*') ADVANCE(104); + ACCEPT_TOKEN(aux_sym__asm_string_token1); if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(105); + lookahead != '"') ADVANCE(105); END_STATE(); case 106: - ACCEPT_TOKEN(sym__non_quote_or_backslash_char); - if (lookahead == '/') ADVANCE(103); - if (lookahead == '\t' || - (0x0b <= lookahead && lookahead <= '\r') || - lookahead == ' ') ADVANCE(106); - if (lookahead != 0 && - (lookahead < '\t' || '\r' < lookahead) && - lookahead != '"' && - lookahead != '\\') ADVANCE(107); + ACCEPT_TOKEN(anon_sym_DQUOTE2); END_STATE(); case 107: - ACCEPT_TOKEN(sym__non_quote_or_backslash_char); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(107); + ACCEPT_TOKEN(anon_sym_x_LBRACE); END_STATE(); case 108: - ACCEPT_TOKEN(sym_escape_sequence); + ACCEPT_TOKEN(anon_sym_x_LBRACE); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 109: - ACCEPT_TOKEN(sym_integer); - if (lookahead == '_') ADVANCE(34); - if (lookahead == 'B' || - lookahead == 'b') ADVANCE(32); - if (lookahead == 'O' || - lookahead == 'o') ADVANCE(33); - if (lookahead == 'X' || - lookahead == 'x') ADVANCE(36); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); + ACCEPT_TOKEN(anon_sym_B_LBRACE); END_STATE(); case 110: - ACCEPT_TOKEN(sym_integer); - if (lookahead == '_') ADVANCE(34); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(110); + ACCEPT_TOKEN(anon_sym_B_LBRACE); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead) && + lookahead != ' ') ADVANCE(93); END_STATE(); case 111: - ACCEPT_TOKEN(sym_integer); - if (lookahead == '_') ADVANCE(32); - if (lookahead == '0' || - lookahead == '1') ADVANCE(111); + ACCEPT_TOKEN(aux_sym__asm_hex_literal_token1); + if (lookahead == '/') ADVANCE(8); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') ADVANCE(66); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(118); END_STATE(); case 112: - ACCEPT_TOKEN(sym_integer); - if (lookahead == '_') ADVANCE(33); - if (('0' <= lookahead && lookahead <= '7')) ADVANCE(112); + ACCEPT_TOKEN(aux_sym__asm_hex_literal_token1); + if (lookahead == 'b') ADVANCE(114); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(117); + if (('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(173); END_STATE(); case 113: - ACCEPT_TOKEN(sym_integer); - if (lookahead == '_') ADVANCE(36); + ACCEPT_TOKEN(aux_sym__asm_hex_literal_token1); + if (lookahead == 'h') ADVANCE(168); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(113); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(117); + if (('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(173); END_STATE(); case 114: - ACCEPT_TOKEN(sym_comment); + ACCEPT_TOKEN(aux_sym__asm_hex_literal_token1); + if (lookahead == 'o') ADVANCE(169); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(117); + if (('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(173); END_STATE(); case 115: - ACCEPT_TOKEN(sym_comment); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(115); - END_STATE(); - default: - return false; - } -} - -static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { - START_LEXER(); - eof = lexer->eof(lexer); - switch (state) { - case 0: - ADVANCE_MAP( - 'a', 1, - 'b', 2, - 'c', 3, - 'd', 4, - 'e', 5, - 'f', 6, - 'g', 7, - 'i', 8, - 'l', 9, - 'm', 10, - 'n', 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); - if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(20); - END_STATE(); - case 1: - if (lookahead == 'b') ADVANCE(21); - if (lookahead == 's') ADVANCE(22); - END_STATE(); - case 2: - if (lookahead == 'o') ADVANCE(23); - END_STATE(); - case 3: - if (lookahead == 'a') ADVANCE(24); - if (lookahead == 'o') ADVANCE(25); - END_STATE(); - case 4: - if (lookahead == 'o') ADVANCE(26); - END_STATE(); - case 5: - if (lookahead == 'l') ADVANCE(27); - if (lookahead == 'x') ADVANCE(28); - END_STATE(); - case 6: - if (lookahead == 'a') ADVANCE(29); - if (lookahead == 'o') ADVANCE(30); - if (lookahead == 'u') ADVANCE(31); - END_STATE(); - case 7: - if (lookahead == 'e') ADVANCE(32); - END_STATE(); - case 8: - if (lookahead == 'f') ADVANCE(33); - if (lookahead == 'm') ADVANCE(34); - if (lookahead == 'n') ADVANCE(35); - END_STATE(); - case 9: - if (lookahead == 'e') ADVANCE(36); - END_STATE(); - case 10: - if (lookahead == 'a') ADVANCE(37); - if (lookahead == 'e') ADVANCE(38); - if (lookahead == 'u') ADVANCE(39); - END_STATE(); - case 11: - if (lookahead == 'a') ADVANCE(40); - if (lookahead == 'u') ADVANCE(41); - END_STATE(); - case 12: - if (lookahead == 'v') ADVANCE(42); - END_STATE(); - case 13: - if (lookahead == 'r') ADVANCE(43); - END_STATE(); - case 14: - if (lookahead == 'e') ADVANCE(44); - END_STATE(); - case 15: - if (lookahead == 'e') ADVANCE(45); - if (lookahead == 't') ADVANCE(46); - END_STATE(); - case 16: - if (lookahead == 'r') ADVANCE(47); - END_STATE(); - case 17: - if (lookahead == 'n') ADVANCE(48); - END_STATE(); - case 18: - if (lookahead == 'i') ADVANCE(49); + ACCEPT_TOKEN(aux_sym__asm_hex_literal_token1); + if (lookahead == '{') ADVANCE(109); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(117); + if (('G' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(173); END_STATE(); - case 19: - if (lookahead == 'h') ADVANCE(50); - if (lookahead == 'i') ADVANCE(51); + case 116: + ACCEPT_TOKEN(aux_sym__asm_hex_literal_token1); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(116); + if (('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(118); END_STATE(); - case 20: - ACCEPT_TOKEN(sym__type_identifier); + case 117: + ACCEPT_TOKEN(aux_sym__asm_hex_literal_token1); if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(117); + if (('G' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(20); + ('g' <= lookahead && lookahead <= 'z')) ADVANCE(173); END_STATE(); - case 21: - if (lookahead == 's') ADVANCE(52); + case 118: + ACCEPT_TOKEN(aux_sym__asm_hex_literal_token1); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(118); END_STATE(); - case 22: - ACCEPT_TOKEN(anon_sym_as); + case 119: + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 23: - if (lookahead == 'u') ADVANCE(53); + case 120: + ACCEPT_TOKEN(anon_sym_ATinterface); END_STATE(); - case 24: - if (lookahead == 't') ADVANCE(54); + case 121: + ACCEPT_TOKEN(anon_sym_PLUS_EQ); END_STATE(); - case 25: - if (lookahead == 'n') ADVANCE(55); + case 122: + ACCEPT_TOKEN(anon_sym_DASH_EQ); END_STATE(); - case 26: - ACCEPT_TOKEN(anon_sym_do); + case 123: + ACCEPT_TOKEN(anon_sym_STAR_EQ); END_STATE(); - case 27: - if (lookahead == 's') ADVANCE(56); + case 124: + ACCEPT_TOKEN(anon_sym_SLASH_EQ); END_STATE(); - case 28: - if (lookahead == 't') ADVANCE(57); + case 125: + ACCEPT_TOKEN(anon_sym_PERCENT_EQ); END_STATE(); - case 29: - if (lookahead == 'l') ADVANCE(58); + case 126: + ACCEPT_TOKEN(anon_sym_AMP_EQ); END_STATE(); - case 30: - if (lookahead == 'r') ADVANCE(59); + case 127: + ACCEPT_TOKEN(anon_sym_PIPE_EQ); END_STATE(); - case 31: - if (lookahead == 'n') ADVANCE(60); + case 128: + ACCEPT_TOKEN(anon_sym_CARET_EQ); END_STATE(); - case 32: - if (lookahead == 't') ADVANCE(61); + case 129: + ACCEPT_TOKEN(anon_sym_QMARK); END_STATE(); - case 33: - ACCEPT_TOKEN(anon_sym_if); + case 130: + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); - case 34: - if (lookahead == 'p') ADVANCE(62); + case 131: + ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); - case 35: - ACCEPT_TOKEN(anon_sym_in); - if (lookahead == 'i') ADVANCE(63); - if (lookahead == 'l') ADVANCE(64); + case 132: + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '=') ADVANCE(127); + if (lookahead == '|') ADVANCE(130); END_STATE(); - case 36: - if (lookahead == 't') ADVANCE(65); + case 133: + ACCEPT_TOKEN(anon_sym_CARET); + if (lookahead == '=') ADVANCE(128); END_STATE(); - case 37: - if (lookahead == 'p') ADVANCE(66); + case 134: + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(131); + if (lookahead == '=') ADVANCE(126); END_STATE(); - case 38: - if (lookahead == 's') ADVANCE(67); + case 135: + ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); - case 39: - if (lookahead == 't') ADVANCE(68); + case 136: + ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); - case 40: - if (lookahead == 't') ADVANCE(69); + case 137: + ACCEPT_TOKEN(anon_sym_GT); END_STATE(); - case 41: - if (lookahead == 'l') ADVANCE(70); + case 138: + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(139); + if (lookahead == '>') ADVANCE(143); END_STATE(); - case 42: - if (lookahead == 'e') ADVANCE(71); + case 139: + ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); - case 43: - if (lookahead == 'i') ADVANCE(72); + case 140: + ACCEPT_TOKEN(anon_sym_LT); END_STATE(); - case 44: - if (lookahead == 'c') ADVANCE(73); - if (lookahead == 'p') ADVANCE(74); - if (lookahead == 't') ADVANCE(75); + case 141: + ACCEPT_TOKEN(anon_sym_LT); + if (lookahead == '<') ADVANCE(144); + if (lookahead == '=') ADVANCE(142); END_STATE(); - case 45: - if (lookahead == 'l') ADVANCE(76); + case 142: + ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); - case 46: - if (lookahead == 'r') ADVANCE(77); + case 143: + ACCEPT_TOKEN(anon_sym_GT_GT); END_STATE(); - case 47: - if (lookahead == 'a') ADVANCE(78); - if (lookahead == 'u') ADVANCE(79); - if (lookahead == 'y') ADVANCE(80); + case 144: + ACCEPT_TOKEN(anon_sym_LT_LT); END_STATE(); - case 48: - if (lookahead == 't') ADVANCE(81); + case 145: + ACCEPT_TOKEN(anon_sym_PLUS); + if (lookahead == '=') ADVANCE(121); END_STATE(); - case 49: - if (lookahead == 'r') ADVANCE(82); + case 146: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '=') ADVANCE(122); END_STATE(); - case 50: - if (lookahead == 'i') ADVANCE(83); + case 147: + ACCEPT_TOKEN(anon_sym_DASH); + if (lookahead == '=') ADVANCE(122); + if (lookahead == '>') ADVANCE(61); END_STATE(); - case 51: - if (lookahead == 't') ADVANCE(84); + case 148: + ACCEPT_TOKEN(anon_sym_STAR); + if (lookahead == '=') ADVANCE(123); END_STATE(); - case 52: - if (lookahead == 't') ADVANCE(85); + case 149: + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(11); + if (lookahead == '/') ADVANCE(186); + if (lookahead == '=') ADVANCE(124); END_STATE(); - case 53: - if (lookahead == 'n') ADVANCE(86); + case 150: + ACCEPT_TOKEN(anon_sym_PERCENT); + if (lookahead == '=') ADVANCE(125); END_STATE(); - case 54: - if (lookahead == 'c') ADVANCE(87); + case 151: + ACCEPT_TOKEN(anon_sym_BANG); END_STATE(); - case 55: - if (lookahead == 's') ADVANCE(88); - if (lookahead == 't') ADVANCE(89); + case 152: + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(135); END_STATE(); - case 56: - if (lookahead == 'e') ADVANCE(90); + case 153: + ACCEPT_TOKEN(anon_sym_TILDE); END_STATE(); - case 57: - if (lookahead == 'e') ADVANCE(91); + case 154: + ACCEPT_TOKEN(anon_sym_TILDE); + if (lookahead == '`') ADVANCE(51); END_STATE(); - case 58: - if (lookahead == 's') ADVANCE(92); + case 155: + ACCEPT_TOKEN(anon_sym_BANG_BANG); END_STATE(); - case 59: - if (lookahead == 'e') ADVANCE(93); + case 156: + ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 60: - ACCEPT_TOKEN(anon_sym_fun); + case 157: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '"') ADVANCE(96); + if (lookahead == '`') ADVANCE(51); END_STATE(); - case 61: - ACCEPT_TOKEN(anon_sym_get); + case 158: + ACCEPT_TOKEN(sym__func_quoted_id); END_STATE(); - case 62: - if (lookahead == 'o') ADVANCE(94); + case 159: + ACCEPT_TOKEN(sym__func_quoted_id); + if ((!eof && set_contains(sym__func_plain_id_character_set_1, 10, lookahead))) ADVANCE(166); END_STATE(); - case 63: - if (lookahead == 't') ADVANCE(95); + case 160: + ACCEPT_TOKEN(sym__func_plain_id); + if (lookahead == '*') ADVANCE(162); + if (lookahead == '/') ADVANCE(165); + if ((!eof && set_contains(sym__func_plain_id_character_set_1, 10, lookahead))) ADVANCE(166); END_STATE(); - case 64: - if (lookahead == 'i') ADVANCE(96); + case 161: + ACCEPT_TOKEN(sym__func_plain_id); + if (lookahead == '*') ADVANCE(161); + if (lookahead == '/') ADVANCE(166); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == '(' || + lookahead == ')' || + lookahead == ',' || + lookahead == '.' || + lookahead == ';' || + lookahead == '[' || + lookahead == ']' || + lookahead == '~') ADVANCE(11); + if (lookahead != 0) ADVANCE(162); END_STATE(); - case 65: - ACCEPT_TOKEN(anon_sym_let); + case 162: + ACCEPT_TOKEN(sym__func_plain_id); + if (lookahead == '*') ADVANCE(161); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == '(' || + lookahead == ')' || + lookahead == ',' || + lookahead == '.' || + lookahead == ';' || + lookahead == '[' || + lookahead == ']' || + lookahead == '~') ADVANCE(11); + if (lookahead != 0) ADVANCE(162); + END_STATE(); + case 163: + ACCEPT_TOKEN(sym__func_plain_id); + if (lookahead == '`') ADVANCE(166); + if (lookahead == '\t' || + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == '(' || + lookahead == ')' || + lookahead == ',' || + lookahead == '.' || + lookahead == ';' || + lookahead == '[' || + lookahead == ']' || + lookahead == '~') ADVANCE(21); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(164); + END_STATE(); + case 164: + ACCEPT_TOKEN(sym__func_plain_id); + if (lookahead == '`') ADVANCE(159); + if (lookahead == '\t' || + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == '(' || + lookahead == ')' || + lookahead == ',' || + lookahead == '.' || + lookahead == ';' || + lookahead == '[' || + lookahead == ']' || + lookahead == '~') ADVANCE(21); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(164); + END_STATE(); + case 165: + ACCEPT_TOKEN(sym__func_plain_id); + if (lookahead == '\t' || + (0x0b <= lookahead && lookahead <= '\r') || + lookahead == ' ' || + lookahead == '(' || + lookahead == ')' || + lookahead == ',' || + lookahead == '.' || + lookahead == ';' || + lookahead == '[' || + lookahead == ']' || + lookahead == '~') ADVANCE(186); + if (lookahead != 0 && + (lookahead < '\t' || '\r' < lookahead)) ADVANCE(165); + END_STATE(); + case 166: + ACCEPT_TOKEN(sym__func_plain_id); + if ((!eof && set_contains(sym__func_plain_id_character_set_1, 10, lookahead))) ADVANCE(166); + END_STATE(); + case 167: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '"') ADVANCE(94); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(173); + END_STATE(); + case 168: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(170); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('b' <= lookahead && lookahead <= 'z')) ADVANCE(173); + END_STATE(); + case 169: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(171); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(173); + END_STATE(); + case 170: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(69); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(173); + END_STATE(); + case 171: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 't') ADVANCE(167); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(173); + END_STATE(); + case 172: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '{') ADVANCE(107); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(173); + END_STATE(); + case 173: + ACCEPT_TOKEN(sym_identifier); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(173); + END_STATE(); + case 174: + ACCEPT_TOKEN(sym__non_quote_or_backslash_char); + if (lookahead == '*') ADVANCE(176); + if (lookahead == '/') ADVANCE(177); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(177); + END_STATE(); + case 175: + ACCEPT_TOKEN(sym__non_quote_or_backslash_char); + if (lookahead == '*') ADVANCE(175); + if (lookahead == '/') ADVANCE(177); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(176); + END_STATE(); + case 176: + ACCEPT_TOKEN(sym__non_quote_or_backslash_char); + if (lookahead == '*') ADVANCE(175); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(176); + END_STATE(); + case 177: + ACCEPT_TOKEN(sym__non_quote_or_backslash_char); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"' && + lookahead != '\\') ADVANCE(177); + END_STATE(); + case 178: + ACCEPT_TOKEN(sym_escape_sequence); + END_STATE(); + case 179: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '_') ADVANCE(45); + if (lookahead == 'B' || + lookahead == 'b') ADVANCE(43); + if (lookahead == 'O' || + lookahead == 'o') ADVANCE(44); + if (lookahead == 'X' || + lookahead == 'x') ADVANCE(49); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(180); + END_STATE(); + case 180: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '_') ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(180); + END_STATE(); + case 181: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '_') ADVANCE(43); + if (lookahead == '0' || + lookahead == '1') ADVANCE(181); + END_STATE(); + case 182: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '_') ADVANCE(44); + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(182); + END_STATE(); + case 183: + ACCEPT_TOKEN(sym_integer); + if (lookahead == '_') ADVANCE(49); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(183); + END_STATE(); + case 184: + ACCEPT_TOKEN(sym__decimal_integer); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(184); + END_STATE(); + case 185: + ACCEPT_TOKEN(sym_comment); + END_STATE(); + case 186: + ACCEPT_TOKEN(sym_comment); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(186); + END_STATE(); + default: + return false; + } +} + +static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { + START_LEXER(); + eof = lexer->eof(lexer); + switch (state) { + case 0: + ADVANCE_MAP( + '_', 1, + 'a', 2, + 'b', 3, + 'c', 4, + 'd', 5, + 'e', 6, + 'f', 7, + 'g', 8, + 'i', 9, + 'l', 10, + 'm', 11, + 'n', 12, + 'o', 13, + 'p', 14, + 'r', 15, + 's', 16, + 't', 17, + 'u', 18, + 'v', 19, + 'w', 20, + ); + if (('A' <= lookahead && lookahead <= 'Z')) ADVANCE(21); + END_STATE(); + case 1: + ACCEPT_TOKEN(anon_sym__); + END_STATE(); + case 2: + if (lookahead == 'b') ADVANCE(22); + if (lookahead == 's') ADVANCE(23); + END_STATE(); + case 3: + if (lookahead == 'o') ADVANCE(24); + END_STATE(); + case 4: + if (lookahead == 'a') ADVANCE(25); + if (lookahead == 'o') ADVANCE(26); + END_STATE(); + case 5: + if (lookahead == 'o') ADVANCE(27); + END_STATE(); + case 6: + if (lookahead == 'l') ADVANCE(28); + if (lookahead == 'x') ADVANCE(29); + END_STATE(); + case 7: + if (lookahead == 'a') ADVANCE(30); + if (lookahead == 'o') ADVANCE(31); + if (lookahead == 'u') ADVANCE(32); + END_STATE(); + case 8: + if (lookahead == 'e') ADVANCE(33); + END_STATE(); + case 9: + if (lookahead == 'f') ADVANCE(34); + if (lookahead == 'm') ADVANCE(35); + if (lookahead == 'n') ADVANCE(36); + END_STATE(); + case 10: + if (lookahead == 'e') ADVANCE(37); + END_STATE(); + case 11: + if (lookahead == 'a') ADVANCE(38); + if (lookahead == 'e') ADVANCE(39); + if (lookahead == 'u') ADVANCE(40); + END_STATE(); + case 12: + if (lookahead == 'a') ADVANCE(41); + if (lookahead == 'u') ADVANCE(42); + END_STATE(); + case 13: + if (lookahead == 'v') ADVANCE(43); + END_STATE(); + case 14: + if (lookahead == 'r') ADVANCE(44); + END_STATE(); + case 15: + if (lookahead == 'e') ADVANCE(45); + END_STATE(); + case 16: + if (lookahead == 'e') ADVANCE(46); + if (lookahead == 't') ADVANCE(47); + END_STATE(); + case 17: + if (lookahead == 'r') ADVANCE(48); + END_STATE(); + case 18: + if (lookahead == 'n') ADVANCE(49); + END_STATE(); + case 19: + if (lookahead == 'i') ADVANCE(50); + END_STATE(); + case 20: + if (lookahead == 'h') ADVANCE(51); + if (lookahead == 'i') ADVANCE(52); + END_STATE(); + case 21: + ACCEPT_TOKEN(sym__type_identifier); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(21); + END_STATE(); + case 22: + if (lookahead == 's') ADVANCE(53); + END_STATE(); + case 23: + ACCEPT_TOKEN(anon_sym_as); + if (lookahead == 'm') ADVANCE(54); + END_STATE(); + case 24: + if (lookahead == 'u') ADVANCE(55); + END_STATE(); + case 25: + if (lookahead == 't') ADVANCE(56); + END_STATE(); + case 26: + if (lookahead == 'n') ADVANCE(57); + END_STATE(); + case 27: + ACCEPT_TOKEN(anon_sym_do); + END_STATE(); + case 28: + if (lookahead == 's') ADVANCE(58); + END_STATE(); + case 29: + if (lookahead == 't') ADVANCE(59); + END_STATE(); + case 30: + if (lookahead == 'l') ADVANCE(60); + END_STATE(); + case 31: + if (lookahead == 'r') ADVANCE(61); + END_STATE(); + case 32: + if (lookahead == 'n') ADVANCE(62); + END_STATE(); + case 33: + if (lookahead == 't') ADVANCE(63); + END_STATE(); + case 34: + ACCEPT_TOKEN(anon_sym_if); + END_STATE(); + case 35: + if (lookahead == 'p') ADVANCE(64); + END_STATE(); + case 36: + ACCEPT_TOKEN(anon_sym_in); + if (lookahead == 'i') ADVANCE(65); + if (lookahead == 'l') ADVANCE(66); + END_STATE(); + case 37: + if (lookahead == 't') ADVANCE(67); + END_STATE(); + case 38: + if (lookahead == 'p') ADVANCE(68); + END_STATE(); + case 39: + if (lookahead == 's') ADVANCE(69); + END_STATE(); + case 40: + if (lookahead == 't') ADVANCE(70); + END_STATE(); + case 41: + if (lookahead == 't') ADVANCE(71); + END_STATE(); + case 42: + if (lookahead == 'l') ADVANCE(72); + END_STATE(); + case 43: + if (lookahead == 'e') ADVANCE(73); + END_STATE(); + case 44: + if (lookahead == 'i') ADVANCE(74); + END_STATE(); + case 45: + if (lookahead == 'c') ADVANCE(75); + if (lookahead == 'p') ADVANCE(76); + if (lookahead == 't') ADVANCE(77); + END_STATE(); + case 46: + if (lookahead == 'l') ADVANCE(78); + END_STATE(); + case 47: + if (lookahead == 'r') ADVANCE(79); + END_STATE(); + case 48: + if (lookahead == 'a') ADVANCE(80); + if (lookahead == 'u') ADVANCE(81); + if (lookahead == 'y') ADVANCE(82); + END_STATE(); + case 49: + if (lookahead == 't') ADVANCE(83); + END_STATE(); + case 50: + if (lookahead == 'r') ADVANCE(84); + END_STATE(); + case 51: + if (lookahead == 'i') ADVANCE(85); + END_STATE(); + case 52: + if (lookahead == 't') ADVANCE(86); + END_STATE(); + case 53: + if (lookahead == 't') ADVANCE(87); + END_STATE(); + case 54: + ACCEPT_TOKEN(anon_sym_asm); + END_STATE(); + case 55: + if (lookahead == 'n') ADVANCE(88); + END_STATE(); + case 56: + if (lookahead == 'c') ADVANCE(89); + END_STATE(); + case 57: + if (lookahead == 's') ADVANCE(90); + if (lookahead == 't') ADVANCE(91); + END_STATE(); + case 58: + if (lookahead == 'e') ADVANCE(92); + END_STATE(); + case 59: + if (lookahead == 'e') ADVANCE(93); + END_STATE(); + case 60: + if (lookahead == 's') ADVANCE(94); + END_STATE(); + case 61: + if (lookahead == 'e') ADVANCE(95); + END_STATE(); + case 62: + ACCEPT_TOKEN(anon_sym_fun); + END_STATE(); + case 63: + ACCEPT_TOKEN(anon_sym_get); + END_STATE(); + case 64: + if (lookahead == 'o') ADVANCE(96); + END_STATE(); + case 65: + if (lookahead == 't') ADVANCE(97); END_STATE(); case 66: - ACCEPT_TOKEN(anon_sym_map); + if (lookahead == 'i') ADVANCE(98); END_STATE(); case 67: - if (lookahead == 's') ADVANCE(97); + ACCEPT_TOKEN(anon_sym_let); END_STATE(); case 68: - if (lookahead == 'a') ADVANCE(98); + ACCEPT_TOKEN(anon_sym_map); END_STATE(); case 69: - if (lookahead == 'i') ADVANCE(99); + if (lookahead == 's') ADVANCE(99); END_STATE(); case 70: - if (lookahead == 'l') ADVANCE(100); + if (lookahead == 'a') ADVANCE(100); END_STATE(); case 71: - if (lookahead == 'r') ADVANCE(101); + if (lookahead == 'i') ADVANCE(101); END_STATE(); case 72: - if (lookahead == 'm') ADVANCE(102); + if (lookahead == 'l') ADVANCE(102); END_STATE(); case 73: - if (lookahead == 'e') ADVANCE(103); + if (lookahead == 'r') ADVANCE(103); END_STATE(); case 74: - if (lookahead == 'e') ADVANCE(104); + if (lookahead == 'm') ADVANCE(104); END_STATE(); case 75: - if (lookahead == 'u') ADVANCE(105); + if (lookahead == 'e') ADVANCE(105); END_STATE(); case 76: - if (lookahead == 'f') ADVANCE(106); + if (lookahead == 'e') ADVANCE(106); END_STATE(); case 77: if (lookahead == 'u') ADVANCE(107); END_STATE(); case 78: - if (lookahead == 'i') ADVANCE(108); + if (lookahead == 'f') ADVANCE(108); END_STATE(); case 79: - if (lookahead == 'e') ADVANCE(109); + if (lookahead == 'u') ADVANCE(109); END_STATE(); case 80: - ACCEPT_TOKEN(anon_sym_try); + if (lookahead == 'i') ADVANCE(110); END_STATE(); case 81: - if (lookahead == 'i') ADVANCE(110); + if (lookahead == 'e') ADVANCE(111); END_STATE(); case 82: - if (lookahead == 't') ADVANCE(111); + ACCEPT_TOKEN(anon_sym_try); END_STATE(); case 83: - if (lookahead == 'l') ADVANCE(112); + if (lookahead == 'i') ADVANCE(112); END_STATE(); case 84: - if (lookahead == 'h') ADVANCE(113); + if (lookahead == 't') ADVANCE(113); END_STATE(); case 85: - if (lookahead == 'r') ADVANCE(114); + if (lookahead == 'l') ADVANCE(114); END_STATE(); case 86: - if (lookahead == 'c') ADVANCE(115); + if (lookahead == 'h') ADVANCE(115); END_STATE(); case 87: - if (lookahead == 'h') ADVANCE(116); + if (lookahead == 'r') ADVANCE(116); END_STATE(); case 88: - if (lookahead == 't') ADVANCE(117); + if (lookahead == 'c') ADVANCE(117); END_STATE(); case 89: - if (lookahead == 'r') ADVANCE(118); + if (lookahead == 'h') ADVANCE(118); END_STATE(); case 90: - ACCEPT_TOKEN(anon_sym_else); + if (lookahead == 't') ADVANCE(119); END_STATE(); case 91: - if (lookahead == 'n') ADVANCE(119); if (lookahead == 'r') ADVANCE(120); END_STATE(); case 92: - if (lookahead == 'e') ADVANCE(121); + ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 93: - if (lookahead == 'a') ADVANCE(122); + if (lookahead == 'n') ADVANCE(121); + if (lookahead == 'r') ADVANCE(122); END_STATE(); case 94: - if (lookahead == 'r') ADVANCE(123); + if (lookahead == 'e') ADVANCE(123); END_STATE(); case 95: - ACCEPT_TOKEN(anon_sym_init); - if (lookahead == 'O') ADVANCE(124); + if (lookahead == 'a') ADVANCE(124); END_STATE(); case 96: - if (lookahead == 'n') ADVANCE(125); + if (lookahead == 'r') ADVANCE(125); END_STATE(); case 97: - if (lookahead == 'a') ADVANCE(126); + ACCEPT_TOKEN(anon_sym_init); + if (lookahead == 'O') ADVANCE(126); END_STATE(); case 98: - if (lookahead == 't') ADVANCE(127); + if (lookahead == 'n') ADVANCE(127); END_STATE(); case 99: - if (lookahead == 'v') ADVANCE(128); + if (lookahead == 'a') ADVANCE(128); END_STATE(); case 100: - ACCEPT_TOKEN(sym_null); + if (lookahead == 't') ADVANCE(129); END_STATE(); case 101: - if (lookahead == 'r') ADVANCE(129); + if (lookahead == 'v') ADVANCE(130); END_STATE(); case 102: - if (lookahead == 'i') ADVANCE(130); + ACCEPT_TOKEN(sym_null); END_STATE(); case 103: - if (lookahead == 'i') ADVANCE(131); + if (lookahead == 'r') ADVANCE(131); END_STATE(); case 104: - if (lookahead == 'a') ADVANCE(132); + if (lookahead == 'i') ADVANCE(132); END_STATE(); case 105: - if (lookahead == 'r') ADVANCE(133); + if (lookahead == 'i') ADVANCE(133); END_STATE(); case 106: - ACCEPT_TOKEN(sym_self); + if (lookahead == 'a') ADVANCE(134); END_STATE(); case 107: - if (lookahead == 'c') ADVANCE(134); + if (lookahead == 'r') ADVANCE(135); END_STATE(); case 108: - if (lookahead == 't') ADVANCE(135); + ACCEPT_TOKEN(sym_self); END_STATE(); case 109: - ACCEPT_TOKEN(anon_sym_true); + if (lookahead == 'c') ADVANCE(136); END_STATE(); case 110: - if (lookahead == 'l') ADVANCE(136); + if (lookahead == 't') ADVANCE(137); END_STATE(); case 111: - if (lookahead == 'u') ADVANCE(137); + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 112: - if (lookahead == 'e') ADVANCE(138); + if (lookahead == 'l') ADVANCE(138); END_STATE(); case 113: - ACCEPT_TOKEN(anon_sym_with); + if (lookahead == 'u') ADVANCE(139); END_STATE(); case 114: - if (lookahead == 'a') ADVANCE(139); + if (lookahead == 'e') ADVANCE(140); END_STATE(); case 115: - if (lookahead == 'e') ADVANCE(140); + ACCEPT_TOKEN(anon_sym_with); END_STATE(); case 116: - ACCEPT_TOKEN(anon_sym_catch); + if (lookahead == 'a') ADVANCE(141); END_STATE(); case 117: - ACCEPT_TOKEN(anon_sym_const); + if (lookahead == 'e') ADVANCE(142); END_STATE(); case 118: - if (lookahead == 'a') ADVANCE(141); + ACCEPT_TOKEN(anon_sym_catch); END_STATE(); case 119: - if (lookahead == 'd') ADVANCE(142); + ACCEPT_TOKEN(anon_sym_const); END_STATE(); case 120: - if (lookahead == 'n') ADVANCE(143); + if (lookahead == 'a') ADVANCE(143); END_STATE(); case 121: - ACCEPT_TOKEN(anon_sym_false); + if (lookahead == 'd') ADVANCE(144); END_STATE(); case 122: - if (lookahead == 'c') ADVANCE(144); + if (lookahead == 'n') ADVANCE(145); END_STATE(); case 123: - if (lookahead == 't') ADVANCE(145); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 124: - if (lookahead == 'f') ADVANCE(146); + if (lookahead == 'c') ADVANCE(146); END_STATE(); case 125: - if (lookahead == 'e') ADVANCE(147); + if (lookahead == 't') ADVANCE(147); END_STATE(); case 126: - if (lookahead == 'g') ADVANCE(148); + if (lookahead == 'f') ADVANCE(148); END_STATE(); case 127: if (lookahead == 'e') ADVANCE(149); END_STATE(); case 128: - if (lookahead == 'e') ADVANCE(150); + if (lookahead == 'g') ADVANCE(150); END_STATE(); case 129: - if (lookahead == 'i') ADVANCE(151); + if (lookahead == 'e') ADVANCE(151); END_STATE(); case 130: - if (lookahead == 't') ADVANCE(152); + if (lookahead == 'e') ADVANCE(152); END_STATE(); case 131: - if (lookahead == 'v') ADVANCE(153); + if (lookahead == 'i') ADVANCE(153); END_STATE(); case 132: if (lookahead == 't') ADVANCE(154); END_STATE(); case 133: - if (lookahead == 'n') ADVANCE(155); + if (lookahead == 'v') ADVANCE(155); END_STATE(); case 134: if (lookahead == 't') ADVANCE(156); END_STATE(); case 135: - ACCEPT_TOKEN(anon_sym_trait); + if (lookahead == 'n') ADVANCE(157); END_STATE(); case 136: - ACCEPT_TOKEN(anon_sym_until); + if (lookahead == 't') ADVANCE(158); END_STATE(); case 137: - if (lookahead == 'a') ADVANCE(157); + ACCEPT_TOKEN(anon_sym_trait); END_STATE(); case 138: - ACCEPT_TOKEN(anon_sym_while); + ACCEPT_TOKEN(anon_sym_until); END_STATE(); case 139: - if (lookahead == 'c') ADVANCE(158); + if (lookahead == 'a') ADVANCE(159); END_STATE(); case 140: - if (lookahead == 'd') ADVANCE(159); + ACCEPT_TOKEN(anon_sym_while); END_STATE(); case 141: if (lookahead == 'c') ADVANCE(160); END_STATE(); case 142: - if (lookahead == 's') ADVANCE(161); + if (lookahead == 'd') ADVANCE(161); END_STATE(); case 143: - if (lookahead == 'a') ADVANCE(162); + if (lookahead == 'c') ADVANCE(162); END_STATE(); case 144: - if (lookahead == 'h') ADVANCE(163); + if (lookahead == 's') ADVANCE(163); END_STATE(); case 145: - ACCEPT_TOKEN(anon_sym_import); + if (lookahead == 'a') ADVANCE(164); END_STATE(); case 146: - ACCEPT_TOKEN(anon_sym_initOf); + if (lookahead == 'h') ADVANCE(165); END_STATE(); case 147: - ACCEPT_TOKEN(anon_sym_inline); + ACCEPT_TOKEN(anon_sym_import); END_STATE(); case 148: - if (lookahead == 'e') ADVANCE(164); + ACCEPT_TOKEN(anon_sym_initOf); END_STATE(); case 149: - if (lookahead == 's') ADVANCE(165); + ACCEPT_TOKEN(anon_sym_inline); END_STATE(); case 150: - ACCEPT_TOKEN(anon_sym_native); + if (lookahead == 'e') ADVANCE(166); END_STATE(); case 151: - if (lookahead == 'd') ADVANCE(166); + if (lookahead == 's') ADVANCE(167); END_STATE(); case 152: - if (lookahead == 'i') ADVANCE(167); + ACCEPT_TOKEN(anon_sym_native); END_STATE(); case 153: - if (lookahead == 'e') ADVANCE(168); + if (lookahead == 'd') ADVANCE(168); END_STATE(); case 154: - ACCEPT_TOKEN(anon_sym_repeat); + if (lookahead == 'i') ADVANCE(169); END_STATE(); case 155: - ACCEPT_TOKEN(anon_sym_return); + if (lookahead == 'e') ADVANCE(170); END_STATE(); case 156: - ACCEPT_TOKEN(anon_sym_struct); + ACCEPT_TOKEN(anon_sym_repeat); END_STATE(); case 157: - if (lookahead == 'l') ADVANCE(169); + ACCEPT_TOKEN(anon_sym_return); END_STATE(); case 158: - if (lookahead == 't') ADVANCE(170); + ACCEPT_TOKEN(anon_sym_struct); END_STATE(); case 159: - ACCEPT_TOKEN(anon_sym_bounced); + if (lookahead == 'l') ADVANCE(171); END_STATE(); case 160: - if (lookahead == 't') ADVANCE(171); + if (lookahead == 't') ADVANCE(172); END_STATE(); case 161: - ACCEPT_TOKEN(anon_sym_extends); + ACCEPT_TOKEN(anon_sym_bounced); END_STATE(); case 162: - if (lookahead == 'l') ADVANCE(172); + if (lookahead == 't') ADVANCE(173); END_STATE(); case 163: - ACCEPT_TOKEN(anon_sym_foreach); + ACCEPT_TOKEN(anon_sym_extends); END_STATE(); case 164: - ACCEPT_TOKEN(anon_sym_message); + if (lookahead == 'l') ADVANCE(174); END_STATE(); case 165: - ACCEPT_TOKEN(anon_sym_mutates); + ACCEPT_TOKEN(anon_sym_foreach); END_STATE(); case 166: - if (lookahead == 'e') ADVANCE(173); + ACCEPT_TOKEN(anon_sym_message); END_STATE(); case 167: - if (lookahead == 'v') ADVANCE(174); + ACCEPT_TOKEN(anon_sym_mutates); END_STATE(); case 168: - ACCEPT_TOKEN(anon_sym_receive); + if (lookahead == 'e') ADVANCE(175); END_STATE(); case 169: - ACCEPT_TOKEN(anon_sym_virtual); + if (lookahead == 'v') ADVANCE(176); END_STATE(); case 170: - ACCEPT_TOKEN(anon_sym_abstract); + ACCEPT_TOKEN(anon_sym_receive); END_STATE(); case 171: - ACCEPT_TOKEN(anon_sym_contract); + ACCEPT_TOKEN(anon_sym_virtual); END_STATE(); case 172: - ACCEPT_TOKEN(anon_sym_external); + ACCEPT_TOKEN(anon_sym_abstract); END_STATE(); case 173: - ACCEPT_TOKEN(anon_sym_override); + ACCEPT_TOKEN(anon_sym_contract); END_STATE(); case 174: - if (lookahead == 'e') ADVANCE(175); + ACCEPT_TOKEN(anon_sym_external); END_STATE(); case 175: + ACCEPT_TOKEN(anon_sym_override); + END_STATE(); + case 176: + if (lookahead == 'e') ADVANCE(177); + END_STATE(); + case 177: ACCEPT_TOKEN(anon_sym_primitive); END_STATE(); default: @@ -3404,413 +4327,577 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 0}, - [2] = {.lex_state = 2}, - [3] = {.lex_state = 2}, - [4] = {.lex_state = 2}, - [5] = {.lex_state = 2}, - [6] = {.lex_state = 2}, - [7] = {.lex_state = 2}, - [8] = {.lex_state = 2}, - [9] = {.lex_state = 2}, - [10] = {.lex_state = 3}, - [11] = {.lex_state = 3}, - [12] = {.lex_state = 0}, - [13] = {.lex_state = 0}, - [14] = {.lex_state = 0}, - [15] = {.lex_state = 0}, - [16] = {.lex_state = 3}, - [17] = {.lex_state = 3}, - [18] = {.lex_state = 2}, + [1] = {.lex_state = 52}, + [2] = {.lex_state = 52}, + [3] = {.lex_state = 52}, + [4] = {.lex_state = 52}, + [5] = {.lex_state = 52}, + [6] = {.lex_state = 52}, + [7] = {.lex_state = 52}, + [8] = {.lex_state = 52}, + [9] = {.lex_state = 52}, + [10] = {.lex_state = 52}, + [11] = {.lex_state = 2}, + [12] = {.lex_state = 2}, + [13] = {.lex_state = 52}, + [14] = {.lex_state = 52}, + [15] = {.lex_state = 52}, + [16] = {.lex_state = 2}, + [17] = {.lex_state = 52}, + [18] = {.lex_state = 52}, [19] = {.lex_state = 2}, - [20] = {.lex_state = 2}, - [21] = {.lex_state = 2}, - [22] = {.lex_state = 0}, - [23] = {.lex_state = 2}, - [24] = {.lex_state = 0}, - [25] = {.lex_state = 0}, - [26] = {.lex_state = 2}, - [27] = {.lex_state = 2}, - [28] = {.lex_state = 2}, - [29] = {.lex_state = 2}, - [30] = {.lex_state = 2}, - [31] = {.lex_state = 2}, - [32] = {.lex_state = 2}, - [33] = {.lex_state = 2}, - [34] = {.lex_state = 2}, - [35] = {.lex_state = 2}, - [36] = {.lex_state = 2}, - [37] = {.lex_state = 2}, - [38] = {.lex_state = 2}, - [39] = {.lex_state = 2}, - [40] = {.lex_state = 2}, - [41] = {.lex_state = 2}, - [42] = {.lex_state = 2}, - [43] = {.lex_state = 2}, - [44] = {.lex_state = 2}, - [45] = {.lex_state = 2}, - [46] = {.lex_state = 2}, - [47] = {.lex_state = 2}, - [48] = {.lex_state = 2}, - [49] = {.lex_state = 2}, - [50] = {.lex_state = 2}, - [51] = {.lex_state = 2}, - [52] = {.lex_state = 2}, - [53] = {.lex_state = 2}, - [54] = {.lex_state = 2}, - [55] = {.lex_state = 2}, - [56] = {.lex_state = 3}, - [57] = {.lex_state = 0}, - [58] = {.lex_state = 3}, - [59] = {.lex_state = 3}, - [60] = {.lex_state = 3}, - [61] = {.lex_state = 3}, - [62] = {.lex_state = 0}, - [63] = {.lex_state = 3}, - [64] = {.lex_state = 3}, - [65] = {.lex_state = 3}, - [66] = {.lex_state = 3}, - [67] = {.lex_state = 3}, - [68] = {.lex_state = 3}, - [69] = {.lex_state = 3}, - [70] = {.lex_state = 0}, - [71] = {.lex_state = 3}, - [72] = {.lex_state = 3}, - [73] = {.lex_state = 3}, - [74] = {.lex_state = 3}, - [75] = {.lex_state = 3}, - [76] = {.lex_state = 3}, - [77] = {.lex_state = 3}, - [78] = {.lex_state = 3}, + [20] = {.lex_state = 52}, + [21] = {.lex_state = 52}, + [22] = {.lex_state = 52}, + [23] = {.lex_state = 52}, + [24] = {.lex_state = 52}, + [25] = {.lex_state = 52}, + [26] = {.lex_state = 52}, + [27] = {.lex_state = 52}, + [28] = {.lex_state = 52}, + [29] = {.lex_state = 52}, + [30] = {.lex_state = 52}, + [31] = {.lex_state = 52}, + [32] = {.lex_state = 52}, + [33] = {.lex_state = 52}, + [34] = {.lex_state = 52}, + [35] = {.lex_state = 52}, + [36] = {.lex_state = 52}, + [37] = {.lex_state = 52}, + [38] = {.lex_state = 52}, + [39] = {.lex_state = 52}, + [40] = {.lex_state = 52}, + [41] = {.lex_state = 52}, + [42] = {.lex_state = 52}, + [43] = {.lex_state = 52}, + [44] = {.lex_state = 52}, + [45] = {.lex_state = 52}, + [46] = {.lex_state = 52}, + [47] = {.lex_state = 52}, + [48] = {.lex_state = 52}, + [49] = {.lex_state = 52}, + [50] = {.lex_state = 52}, + [51] = {.lex_state = 52}, + [52] = {.lex_state = 52}, + [53] = {.lex_state = 52}, + [54] = {.lex_state = 52}, + [55] = {.lex_state = 52}, + [56] = {.lex_state = 52}, + [57] = {.lex_state = 52}, + [58] = {.lex_state = 52}, + [59] = {.lex_state = 2}, + [60] = {.lex_state = 2}, + [61] = {.lex_state = 2}, + [62] = {.lex_state = 2}, + [63] = {.lex_state = 2}, + [64] = {.lex_state = 2}, + [65] = {.lex_state = 2}, + [66] = {.lex_state = 2}, + [67] = {.lex_state = 2}, + [68] = {.lex_state = 2}, + [69] = {.lex_state = 2}, + [70] = {.lex_state = 2}, + [71] = {.lex_state = 2}, + [72] = {.lex_state = 2}, + [73] = {.lex_state = 2}, + [74] = {.lex_state = 2}, + [75] = {.lex_state = 2}, + [76] = {.lex_state = 2}, + [77] = {.lex_state = 2}, + [78] = {.lex_state = 2}, [79] = {.lex_state = 2}, - [80] = {.lex_state = 3}, - [81] = {.lex_state = 3}, - [82] = {.lex_state = 3}, - [83] = {.lex_state = 3}, - [84] = {.lex_state = 3}, - [85] = {.lex_state = 3}, - [86] = {.lex_state = 3}, - [87] = {.lex_state = 3}, + [80] = {.lex_state = 2}, + [81] = {.lex_state = 52}, + [82] = {.lex_state = 2}, + [83] = {.lex_state = 2}, + [84] = {.lex_state = 2}, + [85] = {.lex_state = 2}, + [86] = {.lex_state = 2}, + [87] = {.lex_state = 52}, [88] = {.lex_state = 2}, - [89] = {.lex_state = 3}, - [90] = {.lex_state = 3}, - [91] = {.lex_state = 3}, - [92] = {.lex_state = 2}, - [93] = {.lex_state = 2}, - [94] = {.lex_state = 2}, - [95] = {.lex_state = 2}, - [96] = {.lex_state = 2}, - [97] = {.lex_state = 2}, - [98] = {.lex_state = 2}, - [99] = {.lex_state = 2}, - [100] = {.lex_state = 3}, - [101] = {.lex_state = 3}, - [102] = {.lex_state = 3}, - [103] = {.lex_state = 3}, - [104] = {.lex_state = 3}, - [105] = {.lex_state = 3}, - [106] = {.lex_state = 3}, - [107] = {.lex_state = 3}, - [108] = {.lex_state = 3}, - [109] = {.lex_state = 3}, - [110] = {.lex_state = 3}, - [111] = {.lex_state = 3}, - [112] = {.lex_state = 3}, - [113] = {.lex_state = 3}, - [114] = {.lex_state = 3}, - [115] = {.lex_state = 3}, - [116] = {.lex_state = 3}, - [117] = {.lex_state = 3}, - [118] = {.lex_state = 3}, - [119] = {.lex_state = 3}, - [120] = {.lex_state = 3}, - [121] = {.lex_state = 0}, - [122] = {.lex_state = 0}, - [123] = {.lex_state = 0}, - [124] = {.lex_state = 0}, - [125] = {.lex_state = 0}, - [126] = {.lex_state = 0}, - [127] = {.lex_state = 0}, - [128] = {.lex_state = 0}, - [129] = {.lex_state = 0}, - [130] = {.lex_state = 0}, - [131] = {.lex_state = 0}, - [132] = {.lex_state = 0}, - [133] = {.lex_state = 0}, - [134] = {.lex_state = 0}, - [135] = {.lex_state = 0}, - [136] = {.lex_state = 0}, - [137] = {.lex_state = 0}, - [138] = {.lex_state = 0}, - [139] = {.lex_state = 0}, - [140] = {.lex_state = 0}, - [141] = {.lex_state = 0}, - [142] = {.lex_state = 0}, - [143] = {.lex_state = 0}, - [144] = {.lex_state = 0}, - [145] = {.lex_state = 0}, - [146] = {.lex_state = 0}, - [147] = {.lex_state = 0}, - [148] = {.lex_state = 0}, - [149] = {.lex_state = 0}, - [150] = {.lex_state = 0}, - [151] = {.lex_state = 0}, - [152] = {.lex_state = 0}, - [153] = {.lex_state = 0}, - [154] = {.lex_state = 0}, - [155] = {.lex_state = 0}, - [156] = {.lex_state = 0}, - [157] = {.lex_state = 0}, - [158] = {.lex_state = 0}, - [159] = {.lex_state = 0}, - [160] = {.lex_state = 0}, - [161] = {.lex_state = 0}, - [162] = {.lex_state = 0}, - [163] = {.lex_state = 0}, - [164] = {.lex_state = 0}, - [165] = {.lex_state = 0}, - [166] = {.lex_state = 0}, - [167] = {.lex_state = 0}, - [168] = {.lex_state = 0}, - [169] = {.lex_state = 0}, - [170] = {.lex_state = 0}, - [171] = {.lex_state = 0}, - [172] = {.lex_state = 0}, - [173] = {.lex_state = 0}, - [174] = {.lex_state = 0}, - [175] = {.lex_state = 0}, - [176] = {.lex_state = 0}, - [177] = {.lex_state = 0}, - [178] = {.lex_state = 0}, - [179] = {.lex_state = 0}, - [180] = {.lex_state = 0}, - [181] = {.lex_state = 0}, - [182] = {.lex_state = 0}, - [183] = {.lex_state = 0}, - [184] = {.lex_state = 0}, - [185] = {.lex_state = 0}, - [186] = {.lex_state = 0}, - [187] = {.lex_state = 0}, - [188] = {.lex_state = 0}, - [189] = {.lex_state = 0}, - [190] = {.lex_state = 0}, - [191] = {.lex_state = 0}, - [192] = {.lex_state = 0}, - [193] = {.lex_state = 0}, - [194] = {.lex_state = 0}, - [195] = {.lex_state = 0}, - [196] = {.lex_state = 0}, - [197] = {.lex_state = 0}, - [198] = {.lex_state = 0}, - [199] = {.lex_state = 0}, - [200] = {.lex_state = 0}, - [201] = {.lex_state = 0}, - [202] = {.lex_state = 0}, - [203] = {.lex_state = 0}, - [204] = {.lex_state = 0}, - [205] = {.lex_state = 0}, - [206] = {.lex_state = 0}, - [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 = 2}, - [214] = {.lex_state = 0}, - [215] = {.lex_state = 0}, - [216] = {.lex_state = 2}, - [217] = {.lex_state = 2}, - [218] = {.lex_state = 1}, - [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 = 1}, - [228] = {.lex_state = 0}, - [229] = {.lex_state = 0}, - [230] = {.lex_state = 0}, - [231] = {.lex_state = 1}, - [232] = {.lex_state = 0}, - [233] = {.lex_state = 0}, - [234] = {.lex_state = 0}, - [235] = {.lex_state = 0}, - [236] = {.lex_state = 0}, - [237] = {.lex_state = 0}, - [238] = {.lex_state = 0}, - [239] = {.lex_state = 9}, - [240] = {.lex_state = 0}, - [241] = {.lex_state = 0}, - [242] = {.lex_state = 0}, - [243] = {.lex_state = 0}, - [244] = {.lex_state = 0}, - [245] = {.lex_state = 0}, - [246] = {.lex_state = 2}, - [247] = {.lex_state = 0}, - [248] = {.lex_state = 0}, - [249] = {.lex_state = 0}, - [250] = {.lex_state = 0}, - [251] = {.lex_state = 0}, - [252] = {.lex_state = 0}, - [253] = {.lex_state = 0}, - [254] = {.lex_state = 0}, - [255] = {.lex_state = 0}, - [256] = {.lex_state = 0}, - [257] = {.lex_state = 0}, - [258] = {.lex_state = 0}, - [259] = {.lex_state = 0}, - [260] = {.lex_state = 0}, - [261] = {.lex_state = 2}, - [262] = {.lex_state = 0}, - [263] = {.lex_state = 0}, - [264] = {.lex_state = 0}, - [265] = {.lex_state = 0}, - [266] = {.lex_state = 0}, - [267] = {.lex_state = 0}, - [268] = {.lex_state = 0}, - [269] = {.lex_state = 0}, - [270] = {.lex_state = 0}, - [271] = {.lex_state = 0}, - [272] = {.lex_state = 0}, - [273] = {.lex_state = 0}, - [274] = {.lex_state = 2}, - [275] = {.lex_state = 0}, - [276] = {.lex_state = 0}, - [277] = {.lex_state = 0}, - [278] = {.lex_state = 0}, - [279] = {.lex_state = 0}, - [280] = {.lex_state = 0}, - [281] = {.lex_state = 0}, - [282] = {.lex_state = 0}, - [283] = {.lex_state = 0}, - [284] = {.lex_state = 0}, - [285] = {.lex_state = 0}, - [286] = {.lex_state = 0}, - [287] = {.lex_state = 0}, - [288] = {.lex_state = 0}, - [289] = {.lex_state = 0}, - [290] = {.lex_state = 0}, - [291] = {.lex_state = 0}, - [292] = {.lex_state = 0}, - [293] = {.lex_state = 0}, - [294] = {.lex_state = 2}, - [295] = {.lex_state = 0}, - [296] = {.lex_state = 0}, - [297] = {.lex_state = 0}, - [298] = {.lex_state = 0}, - [299] = {.lex_state = 0}, - [300] = {.lex_state = 0}, - [301] = {.lex_state = 0}, - [302] = {.lex_state = 0}, - [303] = {.lex_state = 0}, - [304] = {.lex_state = 0}, - [305] = {.lex_state = 0}, - [306] = {.lex_state = 0}, - [307] = {.lex_state = 0}, - [308] = {.lex_state = 0}, - [309] = {.lex_state = 0}, - [310] = {.lex_state = 0}, - [311] = {.lex_state = 0}, - [312] = {.lex_state = 0}, - [313] = {.lex_state = 0}, - [314] = {.lex_state = 0}, - [315] = {.lex_state = 0}, - [316] = {.lex_state = 0}, - [317] = {.lex_state = 0}, - [318] = {.lex_state = 0}, - [319] = {.lex_state = 0}, - [320] = {.lex_state = 0}, - [321] = {.lex_state = 0}, - [322] = {.lex_state = 0}, - [323] = {.lex_state = 0}, - [324] = {.lex_state = 0}, - [325] = {.lex_state = 0}, - [326] = {.lex_state = 0}, - [327] = {.lex_state = 0}, - [328] = {.lex_state = 0}, - [329] = {.lex_state = 0}, - [330] = {.lex_state = 0}, - [331] = {.lex_state = 0}, - [332] = {.lex_state = 0}, + [89] = {.lex_state = 2}, + [90] = {.lex_state = 2}, + [91] = {.lex_state = 2}, + [92] = {.lex_state = 52}, + [93] = {.lex_state = 52}, + [94] = {.lex_state = 52}, + [95] = {.lex_state = 52}, + [96] = {.lex_state = 52}, + [97] = {.lex_state = 52}, + [98] = {.lex_state = 52}, + [99] = {.lex_state = 52}, + [100] = {.lex_state = 2}, + [101] = {.lex_state = 2}, + [102] = {.lex_state = 2}, + [103] = {.lex_state = 2}, + [104] = {.lex_state = 2}, + [105] = {.lex_state = 2}, + [106] = {.lex_state = 2}, + [107] = {.lex_state = 2}, + [108] = {.lex_state = 2}, + [109] = {.lex_state = 2}, + [110] = {.lex_state = 2}, + [111] = {.lex_state = 2}, + [112] = {.lex_state = 2}, + [113] = {.lex_state = 52}, + [114] = {.lex_state = 2}, + [115] = {.lex_state = 2}, + [116] = {.lex_state = 2}, + [117] = {.lex_state = 2}, + [118] = {.lex_state = 2}, + [119] = {.lex_state = 2}, + [120] = {.lex_state = 2}, + [121] = {.lex_state = 2}, + [122] = {.lex_state = 52}, + [123] = {.lex_state = 52}, + [124] = {.lex_state = 52}, + [125] = {.lex_state = 52}, + [126] = {.lex_state = 52}, + [127] = {.lex_state = 52}, + [128] = {.lex_state = 52}, + [129] = {.lex_state = 52}, + [130] = {.lex_state = 52}, + [131] = {.lex_state = 52}, + [132] = {.lex_state = 52}, + [133] = {.lex_state = 52}, + [134] = {.lex_state = 52}, + [135] = {.lex_state = 52}, + [136] = {.lex_state = 52}, + [137] = {.lex_state = 52}, + [138] = {.lex_state = 52}, + [139] = {.lex_state = 52}, + [140] = {.lex_state = 52}, + [141] = {.lex_state = 52}, + [142] = {.lex_state = 52}, + [143] = {.lex_state = 52}, + [144] = {.lex_state = 52}, + [145] = {.lex_state = 52}, + [146] = {.lex_state = 52}, + [147] = {.lex_state = 52}, + [148] = {.lex_state = 52}, + [149] = {.lex_state = 52}, + [150] = {.lex_state = 52}, + [151] = {.lex_state = 52}, + [152] = {.lex_state = 52}, + [153] = {.lex_state = 52}, + [154] = {.lex_state = 52}, + [155] = {.lex_state = 52}, + [156] = {.lex_state = 52}, + [157] = {.lex_state = 52}, + [158] = {.lex_state = 52}, + [159] = {.lex_state = 52}, + [160] = {.lex_state = 52}, + [161] = {.lex_state = 52}, + [162] = {.lex_state = 52}, + [163] = {.lex_state = 52}, + [164] = {.lex_state = 52}, + [165] = {.lex_state = 52}, + [166] = {.lex_state = 52}, + [167] = {.lex_state = 52}, + [168] = {.lex_state = 52}, + [169] = {.lex_state = 52}, + [170] = {.lex_state = 52}, + [171] = {.lex_state = 52}, + [172] = {.lex_state = 52}, + [173] = {.lex_state = 52}, + [174] = {.lex_state = 52}, + [175] = {.lex_state = 52}, + [176] = {.lex_state = 4}, + [177] = {.lex_state = 4}, + [178] = {.lex_state = 4}, + [179] = {.lex_state = 52}, + [180] = {.lex_state = 52}, + [181] = {.lex_state = 52}, + [182] = {.lex_state = 52}, + [183] = {.lex_state = 52}, + [184] = {.lex_state = 52}, + [185] = {.lex_state = 52}, + [186] = {.lex_state = 52}, + [187] = {.lex_state = 52}, + [188] = {.lex_state = 52}, + [189] = {.lex_state = 52}, + [190] = {.lex_state = 52}, + [191] = {.lex_state = 52}, + [192] = {.lex_state = 6}, + [193] = {.lex_state = 52}, + [194] = {.lex_state = 6}, + [195] = {.lex_state = 6}, + [196] = {.lex_state = 6}, + [197] = {.lex_state = 6}, + [198] = {.lex_state = 6}, + [199] = {.lex_state = 5}, + [200] = {.lex_state = 6}, + [201] = {.lex_state = 5}, + [202] = {.lex_state = 5}, + [203] = {.lex_state = 52}, + [204] = {.lex_state = 4}, + [205] = {.lex_state = 4}, + [206] = {.lex_state = 4}, + [207] = {.lex_state = 4}, + [208] = {.lex_state = 4}, + [209] = {.lex_state = 4}, + [210] = {.lex_state = 4}, + [211] = {.lex_state = 4}, + [212] = {.lex_state = 4}, + [213] = {.lex_state = 4}, + [214] = {.lex_state = 6}, + [215] = {.lex_state = 5}, + [216] = {.lex_state = 5}, + [217] = {.lex_state = 6}, + [218] = {.lex_state = 52}, + [219] = {.lex_state = 6}, + [220] = {.lex_state = 5}, + [221] = {.lex_state = 6}, + [222] = {.lex_state = 6}, + [223] = {.lex_state = 5}, + [224] = {.lex_state = 6}, + [225] = {.lex_state = 5}, + [226] = {.lex_state = 5}, + [227] = {.lex_state = 6}, + [228] = {.lex_state = 52}, + [229] = {.lex_state = 6}, + [230] = {.lex_state = 52}, + [231] = {.lex_state = 5}, + [232] = {.lex_state = 5}, + [233] = {.lex_state = 52}, + [234] = {.lex_state = 52}, + [235] = {.lex_state = 52}, + [236] = {.lex_state = 52}, + [237] = {.lex_state = 52}, + [238] = {.lex_state = 52}, + [239] = {.lex_state = 52}, + [240] = {.lex_state = 52}, + [241] = {.lex_state = 52}, + [242] = {.lex_state = 52}, + [243] = {.lex_state = 52}, + [244] = {.lex_state = 52}, + [245] = {.lex_state = 52}, + [246] = {.lex_state = 52}, + [247] = {.lex_state = 52}, + [248] = {.lex_state = 52}, + [249] = {.lex_state = 52}, + [250] = {.lex_state = 52}, + [251] = {.lex_state = 52}, + [252] = {.lex_state = 52}, + [253] = {.lex_state = 52}, + [254] = {.lex_state = 52}, + [255] = {.lex_state = 52}, + [256] = {.lex_state = 52}, + [257] = {.lex_state = 52}, + [258] = {.lex_state = 52}, + [259] = {.lex_state = 52}, + [260] = {.lex_state = 52}, + [261] = {.lex_state = 52}, + [262] = {.lex_state = 52}, + [263] = {.lex_state = 52}, + [264] = {.lex_state = 7}, + [265] = {.lex_state = 52}, + [266] = {.lex_state = 52}, + [267] = {.lex_state = 52}, + [268] = {.lex_state = 52}, + [269] = {.lex_state = 52}, + [270] = {.lex_state = 52}, + [271] = {.lex_state = 52}, + [272] = {.lex_state = 52}, + [273] = {.lex_state = 52}, + [274] = {.lex_state = 52}, + [275] = {.lex_state = 52}, + [276] = {.lex_state = 7}, + [277] = {.lex_state = 52}, + [278] = {.lex_state = 52}, + [279] = {.lex_state = 52}, + [280] = {.lex_state = 52}, + [281] = {.lex_state = 52}, + [282] = {.lex_state = 52}, + [283] = {.lex_state = 52}, + [284] = {.lex_state = 1}, + [285] = {.lex_state = 52}, + [286] = {.lex_state = 1}, + [287] = {.lex_state = 52}, + [288] = {.lex_state = 52}, + [289] = {.lex_state = 52}, + [290] = {.lex_state = 1}, + [291] = {.lex_state = 52}, + [292] = {.lex_state = 7}, + [293] = {.lex_state = 52}, + [294] = {.lex_state = 52}, + [295] = {.lex_state = 52}, + [296] = {.lex_state = 7}, + [297] = {.lex_state = 52}, + [298] = {.lex_state = 52}, + [299] = {.lex_state = 52}, + [300] = {.lex_state = 52}, + [301] = {.lex_state = 52}, + [302] = {.lex_state = 52}, + [303] = {.lex_state = 52}, + [304] = {.lex_state = 52}, + [305] = {.lex_state = 52}, + [306] = {.lex_state = 52}, + [307] = {.lex_state = 52}, + [308] = {.lex_state = 52}, + [309] = {.lex_state = 52}, + [310] = {.lex_state = 52}, + [311] = {.lex_state = 52}, + [312] = {.lex_state = 52}, + [313] = {.lex_state = 52}, + [314] = {.lex_state = 52}, + [315] = {.lex_state = 52}, + [316] = {.lex_state = 52}, + [317] = {.lex_state = 52}, + [318] = {.lex_state = 2}, + [319] = {.lex_state = 52}, + [320] = {.lex_state = 52}, + [321] = {.lex_state = 52}, + [322] = {.lex_state = 52}, + [323] = {.lex_state = 52}, + [324] = {.lex_state = 52}, + [325] = {.lex_state = 52}, + [326] = {.lex_state = 52}, + [327] = {.lex_state = 52}, + [328] = {.lex_state = 52}, + [329] = {.lex_state = 52}, + [330] = {.lex_state = 52}, + [331] = {.lex_state = 12}, + [332] = {.lex_state = 52}, [333] = {.lex_state = 2}, - [334] = {.lex_state = 0}, - [335] = {.lex_state = 0}, - [336] = {.lex_state = 0}, - [337] = {.lex_state = 0}, - [338] = {.lex_state = 0}, - [339] = {.lex_state = 0}, - [340] = {.lex_state = 0}, - [341] = {.lex_state = 0}, - [342] = {.lex_state = 0}, - [343] = {.lex_state = 0}, - [344] = {.lex_state = 0}, - [345] = {.lex_state = 2}, - [346] = {.lex_state = 0}, - [347] = {.lex_state = 0}, - [348] = {.lex_state = 0}, - [349] = {.lex_state = 0}, - [350] = {.lex_state = 0}, - [351] = {.lex_state = 0}, - [352] = {.lex_state = 0}, - [353] = {.lex_state = 0}, - [354] = {.lex_state = 0}, - [355] = {.lex_state = 0}, - [356] = {.lex_state = 0}, - [357] = {.lex_state = 0}, - [358] = {.lex_state = 0}, - [359] = {.lex_state = 0}, - [360] = {.lex_state = 0}, - [361] = {.lex_state = 0}, - [362] = {.lex_state = 0}, - [363] = {.lex_state = 0}, - [364] = {.lex_state = 0}, - [365] = {.lex_state = 0}, - [366] = {.lex_state = 0}, - [367] = {.lex_state = 0}, - [368] = {.lex_state = 0}, - [369] = {.lex_state = 0}, - [370] = {.lex_state = 0}, - [371] = {.lex_state = 2}, - [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 = 0}, - [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}, - [399] = {.lex_state = 0}, - [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}, + [334] = {.lex_state = 52}, + [335] = {.lex_state = 52}, + [336] = {.lex_state = 52}, + [337] = {.lex_state = 52}, + [338] = {.lex_state = 52}, + [339] = {.lex_state = 52}, + [340] = {.lex_state = 52}, + [341] = {.lex_state = 52}, + [342] = {.lex_state = 52}, + [343] = {.lex_state = 52}, + [344] = {.lex_state = 52}, + [345] = {.lex_state = 52}, + [346] = {.lex_state = 52}, + [347] = {.lex_state = 52}, + [348] = {.lex_state = 52}, + [349] = {.lex_state = 52}, + [350] = {.lex_state = 52}, + [351] = {.lex_state = 52}, + [352] = {.lex_state = 52}, + [353] = {.lex_state = 52}, + [354] = {.lex_state = 52}, + [355] = {.lex_state = 52}, + [356] = {.lex_state = 52}, + [357] = {.lex_state = 52}, + [358] = {.lex_state = 2}, + [359] = {.lex_state = 52}, + [360] = {.lex_state = 52}, + [361] = {.lex_state = 52}, + [362] = {.lex_state = 52}, + [363] = {.lex_state = 52}, + [364] = {.lex_state = 52}, + [365] = {.lex_state = 52}, + [366] = {.lex_state = 52}, + [367] = {.lex_state = 52}, + [368] = {.lex_state = 52}, + [369] = {.lex_state = 52}, + [370] = {.lex_state = 52}, + [371] = {.lex_state = 52}, + [372] = {.lex_state = 52}, + [373] = {.lex_state = 52}, + [374] = {.lex_state = 52}, + [375] = {.lex_state = 52}, + [376] = {.lex_state = 52}, + [377] = {.lex_state = 52}, + [378] = {.lex_state = 52}, + [379] = {.lex_state = 52}, + [380] = {.lex_state = 52}, + [381] = {.lex_state = 52}, + [382] = {.lex_state = 52}, + [383] = {.lex_state = 52}, + [384] = {.lex_state = 52}, + [385] = {.lex_state = 52}, + [386] = {.lex_state = 52}, + [387] = {.lex_state = 52}, + [388] = {.lex_state = 52}, + [389] = {.lex_state = 52}, + [390] = {.lex_state = 52}, + [391] = {.lex_state = 52}, + [392] = {.lex_state = 52}, + [393] = {.lex_state = 52}, + [394] = {.lex_state = 52}, + [395] = {.lex_state = 52}, + [396] = {.lex_state = 52}, + [397] = {.lex_state = 52}, + [398] = {.lex_state = 52}, + [399] = {.lex_state = 52}, + [400] = {.lex_state = 52}, + [401] = {.lex_state = 52}, + [402] = {.lex_state = 52}, + [403] = {.lex_state = 52}, + [404] = {.lex_state = 52}, + [405] = {.lex_state = 52}, + [406] = {.lex_state = 52}, + [407] = {.lex_state = 52}, + [408] = {.lex_state = 52}, + [409] = {.lex_state = 52}, + [410] = {.lex_state = 52}, + [411] = {.lex_state = 52}, + [412] = {.lex_state = 52}, + [413] = {.lex_state = 52}, + [414] = {.lex_state = 52}, + [415] = {.lex_state = 52}, + [416] = {.lex_state = 52}, + [417] = {.lex_state = 52}, + [418] = {.lex_state = 52}, + [419] = {.lex_state = 52}, + [420] = {.lex_state = 52}, + [421] = {.lex_state = 52}, + [422] = {.lex_state = 52}, + [423] = {.lex_state = 52}, + [424] = {.lex_state = 52}, + [425] = {.lex_state = 52}, + [426] = {.lex_state = 52}, + [427] = {.lex_state = 52}, + [428] = {.lex_state = 52}, + [429] = {.lex_state = 52}, + [430] = {.lex_state = 111}, + [431] = {.lex_state = 111}, + [432] = {.lex_state = 13}, + [433] = {.lex_state = 111}, + [434] = {.lex_state = 111}, + [435] = {.lex_state = 13}, + [436] = {.lex_state = 52}, + [437] = {.lex_state = 52}, + [438] = {.lex_state = 52}, + [439] = {.lex_state = 52}, + [440] = {.lex_state = 52}, + [441] = {.lex_state = 52}, + [442] = {.lex_state = 52}, + [443] = {.lex_state = 52}, + [444] = {.lex_state = 52}, + [445] = {.lex_state = 111}, + [446] = {.lex_state = 2}, + [447] = {.lex_state = 14}, + [448] = {.lex_state = 52}, + [449] = {.lex_state = 52}, + [450] = {.lex_state = 52}, + [451] = {.lex_state = 52}, + [452] = {.lex_state = 52}, + [453] = {.lex_state = 52}, + [454] = {.lex_state = 52}, + [455] = {.lex_state = 52}, + [456] = {.lex_state = 52}, + [457] = {.lex_state = 52}, + [458] = {.lex_state = 52}, + [459] = {.lex_state = 111}, + [460] = {.lex_state = 52}, + [461] = {.lex_state = 13}, + [462] = {.lex_state = 52}, + [463] = {.lex_state = 52}, + [464] = {.lex_state = 52}, + [465] = {.lex_state = 52}, + [466] = {.lex_state = 52}, + [467] = {.lex_state = 52}, + [468] = {.lex_state = 52}, + [469] = {.lex_state = 52}, + [470] = {.lex_state = 52}, + [471] = {.lex_state = 52}, + [472] = {.lex_state = 52}, + [473] = {.lex_state = 52}, + [474] = {.lex_state = 52}, + [475] = {.lex_state = 52}, + [476] = {.lex_state = 52}, + [477] = {.lex_state = 52}, + [478] = {.lex_state = 52}, + [479] = {.lex_state = 52}, + [480] = {.lex_state = 52}, + [481] = {.lex_state = 52}, + [482] = {.lex_state = 52}, + [483] = {.lex_state = 52}, + [484] = {.lex_state = 52}, + [485] = {.lex_state = 52}, + [486] = {.lex_state = 52}, + [487] = {.lex_state = 52}, + [488] = {.lex_state = 52}, + [489] = {.lex_state = 52}, + [490] = {.lex_state = 52}, + [491] = {.lex_state = 52}, + [492] = {.lex_state = 52}, + [493] = {.lex_state = 52}, + [494] = {.lex_state = 52}, + [495] = {.lex_state = 52}, + [496] = {.lex_state = 52}, + [497] = {.lex_state = 52}, + [498] = {.lex_state = 52}, + [499] = {.lex_state = 52}, + [500] = {.lex_state = 52}, + [501] = {.lex_state = 52}, + [502] = {.lex_state = 52}, + [503] = {.lex_state = 52}, + [504] = {.lex_state = 52}, + [505] = {.lex_state = 52}, + [506] = {.lex_state = 52}, + [507] = {.lex_state = 52}, + [508] = {.lex_state = 52}, + [509] = {.lex_state = 52}, + [510] = {.lex_state = 52}, + [511] = {.lex_state = 52}, + [512] = {.lex_state = 52}, + [513] = {.lex_state = 52}, + [514] = {.lex_state = 52}, + [515] = {.lex_state = 52}, + [516] = {.lex_state = 52}, + [517] = {.lex_state = 52}, + [518] = {.lex_state = 52}, + [519] = {.lex_state = 52}, + [520] = {.lex_state = 52}, + [521] = {.lex_state = 52}, + [522] = {.lex_state = 2}, + [523] = {.lex_state = 14}, + [524] = {.lex_state = 52}, + [525] = {.lex_state = 52}, + [526] = {.lex_state = 52}, + [527] = {.lex_state = 52}, + [528] = {.lex_state = 52}, + [529] = {.lex_state = 52}, + [530] = {.lex_state = 52}, + [531] = {.lex_state = 52}, + [532] = {.lex_state = 0}, + [533] = {.lex_state = 52}, + [534] = {.lex_state = 52}, + [535] = {.lex_state = 14}, + [536] = {.lex_state = 2}, + [537] = {.lex_state = 52}, + [538] = {.lex_state = 52}, + [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}, + [554] = {.lex_state = 0}, + [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 = 0}, + [566] = {.lex_state = 0}, + [567] = {.lex_state = 0}, + [568] = {.lex_state = 0}, + [569] = {.lex_state = 0}, + [570] = {.lex_state = 0}, + [571] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -3830,7 +4917,20 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), [anon_sym_native] = ACTIONS(1), + [anon_sym_asm] = ACTIONS(1), [anon_sym_fun] = ACTIONS(1), + [anon_sym_DASH_GT] = ACTIONS(1), + [anon_sym_LBRACE] = ACTIONS(1), + [aux_sym_asm_list_token1] = ACTIONS(3), + [anon_sym_char] = ACTIONS(1), + [anon_sym_abort_DQUOTE] = ACTIONS(1), + [anon_sym_DOT_DQUOTE] = ACTIONS(1), + [anon_sym_DQUOTE] = ACTIONS(1), + [anon_sym_DQUOTE2] = ACTIONS(1), + [anon_sym_x_LBRACE] = ACTIONS(1), + [anon_sym_B_LBRACE] = ACTIONS(1), + [aux_sym__asm_hex_literal_token1] = ACTIONS(1), + [anon_sym__] = ACTIONS(1), [anon_sym_get] = ACTIONS(1), [anon_sym_mutates] = ACTIONS(1), [anon_sym_extends] = ACTIONS(1), @@ -3838,8 +4938,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_COMMA] = ACTIONS(1), [anon_sym_struct] = ACTIONS(1), [anon_sym_message] = ACTIONS(1), - [anon_sym_LBRACE] = ACTIONS(1), - [anon_sym_RBRACE] = ACTIONS(1), [anon_sym_contract] = ACTIONS(1), [anon_sym_trait] = ACTIONS(1), [anon_sym_ATinterface] = ACTIONS(1), @@ -3853,7 +4951,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_PLUS_EQ] = ACTIONS(1), [anon_sym_DASH_EQ] = ACTIONS(1), [anon_sym_STAR_EQ] = ACTIONS(1), - [anon_sym_SLASH_EQ] = ACTIONS(1), [anon_sym_PERCENT_EQ] = ACTIONS(1), [anon_sym_AMP_EQ] = ACTIONS(1), [anon_sym_PIPE_EQ] = ACTIONS(1), @@ -3885,7 +4982,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_PLUS] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), - [anon_sym_SLASH] = ACTIONS(1), [anon_sym_PERCENT] = ACTIONS(1), [anon_sym_BANG] = ACTIONS(1), [anon_sym_TILDE] = ACTIONS(1), @@ -3896,35 +4992,34 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_as] = ACTIONS(1), [sym__func_quoted_id] = ACTIONS(1), [sym_self] = ACTIONS(1), - [anon_sym_DQUOTE] = ACTIONS(1), - [anon_sym_DQUOTE2] = ACTIONS(1), [sym_escape_sequence] = ACTIONS(1), [anon_sym_true] = ACTIONS(1), [anon_sym_false] = ACTIONS(1), [sym_null] = ACTIONS(1), - [sym_integer] = ACTIONS(1), + [sym__decimal_integer] = ACTIONS(1), [sym_comment] = ACTIONS(3), }, [1] = { - [sym_source_file] = STATE(353), - [sym_import] = STATE(12), + [sym_source_file] = STATE(532), + [sym_import] = STATE(10), [sym__module_item] = STATE(13), [sym_primitive] = STATE(13), - [sym__constant] = STATE(133), - [sym_constant_attributes] = STATE(374), + [sym__constant] = STATE(169), + [sym_constant_attributes] = STATE(533), [sym_native_function] = STATE(13), - [sym__function] = STATE(160), - [sym_function_attributes] = STATE(357), + [sym_asm_function] = STATE(13), + [sym__function] = STATE(173), + [sym_function_attributes] = STATE(538), [sym_struct] = STATE(13), [sym_message] = STATE(13), [sym_contract] = STATE(13), [sym_trait] = STATE(13), - [sym_contract_attributes] = STATE(311), - [aux_sym_source_file_repeat1] = STATE(12), + [sym_contract_attributes] = STATE(352), + [aux_sym_source_file_repeat1] = STATE(10), [aux_sym_source_file_repeat2] = STATE(13), - [aux_sym_constant_attributes_repeat1] = STATE(215), - [aux_sym_function_attributes_repeat1] = STATE(189), - [aux_sym_contract_attributes_repeat1] = STATE(230), + [aux_sym_constant_attributes_repeat1] = STATE(270), + [aux_sym_function_attributes_repeat1] = STATE(233), + [aux_sym_contract_attributes_repeat1] = STATE(280), [ts_builtin_sym_end] = ACTIONS(5), [anon_sym_import] = ACTIONS(7), [anon_sym_primitive] = ACTIONS(9), @@ -3933,78 +5028,81 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_override] = ACTIONS(13), [anon_sym_abstract] = ACTIONS(13), [anon_sym_ATname] = ACTIONS(15), - [anon_sym_fun] = ACTIONS(17), - [anon_sym_get] = ACTIONS(19), - [anon_sym_mutates] = ACTIONS(19), - [anon_sym_extends] = ACTIONS(19), - [anon_sym_inline] = ACTIONS(19), - [anon_sym_struct] = ACTIONS(21), - [anon_sym_message] = ACTIONS(23), - [anon_sym_contract] = ACTIONS(25), - [anon_sym_trait] = ACTIONS(27), - [anon_sym_ATinterface] = ACTIONS(29), + [anon_sym_asm] = ACTIONS(17), + [anon_sym_fun] = ACTIONS(19), + [aux_sym_asm_list_token1] = ACTIONS(3), + [anon_sym_get] = ACTIONS(21), + [anon_sym_mutates] = ACTIONS(21), + [anon_sym_extends] = ACTIONS(21), + [anon_sym_inline] = ACTIONS(21), + [anon_sym_struct] = ACTIONS(23), + [anon_sym_message] = ACTIONS(25), + [anon_sym_contract] = ACTIONS(27), + [anon_sym_trait] = ACTIONS(29), + [anon_sym_ATinterface] = ACTIONS(31), [sym_comment] = ACTIONS(3), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 27, - ACTIONS(3), 1, - sym_comment, - ACTIONS(31), 1, - sym_identifier, ACTIONS(33), 1, + sym_identifier, + ACTIONS(36), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(39), 1, anon_sym_LBRACE, - ACTIONS(37), 1, + ACTIONS(42), 1, anon_sym_RBRACE, - ACTIONS(39), 1, + ACTIONS(44), 1, + anon_sym_DQUOTE, + ACTIONS(47), 1, anon_sym_let, - ACTIONS(41), 1, + ACTIONS(50), 1, anon_sym_return, - ACTIONS(43), 1, + ACTIONS(53), 1, anon_sym_if, - ACTIONS(45), 1, + ACTIONS(56), 1, anon_sym_while, - ACTIONS(47), 1, + ACTIONS(59), 1, anon_sym_repeat, - ACTIONS(49), 1, + ACTIONS(62), 1, anon_sym_do, - ACTIONS(51), 1, + ACTIONS(65), 1, anon_sym_try, - ACTIONS(53), 1, + ACTIONS(68), 1, anon_sym_foreach, - ACTIONS(57), 1, + ACTIONS(74), 1, anon_sym_initOf, - ACTIONS(59), 1, + ACTIONS(77), 1, sym_self, - ACTIONS(61), 1, - anon_sym_DQUOTE, - ACTIONS(65), 1, + ACTIONS(83), 1, sym_null, - ACTIONS(67), 1, + ACTIONS(86), 1, sym_integer, STATE(16), 1, sym_field_access_expression, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - STATE(191), 1, + STATE(234), 1, sym__path_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(80), 2, anon_sym_true, anon_sym_false, - ACTIONS(55), 4, + ACTIONS(71), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(100), 4, + STATE(105), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(297), 7, + STATE(439), 7, sym__statement_without_semicolon, sym_let_statement, sym_return_statement, @@ -4012,7 +5110,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assignment_statement, sym_augmented_assignment_statement, sym_do_until_statement, - STATE(56), 8, + STATE(74), 8, sym_non_null_assert_expression, sym_method_call_expression, sym_static_call_expression, @@ -4021,7 +5119,7 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - STATE(6), 9, + STATE(2), 9, sym__statement, sym__statement_with_brace, sym_block_statement, @@ -4031,63 +5129,64 @@ static const uint16_t ts_small_parse_table[] = { sym_try_statement, sym_foreach_statement, aux_sym_block_statement_repeat1, - [110] = 27, - ACTIONS(3), 1, - sym_comment, - ACTIONS(31), 1, + [111] = 27, + ACTIONS(89), 1, sym_identifier, - ACTIONS(33), 1, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(93), 1, anon_sym_LBRACE, - ACTIONS(39), 1, + ACTIONS(95), 1, + anon_sym_RBRACE, + ACTIONS(97), 1, + anon_sym_DQUOTE, + ACTIONS(99), 1, anon_sym_let, - ACTIONS(41), 1, + ACTIONS(101), 1, anon_sym_return, - ACTIONS(43), 1, + ACTIONS(103), 1, anon_sym_if, - ACTIONS(45), 1, + ACTIONS(105), 1, anon_sym_while, - ACTIONS(47), 1, + ACTIONS(107), 1, anon_sym_repeat, - ACTIONS(49), 1, + ACTIONS(109), 1, anon_sym_do, - ACTIONS(51), 1, + ACTIONS(111), 1, anon_sym_try, - ACTIONS(53), 1, + ACTIONS(113), 1, anon_sym_foreach, - ACTIONS(57), 1, + ACTIONS(117), 1, anon_sym_initOf, - ACTIONS(59), 1, + ACTIONS(119), 1, sym_self, - ACTIONS(61), 1, - anon_sym_DQUOTE, - ACTIONS(65), 1, + ACTIONS(123), 1, sym_null, - ACTIONS(67), 1, + ACTIONS(125), 1, sym_integer, - ACTIONS(69), 1, - anon_sym_RBRACE, STATE(16), 1, sym_field_access_expression, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - STATE(191), 1, + STATE(234), 1, sym__path_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(100), 4, + STATE(105), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(276), 7, + STATE(367), 7, sym__statement_without_semicolon, sym_let_statement, sym_return_statement, @@ -4095,7 +5194,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assignment_statement, sym_augmented_assignment_statement, sym_do_until_statement, - STATE(56), 8, + STATE(74), 8, sym_non_null_assert_expression, sym_method_call_expression, sym_static_call_expression, @@ -4114,63 +5213,64 @@ static const uint16_t ts_small_parse_table[] = { sym_try_statement, sym_foreach_statement, aux_sym_block_statement_repeat1, - [220] = 27, - ACTIONS(3), 1, - sym_comment, - ACTIONS(31), 1, + [222] = 27, + ACTIONS(89), 1, sym_identifier, - ACTIONS(33), 1, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(93), 1, anon_sym_LBRACE, - ACTIONS(39), 1, + ACTIONS(97), 1, + anon_sym_DQUOTE, + ACTIONS(99), 1, anon_sym_let, - ACTIONS(41), 1, + ACTIONS(101), 1, anon_sym_return, - ACTIONS(43), 1, + ACTIONS(103), 1, anon_sym_if, - ACTIONS(45), 1, + ACTIONS(105), 1, anon_sym_while, - ACTIONS(47), 1, + ACTIONS(107), 1, anon_sym_repeat, - ACTIONS(49), 1, + ACTIONS(109), 1, anon_sym_do, - ACTIONS(51), 1, + ACTIONS(111), 1, anon_sym_try, - ACTIONS(53), 1, + ACTIONS(113), 1, anon_sym_foreach, - ACTIONS(57), 1, + ACTIONS(117), 1, anon_sym_initOf, - ACTIONS(59), 1, + ACTIONS(119), 1, sym_self, - ACTIONS(61), 1, - anon_sym_DQUOTE, - ACTIONS(65), 1, + ACTIONS(123), 1, sym_null, - ACTIONS(67), 1, + ACTIONS(125), 1, sym_integer, - ACTIONS(71), 1, + ACTIONS(127), 1, anon_sym_RBRACE, STATE(16), 1, sym_field_access_expression, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - STATE(191), 1, + STATE(234), 1, sym__path_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(100), 4, + STATE(105), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(309), 7, + STATE(346), 7, sym__statement_without_semicolon, sym_let_statement, sym_return_statement, @@ -4178,7 +5278,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assignment_statement, sym_augmented_assignment_statement, sym_do_until_statement, - STATE(56), 8, + STATE(74), 8, sym_non_null_assert_expression, sym_method_call_expression, sym_static_call_expression, @@ -4187,7 +5287,7 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - STATE(5), 9, + STATE(2), 9, sym__statement, sym__statement_with_brace, sym_block_statement, @@ -4197,63 +5297,64 @@ static const uint16_t ts_small_parse_table[] = { sym_try_statement, sym_foreach_statement, aux_sym_block_statement_repeat1, - [330] = 27, - ACTIONS(3), 1, - sym_comment, - ACTIONS(31), 1, + [333] = 27, + ACTIONS(89), 1, sym_identifier, - ACTIONS(33), 1, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(35), 1, + ACTIONS(93), 1, anon_sym_LBRACE, - ACTIONS(39), 1, + ACTIONS(97), 1, + anon_sym_DQUOTE, + ACTIONS(99), 1, anon_sym_let, - ACTIONS(41), 1, + ACTIONS(101), 1, anon_sym_return, - ACTIONS(43), 1, + ACTIONS(103), 1, anon_sym_if, - ACTIONS(45), 1, + ACTIONS(105), 1, anon_sym_while, - ACTIONS(47), 1, + ACTIONS(107), 1, anon_sym_repeat, - ACTIONS(49), 1, + ACTIONS(109), 1, anon_sym_do, - ACTIONS(51), 1, + ACTIONS(111), 1, anon_sym_try, - ACTIONS(53), 1, + ACTIONS(113), 1, anon_sym_foreach, - ACTIONS(57), 1, + ACTIONS(117), 1, anon_sym_initOf, - ACTIONS(59), 1, + ACTIONS(119), 1, sym_self, - ACTIONS(61), 1, - anon_sym_DQUOTE, - ACTIONS(65), 1, + ACTIONS(123), 1, sym_null, - ACTIONS(67), 1, + ACTIONS(125), 1, sym_integer, - ACTIONS(73), 1, + ACTIONS(129), 1, anon_sym_RBRACE, STATE(16), 1, sym_field_access_expression, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - STATE(191), 1, + STATE(234), 1, sym__path_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(100), 4, + STATE(105), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(321), 7, + STATE(343), 7, sym__statement_without_semicolon, sym_let_statement, sym_return_statement, @@ -4261,7 +5362,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assignment_statement, sym_augmented_assignment_statement, sym_do_until_statement, - STATE(56), 8, + STATE(74), 8, sym_non_null_assert_expression, sym_method_call_expression, sym_static_call_expression, @@ -4270,7 +5371,7 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - STATE(6), 9, + STATE(4), 9, sym__statement, sym__statement_with_brace, sym_block_statement, @@ -4280,63 +5381,64 @@ static const uint16_t ts_small_parse_table[] = { sym_try_statement, sym_foreach_statement, aux_sym_block_statement_repeat1, - [440] = 27, - ACTIONS(3), 1, - sym_comment, - ACTIONS(75), 1, + [444] = 27, + ACTIONS(89), 1, sym_identifier, - ACTIONS(78), 1, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(81), 1, + ACTIONS(93), 1, anon_sym_LBRACE, - ACTIONS(84), 1, - anon_sym_RBRACE, - ACTIONS(86), 1, + ACTIONS(97), 1, + anon_sym_DQUOTE, + ACTIONS(99), 1, anon_sym_let, - ACTIONS(89), 1, + ACTIONS(101), 1, anon_sym_return, - ACTIONS(92), 1, + ACTIONS(103), 1, anon_sym_if, - ACTIONS(95), 1, + ACTIONS(105), 1, anon_sym_while, - ACTIONS(98), 1, + ACTIONS(107), 1, anon_sym_repeat, - ACTIONS(101), 1, + ACTIONS(109), 1, anon_sym_do, - ACTIONS(104), 1, + ACTIONS(111), 1, anon_sym_try, - ACTIONS(107), 1, - anon_sym_foreach, ACTIONS(113), 1, + anon_sym_foreach, + ACTIONS(117), 1, anon_sym_initOf, - ACTIONS(116), 1, - sym_self, ACTIONS(119), 1, - anon_sym_DQUOTE, - ACTIONS(125), 1, + sym_self, + ACTIONS(123), 1, sym_null, - ACTIONS(128), 1, + ACTIONS(125), 1, sym_integer, + ACTIONS(131), 1, + anon_sym_RBRACE, STATE(16), 1, sym_field_access_expression, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - STATE(191), 1, + STATE(234), 1, sym__path_expression, - ACTIONS(122), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(110), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(100), 4, + STATE(105), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(375), 7, + STATE(404), 7, sym__statement_without_semicolon, sym_let_statement, sym_return_statement, @@ -4344,7 +5446,7 @@ static const uint16_t ts_small_parse_table[] = { sym_assignment_statement, sym_augmented_assignment_statement, sym_do_until_statement, - STATE(56), 8, + STATE(74), 8, sym_non_null_assert_expression, sym_method_call_expression, sym_static_call_expression, @@ -4353,7 +5455,7 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - STATE(6), 9, + STATE(3), 9, sym__statement, sym__statement_with_brace, sym_block_statement, @@ -4363,20 +5465,21 @@ static const uint16_t ts_small_parse_table[] = { sym_try_statement, sym_foreach_statement, aux_sym_block_statement_repeat1, - [550] = 3, - ACTIONS(3), 1, + [555] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(133), 9, + ACTIONS(135), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - anon_sym_DQUOTE, sym_integer, - ACTIONS(131), 29, + ACTIONS(133), 29, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -4406,20 +5509,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, sym_null, - [596] = 3, - ACTIONS(3), 1, + [602] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(137), 9, + ACTIONS(139), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - anon_sym_DQUOTE, sym_integer, - ACTIONS(135), 29, + ACTIONS(137), 29, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -4449,20 +5553,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, sym_null, - [642] = 3, - ACTIONS(3), 1, + [649] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(141), 9, + ACTIONS(143), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - anon_sym_DQUOTE, sym_integer, - ACTIONS(139), 29, + ACTIONS(141), 29, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -4492,14 +5597,81 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, sym_null, - [688] = 5, - ACTIONS(3), 1, + [696] = 25, + ACTIONS(7), 1, + anon_sym_import, + ACTIONS(9), 1, + anon_sym_primitive, + ACTIONS(11), 1, + anon_sym_const, + ACTIONS(15), 1, + anon_sym_ATname, + ACTIONS(17), 1, + anon_sym_asm, + ACTIONS(19), 1, + anon_sym_fun, + ACTIONS(23), 1, + anon_sym_struct, + ACTIONS(25), 1, + anon_sym_message, + ACTIONS(27), 1, + anon_sym_contract, + ACTIONS(29), 1, + anon_sym_trait, + ACTIONS(31), 1, + anon_sym_ATinterface, + ACTIONS(145), 1, + ts_builtin_sym_end, + STATE(169), 1, + sym__constant, + STATE(173), 1, + sym__function, + STATE(233), 1, + aux_sym_function_attributes_repeat1, + STATE(270), 1, + aux_sym_constant_attributes_repeat1, + STATE(280), 1, + aux_sym_contract_attributes_repeat1, + STATE(352), 1, + sym_contract_attributes, + STATE(533), 1, + sym_constant_attributes, + STATE(538), 1, + sym_function_attributes, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(147), 1, + STATE(113), 2, + sym_import, + aux_sym_source_file_repeat1, + ACTIONS(13), 3, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + ACTIONS(21), 4, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + STATE(14), 9, + sym__module_item, + sym_primitive, + sym_native_function, + sym_asm_function, + sym_struct, + sym_message, + sym_contract, + sym_trait, + aux_sym_source_file_repeat2, + [787] = 5, + ACTIONS(151), 1, anon_sym_LPAREN, - STATE(71), 1, + STATE(63), 1, sym_argument_list, - ACTIONS(145), 11, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(149), 11, anon_sym_EQ, anon_sym_PIPE, anon_sym_CARET, @@ -4511,12 +5683,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(143), 24, + ACTIONS(147), 24, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -4536,20 +5708,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, anon_sym_BANG_BANG, anon_sym_DOT, - [737] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(147), 1, - anon_sym_LPAREN, + [837] = 9, ACTIONS(151), 1, + anon_sym_LPAREN, + ACTIONS(155), 1, anon_sym_EQ, - ACTIONS(153), 1, + ACTIONS(157), 1, anon_sym_LBRACE, - STATE(59), 1, + STATE(75), 1, sym_argument_list, - STATE(61), 1, + STATE(76), 1, sym_instance_argument_list, - ACTIONS(155), 8, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(159), 8, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -4558,7 +5731,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_PIPE_EQ, anon_sym_CARET_EQ, - ACTIONS(157), 10, + ACTIONS(161), 10, anon_sym_PIPE, anon_sym_CARET, anon_sym_AMP, @@ -4569,7 +5742,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(149), 13, + ACTIONS(153), 13, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_QMARK, @@ -4583,11 +5756,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, anon_sym_BANG_BANG, anon_sym_DOT, - [793] = 24, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_import, + [894] = 23, ACTIONS(9), 1, anon_sym_primitive, ACTIONS(11), 1, @@ -4595,116 +5764,60 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 1, anon_sym_ATname, ACTIONS(17), 1, + anon_sym_asm, + ACTIONS(19), 1, anon_sym_fun, - ACTIONS(21), 1, - anon_sym_struct, ACTIONS(23), 1, - anon_sym_message, - ACTIONS(25), 1, - anon_sym_contract, - ACTIONS(27), 1, - anon_sym_trait, - ACTIONS(29), 1, - anon_sym_ATinterface, - ACTIONS(159), 1, - ts_builtin_sym_end, - STATE(133), 1, - sym__constant, - STATE(160), 1, - sym__function, - STATE(189), 1, - aux_sym_function_attributes_repeat1, - STATE(215), 1, - aux_sym_constant_attributes_repeat1, - STATE(230), 1, - aux_sym_contract_attributes_repeat1, - STATE(311), 1, - sym_contract_attributes, - STATE(357), 1, - sym_function_attributes, - STATE(374), 1, - sym_constant_attributes, - STATE(121), 2, - sym_import, - aux_sym_source_file_repeat1, - ACTIONS(13), 3, - anon_sym_virtual, - anon_sym_override, - anon_sym_abstract, - ACTIONS(19), 4, - anon_sym_get, - anon_sym_mutates, - anon_sym_extends, - anon_sym_inline, - STATE(14), 8, - sym__module_item, - sym_primitive, - sym_native_function, - sym_struct, - sym_message, - sym_contract, - sym_trait, - aux_sym_source_file_repeat2, - [879] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(9), 1, - anon_sym_primitive, - ACTIONS(11), 1, - anon_sym_const, - ACTIONS(15), 1, - anon_sym_ATname, - ACTIONS(17), 1, - anon_sym_fun, - ACTIONS(21), 1, anon_sym_struct, - ACTIONS(23), 1, - anon_sym_message, ACTIONS(25), 1, - anon_sym_contract, + anon_sym_message, ACTIONS(27), 1, - anon_sym_trait, + anon_sym_contract, ACTIONS(29), 1, + anon_sym_trait, + ACTIONS(31), 1, anon_sym_ATinterface, - ACTIONS(159), 1, + ACTIONS(145), 1, ts_builtin_sym_end, - STATE(133), 1, + STATE(169), 1, sym__constant, - STATE(160), 1, + STATE(173), 1, sym__function, - STATE(189), 1, + STATE(233), 1, aux_sym_function_attributes_repeat1, - STATE(215), 1, + STATE(270), 1, aux_sym_constant_attributes_repeat1, - STATE(230), 1, + STATE(280), 1, aux_sym_contract_attributes_repeat1, - STATE(311), 1, + STATE(352), 1, sym_contract_attributes, - STATE(357), 1, - sym_function_attributes, - STATE(374), 1, + STATE(533), 1, sym_constant_attributes, + STATE(538), 1, + sym_function_attributes, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, ACTIONS(13), 3, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - ACTIONS(19), 4, + ACTIONS(21), 4, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - STATE(15), 8, + STATE(15), 9, sym__module_item, sym_primitive, sym_native_function, + sym_asm_function, sym_struct, sym_message, sym_contract, sym_trait, aux_sym_source_file_repeat2, - [958] = 22, - ACTIONS(3), 1, - sym_comment, + [978] = 23, ACTIONS(9), 1, anon_sym_primitive, ACTIONS(11), 1, @@ -4712,116 +5825,127 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(15), 1, anon_sym_ATname, ACTIONS(17), 1, + anon_sym_asm, + ACTIONS(19), 1, anon_sym_fun, - ACTIONS(21), 1, - anon_sym_struct, ACTIONS(23), 1, - anon_sym_message, + anon_sym_struct, ACTIONS(25), 1, - anon_sym_contract, + anon_sym_message, ACTIONS(27), 1, - anon_sym_trait, + anon_sym_contract, ACTIONS(29), 1, + anon_sym_trait, + ACTIONS(31), 1, anon_sym_ATinterface, - ACTIONS(161), 1, + ACTIONS(163), 1, ts_builtin_sym_end, - STATE(133), 1, + STATE(169), 1, sym__constant, - STATE(160), 1, + STATE(173), 1, sym__function, - STATE(189), 1, + STATE(233), 1, aux_sym_function_attributes_repeat1, - STATE(215), 1, + STATE(270), 1, aux_sym_constant_attributes_repeat1, - STATE(230), 1, + STATE(280), 1, aux_sym_contract_attributes_repeat1, - STATE(311), 1, + STATE(352), 1, sym_contract_attributes, - STATE(357), 1, - sym_function_attributes, - STATE(374), 1, + STATE(533), 1, sym_constant_attributes, + STATE(538), 1, + sym_function_attributes, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, ACTIONS(13), 3, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - ACTIONS(19), 4, + ACTIONS(21), 4, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - STATE(15), 8, + STATE(15), 9, sym__module_item, sym_primitive, sym_native_function, + sym_asm_function, sym_struct, sym_message, sym_contract, sym_trait, aux_sym_source_file_repeat2, - [1037] = 22, - ACTIONS(3), 1, - sym_comment, - ACTIONS(163), 1, - ts_builtin_sym_end, + [1062] = 23, ACTIONS(165), 1, + ts_builtin_sym_end, + ACTIONS(167), 1, anon_sym_primitive, - ACTIONS(168), 1, + ACTIONS(170), 1, anon_sym_const, - ACTIONS(174), 1, + ACTIONS(176), 1, anon_sym_ATname, - ACTIONS(177), 1, + ACTIONS(179), 1, + anon_sym_asm, + ACTIONS(182), 1, anon_sym_fun, - ACTIONS(183), 1, + ACTIONS(188), 1, anon_sym_struct, - ACTIONS(186), 1, + ACTIONS(191), 1, anon_sym_message, - ACTIONS(189), 1, + ACTIONS(194), 1, anon_sym_contract, - ACTIONS(192), 1, + ACTIONS(197), 1, anon_sym_trait, - ACTIONS(195), 1, + ACTIONS(200), 1, anon_sym_ATinterface, - STATE(133), 1, + STATE(169), 1, sym__constant, - STATE(160), 1, + STATE(173), 1, sym__function, - STATE(189), 1, + STATE(233), 1, aux_sym_function_attributes_repeat1, - STATE(215), 1, + STATE(270), 1, aux_sym_constant_attributes_repeat1, - STATE(230), 1, + STATE(280), 1, aux_sym_contract_attributes_repeat1, - STATE(311), 1, + STATE(352), 1, sym_contract_attributes, - STATE(357), 1, - sym_function_attributes, - STATE(374), 1, + STATE(533), 1, sym_constant_attributes, - ACTIONS(171), 3, + STATE(538), 1, + sym_function_attributes, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(173), 3, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - ACTIONS(180), 4, + ACTIONS(185), 4, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - STATE(15), 8, + STATE(15), 9, sym__module_item, sym_primitive, sym_native_function, + sym_asm_function, sym_struct, sym_message, sym_contract, sym_trait, aux_sym_source_file_repeat2, - [1116] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(151), 1, + [1146] = 5, + ACTIONS(155), 1, anon_sym_EQ, - ACTIONS(155), 8, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(159), 8, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_STAR_EQ, @@ -4830,7 +5954,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_AMP_EQ, anon_sym_PIPE_EQ, anon_sym_CARET_EQ, - ACTIONS(157), 10, + ACTIONS(161), 10, anon_sym_PIPE, anon_sym_CARET, anon_sym_AMP, @@ -4841,7 +5965,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, - ACTIONS(149), 13, + ACTIONS(153), 13, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_QMARK, @@ -4855,29 +5979,134 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, anon_sym_BANG_BANG, anon_sym_DOT, - [1160] = 7, - ACTIONS(3), 1, + [1191] = 19, + ACTIONS(203), 1, + sym_identifier, + ACTIONS(205), 1, + anon_sym_const, + ACTIONS(209), 1, + anon_sym_fun, + ACTIONS(211), 1, + anon_sym_RBRACE, + ACTIONS(215), 1, + anon_sym_init, + ACTIONS(217), 1, + anon_sym_receive, + ACTIONS(219), 1, + anon_sym_bounced, + ACTIONS(221), 1, + anon_sym_external, + STATE(190), 1, + sym__function_definition, + STATE(233), 1, + aux_sym_function_attributes_repeat1, + STATE(270), 1, + aux_sym_constant_attributes_repeat1, + STATE(415), 1, + sym__function_declaration, + STATE(486), 1, + sym_function_attributes, + STATE(487), 1, + sym_constant_attributes, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(207), 3, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + STATE(371), 3, + sym_storage_constant, + sym_storage_variable, + sym__body_item_without_semicolon, + ACTIONS(213), 4, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + STATE(18), 6, + sym_init_function, + sym__receiver_function, + sym_receive_function, + sym_bounced_function, + sym_external_function, + aux_sym_contract_body_repeat1, + [1262] = 19, + ACTIONS(203), 1, + sym_identifier, + ACTIONS(205), 1, + anon_sym_const, + ACTIONS(209), 1, + anon_sym_fun, + ACTIONS(215), 1, + anon_sym_init, + ACTIONS(217), 1, + anon_sym_receive, + ACTIONS(219), 1, + anon_sym_bounced, + ACTIONS(221), 1, + anon_sym_external, + ACTIONS(223), 1, + anon_sym_RBRACE, + STATE(190), 1, + sym__function_definition, + STATE(233), 1, + aux_sym_function_attributes_repeat1, + STATE(270), 1, + aux_sym_constant_attributes_repeat1, + STATE(415), 1, + sym__function_declaration, + STATE(486), 1, + sym_function_attributes, + STATE(487), 1, + sym_constant_attributes, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(147), 1, + ACTIONS(207), 3, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + STATE(336), 3, + sym_storage_constant, + sym_storage_variable, + sym__body_item_without_semicolon, + ACTIONS(213), 4, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + STATE(20), 6, + sym_init_function, + sym__receiver_function, + sym_receive_function, + sym_bounced_function, + sym_external_function, + aux_sym_contract_body_repeat1, + [1333] = 7, + ACTIONS(151), 1, anon_sym_LPAREN, - ACTIONS(153), 1, + ACTIONS(157), 1, anon_sym_LBRACE, - STATE(59), 1, + STATE(75), 1, sym_argument_list, - STATE(61), 1, + STATE(76), 1, sym_instance_argument_list, - ACTIONS(157), 5, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(161), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(149), 21, + ACTIONS(153), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -4894,42 +6123,95 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [1206] = 14, - ACTIONS(3), 1, + [1380] = 19, + ACTIONS(225), 1, + sym_identifier, + ACTIONS(228), 1, + anon_sym_const, + ACTIONS(234), 1, + anon_sym_fun, + ACTIONS(237), 1, + anon_sym_RBRACE, + ACTIONS(242), 1, + anon_sym_init, + ACTIONS(245), 1, + anon_sym_receive, + ACTIONS(248), 1, + anon_sym_bounced, + ACTIONS(251), 1, + anon_sym_external, + STATE(190), 1, + sym__function_definition, + STATE(233), 1, + aux_sym_function_attributes_repeat1, + STATE(270), 1, + aux_sym_constant_attributes_repeat1, + STATE(415), 1, + sym__function_declaration, + STATE(486), 1, + sym_function_attributes, + STATE(487), 1, + sym_constant_attributes, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(33), 1, + ACTIONS(231), 3, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + STATE(452), 3, + sym_storage_constant, + sym_storage_variable, + sym__body_item_without_semicolon, + ACTIONS(239), 4, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + STATE(20), 6, + sym_init_function, + sym__receiver_function, + sym_receive_function, + sym_bounced_function, + sym_external_function, + aux_sym_contract_body_repeat1, + [1451] = 14, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - ACTIONS(200), 1, + ACTIONS(256), 1, anon_sym_RPAREN, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - STATE(324), 1, + STATE(339), 1, sym_argument, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(106), 4, + STATE(111), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -4939,42 +6221,43 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [1265] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [1511] = 14, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - ACTIONS(202), 1, + ACTIONS(258), 1, anon_sym_RPAREN, - STATE(73), 1, + STATE(61), 1, sym_value_expression, STATE(324), 1, sym_argument, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(106), 4, + STATE(111), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -4984,32 +6267,32 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [1324] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [1571] = 13, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - ACTIONS(204), 1, - anon_sym_RPAREN, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - STATE(269), 1, - sym_argument, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(260), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, @@ -5019,7 +6302,7 @@ static const uint16_t ts_small_parse_table[] = { sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5029,41 +6312,43 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [1383] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [1629] = 14, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + ACTIONS(262), 1, + anon_sym_RPAREN, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + STATE(339), 1, + sym_argument, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(206), 2, - anon_sym_SEMI, - anon_sym_RBRACE, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(101), 4, + STATE(111), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5073,225 +6358,230 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [1440] = 18, - ACTIONS(3), 1, - sym_comment, - ACTIONS(208), 1, + [1689] = 18, + ACTIONS(203), 1, sym_identifier, - ACTIONS(210), 1, + ACTIONS(205), 1, anon_sym_const, - ACTIONS(214), 1, + ACTIONS(209), 1, anon_sym_fun, - ACTIONS(218), 1, - anon_sym_RBRACE, - ACTIONS(220), 1, - anon_sym_init, - ACTIONS(222), 1, + ACTIONS(217), 1, anon_sym_receive, - ACTIONS(224), 1, + ACTIONS(219), 1, anon_sym_bounced, - ACTIONS(226), 1, + ACTIONS(221), 1, anon_sym_external, - STATE(181), 1, - sym__constant, - STATE(182), 1, - sym__function, - STATE(189), 1, + ACTIONS(264), 1, + anon_sym_RBRACE, + STATE(193), 1, + sym__function_definition, + STATE(233), 1, aux_sym_function_attributes_repeat1, - STATE(215), 1, + STATE(270), 1, aux_sym_constant_attributes_repeat1, - STATE(405), 1, + STATE(415), 1, + sym__function_declaration, + STATE(486), 1, sym_function_attributes, - STATE(407), 1, + STATE(487), 1, sym_constant_attributes, - ACTIONS(212), 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(207), 3, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - ACTIONS(216), 4, + STATE(386), 3, + sym_storage_constant, + sym_storage_variable, + sym__body_item_without_semicolon, + ACTIONS(213), 4, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - STATE(25), 7, - sym_storage_variable, - sym_init_function, + STATE(28), 5, sym__receiver_function, sym_receive_function, sym_bounced_function, sym_external_function, - aux_sym_contract_body_repeat1, - [1506] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, - anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, - anon_sym_DQUOTE, - ACTIONS(67), 1, - sym_integer, - ACTIONS(198), 1, - sym_identifier, - STATE(73), 1, - sym_value_expression, - STATE(324), 1, - sym_argument, - ACTIONS(63), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(65), 2, - sym_self, - sym_null, - ACTIONS(55), 4, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - STATE(106), 4, - sym__expression, - sym_ternary_expression, - sym_binary_expression, - sym_unary_expression, - STATE(56), 9, - sym_non_null_assert_expression, - sym_method_call_expression, - sym_field_access_expression, - sym_static_call_expression, - sym_parenthesized_expression, - sym_instance_expression, - sym_initOf, - sym_string, - sym_boolean, - [1562] = 18, - ACTIONS(3), 1, - sym_comment, - ACTIONS(228), 1, + aux_sym_trait_body_repeat1, + [1756] = 18, + ACTIONS(203), 1, sym_identifier, - ACTIONS(231), 1, + ACTIONS(205), 1, anon_sym_const, - ACTIONS(237), 1, + ACTIONS(209), 1, anon_sym_fun, - ACTIONS(243), 1, - anon_sym_RBRACE, - ACTIONS(245), 1, - anon_sym_init, - ACTIONS(248), 1, + ACTIONS(217), 1, anon_sym_receive, - ACTIONS(251), 1, + ACTIONS(219), 1, anon_sym_bounced, - ACTIONS(254), 1, + ACTIONS(221), 1, anon_sym_external, - STATE(181), 1, - sym__constant, - STATE(182), 1, - sym__function, - STATE(189), 1, + ACTIONS(266), 1, + anon_sym_RBRACE, + STATE(193), 1, + sym__function_definition, + STATE(233), 1, aux_sym_function_attributes_repeat1, - STATE(215), 1, + STATE(270), 1, aux_sym_constant_attributes_repeat1, - STATE(405), 1, + STATE(415), 1, + sym__function_declaration, + STATE(486), 1, sym_function_attributes, - STATE(407), 1, + STATE(487), 1, sym_constant_attributes, - ACTIONS(234), 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(207), 3, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - ACTIONS(240), 4, + STATE(419), 3, + sym_storage_constant, + sym_storage_variable, + sym__body_item_without_semicolon, + ACTIONS(213), 4, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - STATE(24), 7, - sym_storage_variable, - sym_init_function, + STATE(25), 5, sym__receiver_function, sym_receive_function, sym_bounced_function, sym_external_function, - aux_sym_contract_body_repeat1, - [1628] = 18, - ACTIONS(3), 1, + aux_sym_trait_body_repeat1, + [1823] = 13, + ACTIONS(91), 1, + anon_sym_LPAREN, + ACTIONS(97), 1, + anon_sym_DQUOTE, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, + sym_integer, + ACTIONS(254), 1, + sym_identifier, + STATE(61), 1, + sym_value_expression, + STATE(339), 1, + sym_argument, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(208), 1, + ACTIONS(121), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(123), 2, + sym_self, + sym_null, + ACTIONS(115), 4, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_BANG, + anon_sym_TILDE, + STATE(111), 4, + sym__expression, + sym_ternary_expression, + sym_binary_expression, + sym_unary_expression, + STATE(74), 9, + sym_non_null_assert_expression, + sym_method_call_expression, + sym_field_access_expression, + sym_static_call_expression, + sym_parenthesized_expression, + sym_instance_expression, + sym_initOf, + sym_string, + sym_boolean, + [1880] = 18, + ACTIONS(268), 1, sym_identifier, - ACTIONS(210), 1, + ACTIONS(271), 1, anon_sym_const, - ACTIONS(214), 1, + ACTIONS(277), 1, anon_sym_fun, - ACTIONS(220), 1, - anon_sym_init, - ACTIONS(222), 1, + ACTIONS(280), 1, + anon_sym_RBRACE, + ACTIONS(285), 1, anon_sym_receive, - ACTIONS(224), 1, + ACTIONS(288), 1, anon_sym_bounced, - ACTIONS(226), 1, + ACTIONS(291), 1, anon_sym_external, - ACTIONS(257), 1, - anon_sym_RBRACE, - STATE(181), 1, - sym__constant, - STATE(182), 1, - sym__function, - STATE(189), 1, + STATE(193), 1, + sym__function_definition, + STATE(233), 1, aux_sym_function_attributes_repeat1, - STATE(215), 1, + STATE(270), 1, aux_sym_constant_attributes_repeat1, - STATE(405), 1, + STATE(415), 1, + sym__function_declaration, + STATE(486), 1, sym_function_attributes, - STATE(407), 1, + STATE(487), 1, sym_constant_attributes, - ACTIONS(212), 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(274), 3, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - ACTIONS(216), 4, + STATE(451), 3, + sym_storage_constant, + sym_storage_variable, + sym__body_item_without_semicolon, + ACTIONS(282), 4, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - STATE(24), 7, - sym_storage_variable, - sym_init_function, + STATE(28), 5, sym__receiver_function, sym_receive_function, sym_bounced_function, sym_external_function, - aux_sym_contract_body_repeat1, - [1694] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + aux_sym_trait_body_repeat1, + [1947] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(105), 4, + STATE(88), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5301,38 +6591,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [1747] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2001] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(118), 4, + STATE(107), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5342,38 +6633,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [1800] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2055] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(120), 4, + STATE(100), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5383,38 +6675,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [1853] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2109] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(112), 4, + STATE(90), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5424,38 +6717,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [1906] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2163] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(110), 4, + STATE(109), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5465,38 +6759,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [1959] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2217] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(113), 4, + STATE(115), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5506,38 +6801,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2012] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2271] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(103), 4, + STATE(116), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5547,38 +6843,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2065] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2325] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(114), 4, + STATE(112), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5588,38 +6885,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2118] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2379] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(107), 4, + STATE(114), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5629,38 +6927,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2171] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2433] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(78), 4, + STATE(104), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5670,38 +6969,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2224] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2487] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(102), 4, + STATE(121), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5711,38 +7011,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2277] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2541] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(82), 4, + STATE(119), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5752,38 +7053,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2330] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2595] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(116), 4, + STATE(102), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5793,38 +7095,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2383] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2649] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(104), 4, + STATE(110), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5834,38 +7137,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2436] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2703] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(86), 4, + STATE(101), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5875,38 +7179,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2489] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2757] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(87), 4, + STATE(118), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5916,38 +7221,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2542] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2811] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(91), 4, + STATE(79), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5957,38 +7263,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2595] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2865] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(90), 4, + STATE(78), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -5998,38 +7305,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2648] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2919] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(89), 4, + STATE(91), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -6039,38 +7347,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2701] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [2973] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(85), 4, + STATE(89), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -6080,38 +7389,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2754] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [3027] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(81), 4, + STATE(117), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -6121,38 +7431,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2807] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [3081] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(80), 4, + STATE(84), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -6162,38 +7473,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2860] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [3135] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(83), 4, + STATE(103), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -6203,38 +7515,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2913] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [3189] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(84), 4, + STATE(83), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -6244,38 +7557,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [2966] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [3243] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(115), 4, + STATE(80), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -6285,38 +7599,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [3019] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [3297] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(111), 4, + STATE(108), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -6326,38 +7641,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [3072] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [3351] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(109), 4, + STATE(85), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -6367,38 +7683,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [3125] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [3405] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(108), 4, + STATE(82), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -6408,38 +7725,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [3178] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [3459] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(117), 4, + STATE(86), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -6449,38 +7767,39 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [3231] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, + [3513] = 12, + ACTIONS(91), 1, anon_sym_LPAREN, - ACTIONS(57), 1, - anon_sym_initOf, - ACTIONS(61), 1, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(67), 1, + ACTIONS(117), 1, + anon_sym_initOf, + ACTIONS(125), 1, sym_integer, - ACTIONS(198), 1, + ACTIONS(254), 1, sym_identifier, - STATE(73), 1, + STATE(61), 1, sym_value_expression, - ACTIONS(63), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(121), 2, anon_sym_true, anon_sym_false, - ACTIONS(65), 2, + ACTIONS(123), 2, sym_self, sym_null, - ACTIONS(55), 4, + ACTIONS(115), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - STATE(119), 4, + STATE(120), 4, sym__expression, sym_ternary_expression, sym_binary_expression, sym_unary_expression, - STATE(56), 9, + STATE(74), 9, sym_non_null_assert_expression, sym_method_call_expression, sym_field_access_expression, @@ -6490,97 +7809,22 @@ static const uint16_t ts_small_parse_table[] = { sym_initOf, sym_string, sym_boolean, - [3284] = 3, - ACTIONS(3), 1, + [3567] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(157), 5, + ACTIONS(296), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(149), 21, + ACTIONS(294), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_QMARK, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, - anon_sym_BANG_EQ, - anon_sym_EQ_EQ, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_GT_GT, - anon_sym_LT_LT, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_BANG_BANG, - anon_sym_DOT, - [3318] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(208), 1, - sym_identifier, - ACTIONS(210), 1, - anon_sym_const, - ACTIONS(214), 1, - anon_sym_fun, - ACTIONS(222), 1, - anon_sym_receive, - ACTIONS(224), 1, - anon_sym_bounced, - ACTIONS(226), 1, - anon_sym_external, - ACTIONS(259), 1, anon_sym_RBRACE, - STATE(185), 1, - sym__constant, - STATE(186), 1, - sym__function, - STATE(189), 1, - aux_sym_function_attributes_repeat1, - STATE(215), 1, - aux_sym_constant_attributes_repeat1, - STATE(405), 1, - sym_function_attributes, - STATE(407), 1, - sym_constant_attributes, - ACTIONS(212), 3, - anon_sym_virtual, - anon_sym_override, - anon_sym_abstract, - ACTIONS(216), 4, - anon_sym_get, - anon_sym_mutates, - anon_sym_extends, - anon_sym_inline, - STATE(62), 6, - sym_storage_variable, - sym__receiver_function, - sym_receive_function, - sym_bounced_function, - sym_external_function, - aux_sym_trait_body_repeat1, - [3380] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(263), 5, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_GT, - anon_sym_LT, - anon_sym_SLASH, - ACTIONS(261), 21, - anon_sym_SEMI, - anon_sym_COLON, - anon_sym_RPAREN, anon_sym_COMMA, - anon_sym_RBRACE, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -6597,21 +7841,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [3414] = 3, - ACTIONS(3), 1, + [3602] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(267), 5, + ACTIONS(300), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(265), 21, + ACTIONS(298), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -6628,21 +7873,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [3448] = 3, - ACTIONS(3), 1, + [3637] = 4, + ACTIONS(306), 1, + anon_sym_DOT, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(271), 5, + ACTIONS(304), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(269), 21, + ACTIONS(302), 20, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -6658,22 +7906,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_BANG_BANG, - anon_sym_DOT, - [3482] = 3, - ACTIONS(3), 1, + [3674] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(275), 5, + ACTIONS(310), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(273), 21, + ACTIONS(308), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -6690,66 +7938,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [3516] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(208), 1, - sym_identifier, - ACTIONS(210), 1, - anon_sym_const, - ACTIONS(214), 1, - anon_sym_fun, - ACTIONS(222), 1, - anon_sym_receive, - ACTIONS(224), 1, - anon_sym_bounced, - ACTIONS(226), 1, - anon_sym_external, - ACTIONS(277), 1, - anon_sym_RBRACE, - STATE(185), 1, - sym__constant, - STATE(186), 1, - sym__function, - STATE(189), 1, - aux_sym_function_attributes_repeat1, - STATE(215), 1, - aux_sym_constant_attributes_repeat1, - STATE(405), 1, - sym_function_attributes, - STATE(407), 1, - sym_constant_attributes, - ACTIONS(212), 3, - anon_sym_virtual, - anon_sym_override, - anon_sym_abstract, - ACTIONS(216), 4, - anon_sym_get, - anon_sym_mutates, - anon_sym_extends, - anon_sym_inline, - STATE(70), 6, - sym_storage_variable, - sym__receiver_function, - sym_receive_function, - sym_bounced_function, - sym_external_function, - aux_sym_trait_body_repeat1, - [3578] = 3, - ACTIONS(3), 1, + [3709] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(281), 5, + ACTIONS(314), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(279), 21, + ACTIONS(312), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -6766,21 +7970,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [3612] = 3, - ACTIONS(3), 1, + [3744] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(285), 5, + ACTIONS(318), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(283), 21, + ACTIONS(316), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -6797,21 +8002,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [3646] = 3, - ACTIONS(3), 1, + [3779] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(289), 5, + ACTIONS(322), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(287), 21, + ACTIONS(320), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -6828,21 +8034,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [3680] = 3, - ACTIONS(3), 1, + [3814] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(293), 5, + ACTIONS(326), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(291), 21, + ACTIONS(324), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -6859,21 +8066,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [3714] = 3, - ACTIONS(3), 1, + [3849] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(297), 5, + ACTIONS(330), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(295), 21, + ACTIONS(328), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -6890,21 +8098,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [3748] = 3, - ACTIONS(3), 1, + [3884] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(301), 5, + ACTIONS(334), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(299), 21, + ACTIONS(332), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -6921,21 +8130,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [3782] = 3, - ACTIONS(3), 1, + [3919] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(305), 5, + ACTIONS(338), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(303), 21, + ACTIONS(336), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -6952,66 +8162,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [3816] = 17, - ACTIONS(3), 1, - sym_comment, - ACTIONS(307), 1, - sym_identifier, - ACTIONS(310), 1, - anon_sym_const, - ACTIONS(316), 1, - anon_sym_fun, - ACTIONS(322), 1, - anon_sym_RBRACE, - ACTIONS(324), 1, - anon_sym_receive, - ACTIONS(327), 1, - anon_sym_bounced, - ACTIONS(330), 1, - anon_sym_external, - STATE(185), 1, - sym__constant, - STATE(186), 1, - sym__function, - STATE(189), 1, - aux_sym_function_attributes_repeat1, - STATE(215), 1, - aux_sym_constant_attributes_repeat1, - STATE(405), 1, - sym_function_attributes, - STATE(407), 1, - sym_constant_attributes, - ACTIONS(313), 3, - anon_sym_virtual, - anon_sym_override, - anon_sym_abstract, - ACTIONS(319), 4, - anon_sym_get, - anon_sym_mutates, - anon_sym_extends, - anon_sym_inline, - STATE(70), 6, - sym_storage_variable, - sym__receiver_function, - sym_receive_function, - sym_bounced_function, - sym_external_function, - aux_sym_trait_body_repeat1, - [3878] = 3, - ACTIONS(3), 1, + [3954] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(335), 5, + ACTIONS(342), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(333), 21, + ACTIONS(340), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -7028,21 +8194,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [3912] = 3, - ACTIONS(3), 1, + [3989] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(339), 5, + ACTIONS(346), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(337), 21, + ACTIONS(344), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -7059,23 +8226,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [3946] = 4, - ACTIONS(3), 1, + [4024] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(345), 1, - anon_sym_DOT, - ACTIONS(343), 5, + ACTIONS(350), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(341), 20, + ACTIONS(348), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -7091,21 +8257,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_BANG_BANG, - [3982] = 3, - ACTIONS(3), 1, + anon_sym_DOT, + [4059] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(349), 5, + ACTIONS(354), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(347), 21, + ACTIONS(352), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -7122,21 +8290,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [4016] = 3, - ACTIONS(3), 1, + [4094] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(353), 5, + ACTIONS(161), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(351), 21, + ACTIONS(153), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -7153,21 +8322,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [4050] = 3, - ACTIONS(3), 1, + [4129] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(357), 5, + ACTIONS(358), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(355), 21, + ACTIONS(356), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -7184,21 +8354,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [4084] = 3, - ACTIONS(3), 1, + [4164] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(361), 5, + ACTIONS(362), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(359), 21, + ACTIONS(360), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -7215,23 +8386,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PERCENT, anon_sym_BANG_BANG, anon_sym_DOT, - [4118] = 4, - ACTIONS(3), 1, + [4199] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(365), 5, + ACTIONS(366), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(363), 19, + ACTIONS(364), 21, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -7246,296 +8416,249 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, - [4153] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(373), 1, - anon_sym_catch, - STATE(95), 1, - sym_catch_clause, - ACTIONS(371), 9, - anon_sym_LPAREN, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_BANG, - anon_sym_TILDE, - anon_sym_DQUOTE, - sym_integer, - ACTIONS(369), 14, - anon_sym_let, - anon_sym_return, - anon_sym_if, - anon_sym_while, - anon_sym_repeat, - anon_sym_do, - anon_sym_try, - anon_sym_foreach, - anon_sym_initOf, - sym_identifier, - sym_self, - anon_sym_true, - anon_sym_false, - sym_null, - [4190] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, anon_sym_BANG_BANG, - ACTIONS(377), 1, + anon_sym_DOT, + [4234] = 13, + ACTIONS(370), 1, anon_sym_PIPE, - ACTIONS(379), 1, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(383), 2, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(375), 8, + ACTIONS(368), 8, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - [4243] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(377), 1, - anon_sym_PIPE, - ACTIONS(381), 1, + [4288] = 13, + ACTIONS(372), 1, + anon_sym_CARET, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(383), 2, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(375), 9, + ACTIONS(368), 8, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_CARET, - [4294] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, - anon_sym_CARET, - ACTIONS(381), 1, - anon_sym_AMP, - ACTIONS(395), 1, + [4342] = 8, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, - anon_sym_QMARK, - ACTIONS(401), 1, - anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, - anon_sym_BANG_EQ, - anon_sym_EQ_EQ, - ACTIONS(385), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(387), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(397), 5, + ACTIONS(370), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(368), 13, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, - [4353] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, anon_sym_CARET, - ACTIONS(381), 1, - anon_sym_AMP, - ACTIONS(395), 1, - anon_sym_SLASH, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(387), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, - anon_sym_GT_GT, - anon_sym_LT_LT, - ACTIONS(391), 2, + [4386] = 5, + ACTIONS(398), 1, + anon_sym_else, + STATE(95), 1, + sym_else_clause, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(396), 9, + anon_sym_LPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + anon_sym_BANG, + anon_sym_TILDE, + sym_integer, + ACTIONS(394), 14, + anon_sym_let, + anon_sym_return, + anon_sym_if, + anon_sym_while, + anon_sym_repeat, + anon_sym_do, + anon_sym_try, + anon_sym_foreach, + anon_sym_initOf, + sym_identifier, + sym_self, + anon_sym_true, + anon_sym_false, + sym_null, + [4424] = 6, + ACTIONS(388), 1, + anon_sym_SLASH, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(375), 8, + ACTIONS(370), 4, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + ACTIONS(368), 17, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - [4406] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, anon_sym_CARET, - ACTIONS(381), 1, - anon_sym_AMP, - ACTIONS(395), 1, - anon_sym_SLASH, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(387), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, - anon_sym_STAR, - anon_sym_PERCENT, - ACTIONS(375), 7, - anon_sym_SEMI, - anon_sym_COLON, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACE, - anon_sym_QMARK, - anon_sym_PIPE_PIPE, - [4461] = 11, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(395), 1, + [4464] = 10, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(377), 2, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(370), 2, anon_sym_PIPE, anon_sym_AMP, - ACTIONS(383), 2, - anon_sym_BANG_EQ, - anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(375), 9, + ACTIONS(368), 11, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, - [4510] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, + anon_sym_BANG_EQ, + anon_sym_EQ_EQ, + [4512] = 4, + ACTIONS(390), 1, anon_sym_BANG_BANG, - ACTIONS(377), 5, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(402), 5, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, anon_sym_SLASH, - ACTIONS(375), 19, + ACTIONS(400), 19, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -7550,27 +8673,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, - [4545] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(395), 1, + [4548] = 7, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(393), 2, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(384), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(377), 4, + ACTIONS(370), 4, anon_sym_PIPE, anon_sym_AMP, anon_sym_GT, anon_sym_LT, - ACTIONS(375), 17, + ACTIONS(368), 15, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, + anon_sym_RBRACE, anon_sym_COMMA, + anon_sym_QMARK, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_CARET, + anon_sym_BANG_EQ, + anon_sym_EQ_EQ, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_GT_GT, + anon_sym_LT_LT, + [4590] = 4, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(370), 5, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_GT, + anon_sym_LT, + anon_sym_SLASH, + ACTIONS(368), 19, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_RPAREN, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, @@ -7583,24 +8738,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_LT, anon_sym_PLUS, anon_sym_DASH, - [4584] = 5, - ACTIONS(3), 1, + anon_sym_STAR, + anon_sym_PERCENT, + [4626] = 5, + ACTIONS(408), 1, + anon_sym_catch, + STATE(97), 1, + sym_catch_clause, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(411), 1, - anon_sym_else, - STATE(98), 1, - sym_else_clause, - ACTIONS(409), 9, + ACTIONS(406), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - anon_sym_DQUOTE, sym_integer, - ACTIONS(407), 14, + ACTIONS(404), 14, anon_sym_let, anon_sym_return, anon_sym_if, @@ -7615,126 +8773,186 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, sym_null, - [4621] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(395), 1, + [4664] = 14, + ACTIONS(372), 1, + anon_sym_CARET, + ACTIONS(374), 1, + anon_sym_AMP, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(377), 2, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(385), 2, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, + anon_sym_BANG_EQ, + anon_sym_EQ_EQ, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(375), 11, + ACTIONS(368), 7, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_CARET, + [4720] = 11, + ACTIONS(388), 1, + anon_sym_SLASH, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(370), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - [4668] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(395), 1, - anon_sym_SLASH, - ACTIONS(389), 2, + ACTIONS(378), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(380), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(377), 4, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_GT, - anon_sym_LT, - ACTIONS(375), 13, + ACTIONS(368), 9, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, + [4770] = 16, + ACTIONS(372), 1, + anon_sym_CARET, + ACTIONS(374), 1, + anon_sym_AMP, + ACTIONS(388), 1, + anon_sym_SLASH, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, + anon_sym_QMARK, + ACTIONS(416), 1, + anon_sym_PIPE_PIPE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, + ACTIONS(378), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - [4711] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(395), 1, - anon_sym_SLASH, - ACTIONS(391), 2, + ACTIONS(382), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(377), 4, + ACTIONS(412), 5, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_RPAREN, + anon_sym_RBRACE, + anon_sym_COMMA, + [4830] = 12, + ACTIONS(370), 1, anon_sym_PIPE, + ACTIONS(374), 1, anon_sym_AMP, + ACTIONS(388), 1, + anon_sym_SLASH, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, + anon_sym_BANG_EQ, + anon_sym_EQ_EQ, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(375), 15, + ACTIONS(380), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(382), 2, + anon_sym_GT_GT, + anon_sym_LT_LT, + ACTIONS(384), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(386), 2, + anon_sym_STAR, + anon_sym_PERCENT, + ACTIONS(368), 9, anon_sym_SEMI, anon_sym_COLON, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_QMARK, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_CARET, - anon_sym_BANG_EQ, - anon_sym_EQ_EQ, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_GT_GT, - anon_sym_LT_LT, - [4752] = 3, - ACTIONS(3), 1, + [4882] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(415), 9, + ACTIONS(420), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - anon_sym_DQUOTE, sym_integer, - ACTIONS(413), 14, + ACTIONS(418), 14, anon_sym_let, anon_sym_return, anon_sym_if, @@ -7749,20 +8967,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, sym_null, - [4783] = 3, - ACTIONS(3), 1, + [4914] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(419), 9, + ACTIONS(424), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - anon_sym_DQUOTE, sym_integer, - ACTIONS(417), 14, + ACTIONS(422), 14, anon_sym_let, anon_sym_return, anon_sym_if, @@ -7777,20 +8996,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, sym_null, - [4814] = 3, - ACTIONS(3), 1, + [4946] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(423), 9, + ACTIONS(428), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - anon_sym_DQUOTE, sym_integer, - ACTIONS(421), 14, + ACTIONS(426), 14, anon_sym_let, anon_sym_return, anon_sym_if, @@ -7805,20 +9025,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, sym_null, - [4845] = 3, - ACTIONS(3), 1, + [4978] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(427), 9, + ACTIONS(432), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - anon_sym_DQUOTE, sym_integer, - ACTIONS(425), 14, + ACTIONS(430), 14, anon_sym_let, anon_sym_return, anon_sym_if, @@ -7833,20 +9054,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, sym_null, - [4876] = 3, - ACTIONS(3), 1, + [5010] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(431), 9, + ACTIONS(436), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - anon_sym_DQUOTE, sym_integer, - ACTIONS(429), 14, + ACTIONS(434), 14, anon_sym_let, anon_sym_return, anon_sym_if, @@ -7861,20 +9083,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, sym_null, - [4907] = 3, - ACTIONS(3), 1, + [5042] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(435), 9, + ACTIONS(440), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - anon_sym_DQUOTE, sym_integer, - ACTIONS(433), 14, + ACTIONS(438), 14, anon_sym_let, anon_sym_return, anon_sym_if, @@ -7889,20 +9112,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, sym_null, - [4938] = 3, - ACTIONS(3), 1, + [5074] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(439), 9, + ACTIONS(444), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - anon_sym_DQUOTE, sym_integer, - ACTIONS(437), 14, + ACTIONS(442), 14, anon_sym_let, anon_sym_return, anon_sym_if, @@ -7917,20 +9141,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, sym_null, - [4969] = 3, - ACTIONS(3), 1, + [5106] = 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(443), 9, + ACTIONS(448), 9, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_DQUOTE, anon_sym_PLUS, anon_sym_DASH, anon_sym_BANG, anon_sym_TILDE, - anon_sym_DQUOTE, sym_integer, - ACTIONS(441), 14, + ACTIONS(446), 14, anon_sym_let, anon_sym_return, anon_sym_if, @@ -7945,851 +9170,900 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_true, anon_sym_false, sym_null, - [5000] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [5138] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(445), 2, + ACTIONS(450), 2, anon_sym_SEMI, anon_sym_RBRACE, - [5056] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [5195] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(447), 2, + ACTIONS(452), 2, anon_sym_SEMI, anon_sym_RBRACE, - [5112] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [5252] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(449), 2, + ACTIONS(454), 2, anon_sym_SEMI, anon_sym_RBRACE, - [5168] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [5309] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(451), 2, + ACTIONS(456), 2, anon_sym_SEMI, anon_sym_RBRACE, - [5224] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [5366] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(453), 2, + ACTIONS(458), 2, anon_sym_SEMI, anon_sym_RBRACE, - [5280] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [5423] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(455), 2, - anon_sym_COMMA, + ACTIONS(460), 2, + anon_sym_SEMI, anon_sym_RBRACE, - [5336] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [5480] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(457), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [5392] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + ACTIONS(462), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [5537] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(459), 2, + ACTIONS(464), 2, anon_sym_SEMI, anon_sym_RBRACE, - [5448] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [5594] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(461), 2, + ACTIONS(466), 2, anon_sym_SEMI, anon_sym_RBRACE, - [5504] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [5651] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(463), 2, - anon_sym_SEMI, + ACTIONS(468), 2, anon_sym_RBRACE, - [5560] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + anon_sym_COMMA, + [5708] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(465), 1, - anon_sym_SEMI, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - [5615] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + ACTIONS(470), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [5765] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(467), 1, - anon_sym_COLON, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - [5670] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + ACTIONS(472), 2, + anon_sym_RPAREN, + anon_sym_COMMA, + [5822] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(469), 1, + ACTIONS(474), 1, anon_sym_RPAREN, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - [5725] = 16, - ACTIONS(3), 1, + [5878] = 4, + ACTIONS(478), 1, + anon_sym_import, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + STATE(113), 2, + sym_import, + aux_sym_source_file_repeat1, + ACTIONS(476), 18, + ts_builtin_sym_end, + anon_sym_primitive, + anon_sym_const, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + anon_sym_ATname, + anon_sym_asm, + anon_sym_fun, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + anon_sym_struct, + anon_sym_message, + anon_sym_contract, + anon_sym_trait, + anon_sym_ATinterface, + [5910] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(471), 1, - anon_sym_SEMI, - ACTIONS(383), 2, + ACTIONS(481), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - [5780] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [5966] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(473), 1, - anon_sym_SEMI, - ACTIONS(383), 2, + ACTIONS(483), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - [5835] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [6022] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(475), 1, - anon_sym_SEMI, - ACTIONS(383), 2, + ACTIONS(485), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - [5890] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [6078] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(477), 1, + ACTIONS(487), 1, anon_sym_RPAREN, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - [5945] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [6134] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(479), 1, - anon_sym_RPAREN, - ACTIONS(383), 2, + ACTIONS(489), 1, + anon_sym_COLON, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - [6000] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [6190] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(481), 1, - anon_sym_RPAREN, - ACTIONS(383), 2, + ACTIONS(491), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - [6055] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [6246] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(483), 1, - anon_sym_RPAREN, - ACTIONS(383), 2, + ACTIONS(493), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - [6110] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - anon_sym_BANG_BANG, - ACTIONS(379), 1, + [6302] = 16, + ACTIONS(372), 1, anon_sym_CARET, - ACTIONS(381), 1, + ACTIONS(374), 1, anon_sym_AMP, - ACTIONS(395), 1, + ACTIONS(388), 1, anon_sym_SLASH, - ACTIONS(399), 1, + ACTIONS(390), 1, + anon_sym_BANG_BANG, + ACTIONS(392), 1, + anon_sym_PIPE, + ACTIONS(410), 1, + anon_sym_AMP_AMP, + ACTIONS(414), 1, anon_sym_QMARK, - ACTIONS(401), 1, + ACTIONS(416), 1, anon_sym_PIPE_PIPE, - ACTIONS(403), 1, - anon_sym_AMP_AMP, - ACTIONS(405), 1, - anon_sym_PIPE, - ACTIONS(485), 1, + ACTIONS(495), 1, anon_sym_RPAREN, - ACTIONS(383), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(376), 2, anon_sym_BANG_EQ, anon_sym_EQ_EQ, - ACTIONS(385), 2, + ACTIONS(378), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(387), 2, + ACTIONS(380), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(389), 2, + ACTIONS(382), 2, anon_sym_GT_GT, anon_sym_LT_LT, - ACTIONS(391), 2, + ACTIONS(384), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(393), 2, + ACTIONS(386), 2, anon_sym_STAR, anon_sym_PERCENT, - [6165] = 4, - ACTIONS(3), 1, + [6358] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(489), 1, - anon_sym_import, - STATE(121), 2, - sym_import, - aux_sym_source_file_repeat1, - ACTIONS(487), 17, + ACTIONS(497), 19, ts_builtin_sym_end, + anon_sym_import, anon_sym_primitive, anon_sym_const, anon_sym_virtual, anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -8800,10 +10074,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6195] = 2, - ACTIONS(3), 1, + [6384] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(137), 18, + ACTIONS(135), 19, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -8811,6 +10086,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -8822,10 +10098,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_trait, anon_sym_ATinterface, anon_sym_until, - [6219] = 2, - ACTIONS(3), 1, + [6410] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(141), 18, + ACTIONS(139), 19, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -8833,6 +10110,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -8844,10 +10122,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_trait, anon_sym_ATinterface, anon_sym_until, - [6243] = 2, - ACTIONS(3), 1, + [6436] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(133), 18, + ACTIONS(143), 19, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -8855,6 +10134,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -8866,18 +10146,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_trait, anon_sym_ATinterface, anon_sym_until, - [6267] = 2, - ACTIONS(3), 1, + [6462] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(492), 18, + ACTIONS(499), 18, ts_builtin_sym_end, - anon_sym_import, anon_sym_primitive, anon_sym_const, anon_sym_virtual, anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -8888,10 +10169,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6291] = 2, - ACTIONS(3), 1, + [6487] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(494), 17, + ACTIONS(501), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -8899,6 +10181,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -8909,10 +10192,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6314] = 2, - ACTIONS(3), 1, + [6512] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(496), 17, + ACTIONS(503), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -8920,6 +10204,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -8930,10 +10215,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6337] = 2, - ACTIONS(3), 1, + [6537] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(498), 17, + ACTIONS(505), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -8941,6 +10227,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -8951,10 +10238,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6360] = 2, - ACTIONS(3), 1, + [6562] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(500), 17, + ACTIONS(507), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -8962,6 +10250,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -8972,10 +10261,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6383] = 2, - ACTIONS(3), 1, + [6587] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(502), 17, + ACTIONS(509), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -8983,6 +10273,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -8993,10 +10284,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6406] = 2, - ACTIONS(3), 1, + [6612] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(504), 17, + ACTIONS(511), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9004,6 +10296,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9014,10 +10307,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6429] = 2, - ACTIONS(3), 1, + [6637] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(506), 17, + ACTIONS(513), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9025,6 +10319,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9035,10 +10330,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6452] = 2, - ACTIONS(3), 1, + [6662] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(508), 17, + ACTIONS(515), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9046,6 +10342,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9056,10 +10353,264 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6475] = 2, - ACTIONS(3), 1, + [6687] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(517), 18, + ts_builtin_sym_end, + anon_sym_primitive, + anon_sym_const, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + anon_sym_ATname, + anon_sym_asm, + anon_sym_fun, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + anon_sym_struct, + anon_sym_message, + anon_sym_contract, + anon_sym_trait, + anon_sym_ATinterface, + [6712] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(519), 18, + ts_builtin_sym_end, + anon_sym_primitive, + anon_sym_const, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + anon_sym_ATname, + anon_sym_asm, + anon_sym_fun, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + anon_sym_struct, + anon_sym_message, + anon_sym_contract, + anon_sym_trait, + anon_sym_ATinterface, + [6737] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(521), 18, + ts_builtin_sym_end, + anon_sym_primitive, + anon_sym_const, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + anon_sym_ATname, + anon_sym_asm, + anon_sym_fun, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + anon_sym_struct, + anon_sym_message, + anon_sym_contract, + anon_sym_trait, + anon_sym_ATinterface, + [6762] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(523), 18, + ts_builtin_sym_end, + anon_sym_primitive, + anon_sym_const, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + anon_sym_ATname, + anon_sym_asm, + anon_sym_fun, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + anon_sym_struct, + anon_sym_message, + anon_sym_contract, + anon_sym_trait, + anon_sym_ATinterface, + [6787] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(525), 18, + ts_builtin_sym_end, + anon_sym_primitive, + anon_sym_const, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + anon_sym_ATname, + anon_sym_asm, + anon_sym_fun, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + anon_sym_struct, + anon_sym_message, + anon_sym_contract, + anon_sym_trait, + anon_sym_ATinterface, + [6812] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(527), 18, + ts_builtin_sym_end, + anon_sym_primitive, + anon_sym_const, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + anon_sym_ATname, + anon_sym_asm, + anon_sym_fun, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + anon_sym_struct, + anon_sym_message, + anon_sym_contract, + anon_sym_trait, + anon_sym_ATinterface, + [6837] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(529), 18, + ts_builtin_sym_end, + anon_sym_primitive, + anon_sym_const, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + anon_sym_ATname, + anon_sym_asm, + anon_sym_fun, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + anon_sym_struct, + anon_sym_message, + anon_sym_contract, + anon_sym_trait, + anon_sym_ATinterface, + [6862] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(531), 18, + ts_builtin_sym_end, + anon_sym_primitive, + anon_sym_const, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + anon_sym_ATname, + anon_sym_asm, + anon_sym_fun, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + anon_sym_struct, + anon_sym_message, + anon_sym_contract, + anon_sym_trait, + anon_sym_ATinterface, + [6887] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(533), 18, + ts_builtin_sym_end, + anon_sym_primitive, + anon_sym_const, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + anon_sym_ATname, + anon_sym_asm, + anon_sym_fun, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + anon_sym_struct, + anon_sym_message, + anon_sym_contract, + anon_sym_trait, + anon_sym_ATinterface, + [6912] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(535), 18, + ts_builtin_sym_end, + anon_sym_primitive, + anon_sym_const, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + anon_sym_ATname, + anon_sym_asm, + anon_sym_fun, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + anon_sym_struct, + anon_sym_message, + anon_sym_contract, + anon_sym_trait, + anon_sym_ATinterface, + [6937] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(537), 18, + ts_builtin_sym_end, + anon_sym_primitive, + anon_sym_const, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + anon_sym_ATname, + anon_sym_asm, + anon_sym_fun, + anon_sym_get, + anon_sym_mutates, + anon_sym_extends, + anon_sym_inline, + anon_sym_struct, + anon_sym_message, + anon_sym_contract, + anon_sym_trait, + anon_sym_ATinterface, + [6962] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(510), 17, + ACTIONS(539), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9067,6 +10618,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9077,10 +10629,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6498] = 2, - ACTIONS(3), 1, + [6987] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(512), 17, + ACTIONS(541), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9088,6 +10641,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9098,10 +10652,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6521] = 2, - ACTIONS(3), 1, + [7012] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(514), 17, + ACTIONS(543), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9109,6 +10664,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9119,10 +10675,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6544] = 2, - ACTIONS(3), 1, + [7037] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(516), 17, + ACTIONS(545), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9130,6 +10687,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9140,10 +10698,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6567] = 2, - ACTIONS(3), 1, + [7062] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(518), 17, + ACTIONS(547), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9151,6 +10710,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9161,10 +10721,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6590] = 2, - ACTIONS(3), 1, + [7087] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(520), 17, + ACTIONS(549), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9172,6 +10733,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9182,10 +10744,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6613] = 2, - ACTIONS(3), 1, + [7112] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(522), 17, + ACTIONS(551), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9193,6 +10756,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9203,10 +10767,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6636] = 2, - ACTIONS(3), 1, + [7137] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(524), 17, + ACTIONS(553), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9214,6 +10779,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9224,10 +10790,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6659] = 2, - ACTIONS(3), 1, + [7162] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(526), 17, + ACTIONS(555), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9235,6 +10802,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9245,10 +10813,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6682] = 2, - ACTIONS(3), 1, + [7187] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(528), 17, + ACTIONS(557), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9256,6 +10825,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9266,10 +10836,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6705] = 2, - ACTIONS(3), 1, + [7212] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(530), 17, + ACTIONS(559), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9277,6 +10848,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9287,10 +10859,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6728] = 2, - ACTIONS(3), 1, + [7237] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(532), 17, + ACTIONS(561), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9298,6 +10871,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9308,10 +10882,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6751] = 2, - ACTIONS(3), 1, + [7262] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(534), 17, + ACTIONS(563), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9319,6 +10894,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9329,10 +10905,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6774] = 2, - ACTIONS(3), 1, + [7287] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(536), 17, + ACTIONS(565), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9340,6 +10917,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9350,10 +10928,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6797] = 2, - ACTIONS(3), 1, + [7312] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(538), 17, + ACTIONS(567), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9361,6 +10940,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9371,10 +10951,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6820] = 2, - ACTIONS(3), 1, + [7337] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(540), 17, + ACTIONS(569), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9382,6 +10963,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9392,10 +10974,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6843] = 2, - ACTIONS(3), 1, + [7362] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(542), 17, + ACTIONS(571), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9403,6 +10986,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9413,10 +10997,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6866] = 2, - ACTIONS(3), 1, + [7387] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(544), 17, + ACTIONS(573), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9424,6 +11009,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9434,10 +11020,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6889] = 2, - ACTIONS(3), 1, + [7412] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(546), 17, + ACTIONS(575), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9445,6 +11032,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9455,10 +11043,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6912] = 2, - ACTIONS(3), 1, + [7437] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(548), 17, + ACTIONS(577), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9466,6 +11055,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9476,10 +11066,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6935] = 2, - ACTIONS(3), 1, + [7462] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(550), 17, + ACTIONS(579), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9487,6 +11078,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9497,10 +11089,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6958] = 2, - ACTIONS(3), 1, + [7487] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(552), 17, + ACTIONS(581), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9508,6 +11101,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9518,10 +11112,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [6981] = 2, - ACTIONS(3), 1, + [7512] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(554), 17, + ACTIONS(583), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9529,6 +11124,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9539,10 +11135,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [7004] = 2, - ACTIONS(3), 1, + [7537] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(556), 17, + ACTIONS(585), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9550,6 +11147,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9560,10 +11158,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [7027] = 2, - ACTIONS(3), 1, + [7562] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(558), 17, + ACTIONS(587), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9571,6 +11170,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9581,10 +11181,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [7050] = 2, - ACTIONS(3), 1, + [7587] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(560), 17, + ACTIONS(589), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9592,6 +11193,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9602,10 +11204,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [7073] = 2, - ACTIONS(3), 1, + [7612] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(562), 17, + ACTIONS(591), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9613,6 +11216,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9623,10 +11227,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [7096] = 2, - ACTIONS(3), 1, + [7637] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(564), 17, + ACTIONS(593), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9634,6 +11239,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9644,10 +11250,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [7119] = 2, - ACTIONS(3), 1, + [7662] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(566), 17, + ACTIONS(595), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9655,6 +11262,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9665,10 +11273,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [7142] = 2, - ACTIONS(3), 1, + [7687] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(568), 17, + ACTIONS(597), 18, ts_builtin_sym_end, anon_sym_primitive, anon_sym_const, @@ -9676,6 +11285,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_override, anon_sym_abstract, anon_sym_ATname, + anon_sym_asm, anon_sym_fun, anon_sym_get, anon_sym_mutates, @@ -9686,12 +11296,100 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [7165] = 3, + [7712] = 10, ACTIONS(3), 1, - sym_comment, - ACTIONS(552), 1, + aux_sym_asm_list_token1, + ACTIONS(599), 1, + anon_sym_LBRACE, + ACTIONS(602), 1, anon_sym_RBRACE, - ACTIONS(570), 14, + ACTIONS(604), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(607), 1, + anon_sym_char, + ACTIONS(610), 1, + aux_sym__asm_instruction_token2, + ACTIONS(619), 1, + sym_comment, + ACTIONS(616), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(613), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(176), 5, + sym_asm_list, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_function_body_repeat1, + [7751] = 10, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(621), 1, + anon_sym_LBRACE, + ACTIONS(623), 1, + anon_sym_RBRACE, + ACTIONS(625), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(627), 1, + anon_sym_char, + ACTIONS(629), 1, + aux_sym__asm_instruction_token2, + ACTIONS(633), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(631), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(178), 5, + sym_asm_list, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_function_body_repeat1, + [7790] = 10, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(621), 1, + anon_sym_LBRACE, + ACTIONS(625), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(627), 1, + anon_sym_char, + ACTIONS(635), 1, + anon_sym_RBRACE, + ACTIONS(637), 1, + aux_sym__asm_instruction_token2, + ACTIONS(633), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(631), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(176), 5, + sym_asm_list, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_function_body_repeat1, + [7829] = 3, + ACTIONS(641), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(639), 14, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9706,12 +11404,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_bounced, anon_sym_external, sym_identifier, - [7188] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(544), 1, + [7853] = 3, + ACTIONS(645), 1, anon_sym_RBRACE, - ACTIONS(572), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(643), 14, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9726,12 +11425,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_bounced, anon_sym_external, sym_identifier, - [7211] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(576), 1, + [7877] = 3, + ACTIONS(649), 1, anon_sym_RBRACE, - ACTIONS(574), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(647), 14, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9746,12 +11446,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_bounced, anon_sym_external, sym_identifier, - [7234] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(580), 1, + [7901] = 3, + ACTIONS(237), 1, anon_sym_RBRACE, - ACTIONS(578), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(651), 14, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9766,12 +11467,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_bounced, anon_sym_external, sym_identifier, - [7257] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(532), 1, + [7925] = 3, + ACTIONS(655), 1, anon_sym_RBRACE, - ACTIONS(582), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(653), 14, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9786,12 +11488,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_bounced, anon_sym_external, sym_identifier, - [7280] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(586), 1, + [7949] = 3, + ACTIONS(659), 1, anon_sym_RBRACE, - ACTIONS(584), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(657), 14, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9806,12 +11509,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_bounced, anon_sym_external, sym_identifier, - [7303] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(590), 1, + [7973] = 3, + ACTIONS(663), 1, anon_sym_RBRACE, - ACTIONS(588), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(661), 14, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9826,12 +11530,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_bounced, anon_sym_external, sym_identifier, - [7326] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(594), 1, + [7997] = 3, + ACTIONS(667), 1, anon_sym_RBRACE, - ACTIONS(592), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(665), 14, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9846,12 +11551,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_bounced, anon_sym_external, sym_identifier, - [7349] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(516), 1, + [8021] = 3, + ACTIONS(671), 1, anon_sym_RBRACE, - ACTIONS(596), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(669), 14, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9866,12 +11572,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_bounced, anon_sym_external, sym_identifier, - [7372] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(568), 1, + [8045] = 3, + ACTIONS(675), 1, anon_sym_RBRACE, - ACTIONS(598), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(673), 14, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9886,12 +11593,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_bounced, anon_sym_external, sym_identifier, - [7395] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(554), 1, + [8069] = 3, + ACTIONS(679), 1, anon_sym_RBRACE, - ACTIONS(600), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(677), 14, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9906,12 +11614,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_bounced, anon_sym_external, sym_identifier, - [7418] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(558), 1, + [8093] = 3, + ACTIONS(683), 1, anon_sym_RBRACE, - ACTIONS(602), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(681), 14, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9926,12 +11635,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_bounced, anon_sym_external, sym_identifier, - [7441] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(500), 1, + [8117] = 3, + ACTIONS(280), 1, anon_sym_RBRACE, - ACTIONS(604), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(685), 13, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9941,17 +11651,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_mutates, anon_sym_extends, anon_sym_inline, - anon_sym_init, anon_sym_receive, anon_sym_bounced, anon_sym_external, sym_identifier, - [7464] = 3, + [8140] = 9, ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, sym_comment, - ACTIONS(502), 1, + ACTIONS(687), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(689), 1, + anon_sym_LPAREN_RBRACE_RPAREN, + ACTIONS(691), 1, + anon_sym_char, + ACTIONS(693), 1, + aux_sym__asm_instruction_token2, + ACTIONS(697), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(695), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(198), 4, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_list_repeat1, + [8175] = 3, + ACTIONS(701), 1, anon_sym_RBRACE, - ACTIONS(606), 14, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(699), 13, anon_sym_const, anon_sym_virtual, anon_sym_override, @@ -9961,2289 +11697,4075 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_mutates, anon_sym_extends, anon_sym_inline, - anon_sym_init, anon_sym_receive, anon_sym_bounced, anon_sym_external, sym_identifier, - [7487] = 3, + [8198] = 9, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(687), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(691), 1, + anon_sym_char, + ACTIONS(703), 1, + anon_sym_LPAREN_RBRACE_RPAREN, + ACTIONS(705), 1, + aux_sym__asm_instruction_token2, + ACTIONS(697), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(695), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(197), 4, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_list_repeat1, + [8233] = 9, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(687), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(691), 1, + anon_sym_char, + ACTIONS(707), 1, + anon_sym_LPAREN_RBRACE_RPAREN, + ACTIONS(709), 1, + aux_sym__asm_instruction_token2, + ACTIONS(697), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(695), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(196), 4, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_list_repeat1, + [8268] = 9, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(687), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(691), 1, + anon_sym_char, + ACTIONS(693), 1, + aux_sym__asm_instruction_token2, + ACTIONS(711), 1, + anon_sym_LPAREN_RBRACE_RPAREN, + ACTIONS(697), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(695), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(198), 4, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_list_repeat1, + [8303] = 9, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(687), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(691), 1, + anon_sym_char, + ACTIONS(693), 1, + aux_sym__asm_instruction_token2, + ACTIONS(713), 1, + anon_sym_LPAREN_RBRACE_RPAREN, + ACTIONS(697), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(695), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(198), 4, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_list_repeat1, + [8338] = 9, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(715), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(718), 1, + anon_sym_LPAREN_RBRACE_RPAREN, + ACTIONS(720), 1, + anon_sym_char, + ACTIONS(723), 1, + aux_sym__asm_instruction_token2, + ACTIONS(729), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(726), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(198), 4, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_list_repeat1, + [8373] = 9, ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, sym_comment, - ACTIONS(538), 1, + ACTIONS(732), 1, anon_sym_RBRACE, - ACTIONS(608), 14, - anon_sym_const, - anon_sym_virtual, - anon_sym_override, - anon_sym_abstract, - anon_sym_fun, - anon_sym_get, - anon_sym_mutates, - anon_sym_extends, - anon_sym_inline, - anon_sym_init, - anon_sym_receive, - anon_sym_bounced, - anon_sym_external, - sym_identifier, - [7510] = 3, + ACTIONS(734), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(736), 1, + anon_sym_char, + ACTIONS(738), 1, + aux_sym__asm_instruction_token2, + ACTIONS(742), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(740), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(202), 4, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_list_repeat1, + [8408] = 9, ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, sym_comment, - ACTIONS(526), 1, + ACTIONS(687), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(691), 1, + anon_sym_char, + ACTIONS(744), 1, + anon_sym_LPAREN_RBRACE_RPAREN, + ACTIONS(746), 1, + aux_sym__asm_instruction_token2, + ACTIONS(697), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(695), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(192), 4, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_list_repeat1, + [8443] = 9, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(734), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(736), 1, + anon_sym_char, + ACTIONS(748), 1, anon_sym_RBRACE, - ACTIONS(610), 14, - anon_sym_const, - anon_sym_virtual, - anon_sym_override, - anon_sym_abstract, - anon_sym_fun, - anon_sym_get, - anon_sym_mutates, - anon_sym_extends, - anon_sym_inline, - anon_sym_init, - anon_sym_receive, - anon_sym_bounced, - anon_sym_external, - sym_identifier, - [7533] = 3, + ACTIONS(750), 1, + aux_sym__asm_instruction_token2, + ACTIONS(742), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(740), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(199), 4, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_list_repeat1, + [8478] = 9, ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, sym_comment, - ACTIONS(614), 1, + ACTIONS(718), 1, anon_sym_RBRACE, - ACTIONS(612), 14, - anon_sym_const, + ACTIONS(752), 1, + anon_sym_LPAREN_LBRACE_RPAREN, + ACTIONS(755), 1, + anon_sym_char, + ACTIONS(758), 1, + aux_sym__asm_instruction_token2, + ACTIONS(764), 2, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + ACTIONS(761), 4, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + STATE(202), 4, + sym__asm_instruction, + sym__asm_string, + sym__asm_hex_literal, + aux_sym_asm_list_repeat1, + [8513] = 7, + ACTIONS(767), 1, + anon_sym_LPAREN, + ACTIONS(769), 1, + anon_sym_fun, + STATE(230), 1, + sym_asm_arrangement, + STATE(233), 1, + aux_sym_function_attributes_repeat1, + STATE(515), 1, + sym_function_attributes, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(21), 7, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - anon_sym_fun, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - anon_sym_init, - anon_sym_receive, - anon_sym_bounced, - anon_sym_external, - sym_identifier, - [7556] = 3, + [8542] = 3, ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, sym_comment, - ACTIONS(618), 1, + ACTIONS(771), 11, + anon_sym_LBRACE, anon_sym_RBRACE, - ACTIONS(616), 14, - anon_sym_const, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8562] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(773), 11, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8582] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(775), 11, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8602] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(777), 11, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8622] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(779), 11, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8642] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(781), 11, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8662] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(783), 11, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8682] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(785), 11, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8702] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(787), 11, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8722] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(789), 11, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8742] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(789), 10, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_LPAREN_RBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8761] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(789), 10, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8780] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(783), 10, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8799] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(785), 10, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_LPAREN_RBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8818] = 4, + STATE(218), 1, + aux_sym_function_attributes_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(794), 2, + anon_sym_native, + anon_sym_fun, + ACTIONS(791), 7, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - anon_sym_fun, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - anon_sym_init, - anon_sym_receive, - anon_sym_bounced, - anon_sym_external, - sym_identifier, - [7579] = 3, + [8839] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(783), 10, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_LPAREN_RBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8858] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(785), 10, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8877] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(771), 10, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_LPAREN_RBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8896] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(787), 10, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_LPAREN_RBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8915] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(779), 10, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8934] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(775), 10, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_LPAREN_RBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8953] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(771), 10, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8972] = 3, ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(781), 10, + anon_sym_RBRACE, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [8991] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(781), 10, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_LPAREN_RBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [9010] = 5, + ACTIONS(796), 1, + anon_sym_native, + STATE(233), 1, + aux_sym_function_attributes_repeat1, + STATE(480), 1, + sym_function_attributes, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(622), 1, - anon_sym_RBRACE, - ACTIONS(620), 14, - anon_sym_const, + ACTIONS(21), 7, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - anon_sym_fun, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - anon_sym_init, - anon_sym_receive, - anon_sym_bounced, - anon_sym_external, - sym_identifier, - [7602] = 3, - ACTIONS(3), 1, + [9033] = 3, + ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + ACTIONS(779), 10, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_LPAREN_RBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [9052] = 5, + ACTIONS(798), 1, + anon_sym_fun, + STATE(233), 1, + aux_sym_function_attributes_repeat1, + STATE(504), 1, + sym_function_attributes, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(626), 1, - anon_sym_RBRACE, - ACTIONS(624), 14, - anon_sym_const, + ACTIONS(21), 7, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - anon_sym_fun, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - anon_sym_init, - anon_sym_receive, - anon_sym_bounced, - anon_sym_external, - sym_identifier, - [7625] = 3, + [9075] = 3, ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, sym_comment, - ACTIONS(540), 1, + ACTIONS(787), 10, anon_sym_RBRACE, - ACTIONS(628), 14, - anon_sym_const, - anon_sym_virtual, - anon_sym_override, - anon_sym_abstract, - anon_sym_fun, - anon_sym_get, - anon_sym_mutates, - anon_sym_extends, - anon_sym_inline, - anon_sym_init, - anon_sym_receive, - anon_sym_bounced, - anon_sym_external, - sym_identifier, - [7648] = 3, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [9094] = 3, ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, sym_comment, - ACTIONS(632), 1, + ACTIONS(775), 10, anon_sym_RBRACE, - ACTIONS(630), 13, - anon_sym_const, + anon_sym_LPAREN_LBRACE_RPAREN, + anon_sym_char, + aux_sym__asm_instruction_token2, + anon_sym_abort_DQUOTE, + anon_sym_DOT_DQUOTE, + anon_sym_PLUS_DQUOTE, + anon_sym_DQUOTE, + anon_sym_x_LBRACE, + anon_sym_B_LBRACE, + [9113] = 4, + STATE(218), 1, + aux_sym_function_attributes_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(802), 2, + anon_sym_native, + anon_sym_fun, + ACTIONS(800), 7, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - anon_sym_fun, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - anon_sym_receive, - anon_sym_bounced, - anon_sym_external, - sym_identifier, - [7670] = 3, - ACTIONS(3), 1, + [9134] = 3, + ACTIONS(804), 1, + anon_sym_EQ, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(636), 1, - anon_sym_RBRACE, - ACTIONS(634), 13, + ACTIONS(806), 8, + anon_sym_PLUS_EQ, + anon_sym_DASH_EQ, + anon_sym_STAR_EQ, + anon_sym_SLASH_EQ, + anon_sym_PERCENT_EQ, + anon_sym_AMP_EQ, + anon_sym_PIPE_EQ, + anon_sym_CARET_EQ, + [9152] = 4, + ACTIONS(808), 1, anon_sym_const, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(810), 3, anon_sym_virtual, anon_sym_override, anon_sym_abstract, + ACTIONS(813), 5, anon_sym_fun, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - anon_sym_receive, - anon_sym_bounced, - anon_sym_external, - sym_identifier, - [7692] = 4, - ACTIONS(3), 1, + [9172] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - STATE(187), 1, - aux_sym_function_attributes_repeat1, - ACTIONS(641), 2, - anon_sym_native, - anon_sym_fun, - ACTIONS(638), 7, + ACTIONS(815), 8, anon_sym_virtual, anon_sym_override, anon_sym_abstract, + anon_sym_fun, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - [7712] = 5, - ACTIONS(3), 1, + [9187] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(643), 1, - anon_sym_native, - STATE(189), 1, - aux_sym_function_attributes_repeat1, - STATE(336), 1, - sym_function_attributes, - ACTIONS(19), 7, + ACTIONS(817), 8, anon_sym_virtual, anon_sym_override, anon_sym_abstract, + anon_sym_fun, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - [7734] = 4, - ACTIONS(3), 1, + [9202] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - STATE(187), 1, - aux_sym_function_attributes_repeat1, - ACTIONS(647), 2, - anon_sym_native, - anon_sym_fun, - ACTIONS(645), 7, + ACTIONS(819), 8, anon_sym_virtual, anon_sym_override, anon_sym_abstract, + anon_sym_fun, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - [7754] = 4, - ACTIONS(3), 1, + [9217] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(649), 1, - anon_sym_const, - ACTIONS(651), 3, + ACTIONS(821), 8, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - ACTIONS(654), 5, anon_sym_fun, anon_sym_get, anon_sym_mutates, anon_sym_extends, anon_sym_inline, - [7773] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(656), 1, - anon_sym_EQ, - ACTIONS(658), 8, - anon_sym_PLUS_EQ, - anon_sym_DASH_EQ, - anon_sym_STAR_EQ, - anon_sym_SLASH_EQ, - anon_sym_PERCENT_EQ, - anon_sym_AMP_EQ, - anon_sym_PIPE_EQ, - anon_sym_CARET_EQ, - [7790] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(662), 1, + [9232] = 3, + ACTIONS(825), 1, anon_sym_QMARK, - ACTIONS(660), 7, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(823), 7, anon_sym_SEMI, anon_sym_EQ, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_as, - [7806] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(664), 1, + [9249] = 5, + ACTIONS(827), 1, anon_sym_bounced, - ACTIONS(666), 1, + ACTIONS(829), 1, anon_sym_map, - ACTIONS(668), 1, + ACTIONS(831), 1, sym__type_identifier, - STATE(214), 4, - sym__type, - sym_map_type, - sym_bounced_type, - sym__simple_type, - [7825] = 5, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(664), 1, - anon_sym_bounced, - ACTIONS(666), 1, - anon_sym_map, - ACTIONS(668), 1, - sym__type_identifier, - STATE(258), 4, + STATE(288), 4, sym__type, sym_map_type, sym_bounced_type, sym__simple_type, - [7844] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(664), 1, + [9269] = 5, + ACTIONS(827), 1, anon_sym_bounced, - ACTIONS(666), 1, + ACTIONS(829), 1, anon_sym_map, - ACTIONS(668), 1, + ACTIONS(831), 1, sym__type_identifier, - STATE(244), 4, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(388), 4, sym__type, sym_map_type, sym_bounced_type, sym__simple_type, - [7863] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(664), 1, + [9289] = 5, + ACTIONS(827), 1, anon_sym_bounced, - ACTIONS(666), 1, + ACTIONS(829), 1, anon_sym_map, - ACTIONS(668), 1, + ACTIONS(831), 1, sym__type_identifier, - STATE(347), 4, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(337), 4, sym__type, sym_map_type, sym_bounced_type, sym__simple_type, - [7882] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(670), 7, - anon_sym_SEMI, - anon_sym_EQ, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_LBRACE, - anon_sym_RBRACE, - anon_sym_as, - [7895] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(664), 1, + [9309] = 5, + ACTIONS(827), 1, anon_sym_bounced, - ACTIONS(666), 1, + ACTIONS(829), 1, anon_sym_map, - ACTIONS(668), 1, + ACTIONS(831), 1, sym__type_identifier, - STATE(363), 4, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(384), 4, sym__type, sym_map_type, sym_bounced_type, sym__simple_type, - [7914] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(664), 1, + [9329] = 5, + ACTIONS(827), 1, anon_sym_bounced, - ACTIONS(666), 1, + ACTIONS(829), 1, anon_sym_map, - ACTIONS(668), 1, + ACTIONS(831), 1, sym__type_identifier, - STATE(254), 4, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(349), 4, sym__type, sym_map_type, sym_bounced_type, sym__simple_type, - [7933] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(664), 1, + [9349] = 5, + ACTIONS(827), 1, anon_sym_bounced, - ACTIONS(666), 1, + ACTIONS(829), 1, anon_sym_map, - ACTIONS(668), 1, + ACTIONS(831), 1, sym__type_identifier, - STATE(296), 4, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(301), 4, sym__type, sym_map_type, sym_bounced_type, sym__simple_type, - [7952] = 5, - ACTIONS(3), 1, + [9369] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(664), 1, + ACTIONS(833), 7, + anon_sym_SEMI, + anon_sym_EQ, + anon_sym_RPAREN, + anon_sym_LBRACE, + anon_sym_RBRACE, + anon_sym_COMMA, + anon_sym_as, + [9383] = 5, + ACTIONS(827), 1, anon_sym_bounced, - ACTIONS(666), 1, + ACTIONS(829), 1, anon_sym_map, - ACTIONS(668), 1, + ACTIONS(831), 1, sym__type_identifier, - STATE(334), 4, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(375), 4, sym__type, sym_map_type, sym_bounced_type, sym__simple_type, - [7971] = 2, - ACTIONS(3), 1, + [9403] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(672), 7, + ACTIONS(835), 7, anon_sym_SEMI, anon_sym_EQ, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_as, - [7984] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(664), 1, + [9417] = 5, + ACTIONS(827), 1, anon_sym_bounced, - ACTIONS(666), 1, + ACTIONS(829), 1, anon_sym_map, - ACTIONS(668), 1, + ACTIONS(831), 1, sym__type_identifier, - STATE(290), 4, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(379), 4, sym__type, sym_map_type, sym_bounced_type, sym__simple_type, - [8003] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(664), 1, + [9437] = 5, + ACTIONS(827), 1, anon_sym_bounced, - ACTIONS(666), 1, + ACTIONS(829), 1, anon_sym_map, - ACTIONS(668), 1, + ACTIONS(831), 1, sym__type_identifier, - STATE(319), 4, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(307), 4, sym__type, sym_map_type, sym_bounced_type, sym__simple_type, - [8022] = 2, - ACTIONS(3), 1, + [9457] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(674), 7, + ACTIONS(837), 7, anon_sym_SEMI, anon_sym_EQ, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_as, - [8035] = 2, - ACTIONS(3), 1, + [9471] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(676), 7, + ACTIONS(839), 7, anon_sym_SEMI, anon_sym_EQ, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_as, - [8048] = 2, - ACTIONS(3), 1, + [9485] = 5, + ACTIONS(827), 1, + anon_sym_bounced, + ACTIONS(829), 1, + anon_sym_map, + ACTIONS(831), 1, + sym__type_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(678), 7, + STATE(462), 4, + sym__type, + sym_map_type, + sym_bounced_type, + sym__simple_type, + [9505] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(841), 7, anon_sym_SEMI, anon_sym_EQ, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_as, - [8061] = 2, - ACTIONS(3), 1, + [9519] = 5, + ACTIONS(827), 1, + anon_sym_bounced, + ACTIONS(829), 1, + anon_sym_map, + ACTIONS(831), 1, + sym__type_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(272), 4, + sym__type, + sym_map_type, + sym_bounced_type, + sym__simple_type, + [9539] = 5, + ACTIONS(827), 1, + anon_sym_bounced, + ACTIONS(829), 1, + anon_sym_map, + ACTIONS(831), 1, + sym__type_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(380), 4, + sym__type, + sym_map_type, + sym_bounced_type, + sym__simple_type, + [9559] = 5, + ACTIONS(827), 1, + anon_sym_bounced, + ACTIONS(829), 1, + anon_sym_map, + ACTIONS(831), 1, + sym__type_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(297), 4, + sym__type, + sym_map_type, + sym_bounced_type, + sym__simple_type, + [9579] = 5, + ACTIONS(827), 1, + anon_sym_bounced, + ACTIONS(829), 1, + anon_sym_map, + ACTIONS(831), 1, + sym__type_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(495), 4, + sym__type, + sym_map_type, + sym_bounced_type, + sym__simple_type, + [9599] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(680), 7, + ACTIONS(843), 7, anon_sym_SEMI, anon_sym_EQ, anon_sym_RPAREN, - anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_as, - [8074] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(664), 1, + [9613] = 5, + ACTIONS(827), 1, anon_sym_bounced, - ACTIONS(666), 1, + ACTIONS(829), 1, anon_sym_map, - ACTIONS(668), 1, + ACTIONS(831), 1, sym__type_identifier, - STATE(284), 4, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(425), 4, sym__type, sym_map_type, sym_bounced_type, sym__simple_type, - [8093] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(664), 1, + [9633] = 5, + ACTIONS(827), 1, anon_sym_bounced, - ACTIONS(666), 1, + ACTIONS(829), 1, anon_sym_map, - ACTIONS(668), 1, + ACTIONS(831), 1, sym__type_identifier, - STATE(267), 4, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(295), 4, sym__type, sym_map_type, sym_bounced_type, sym__simple_type, - [8112] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(664), 1, + [9653] = 5, + ACTIONS(827), 1, anon_sym_bounced, - ACTIONS(666), 1, + ACTIONS(829), 1, anon_sym_map, - ACTIONS(668), 1, + ACTIONS(831), 1, sym__type_identifier, - STATE(300), 4, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(287), 4, sym__type, sym_map_type, sym_bounced_type, sym__simple_type, - [8131] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(682), 1, - anon_sym_const, - STATE(212), 1, - aux_sym_constant_attributes_repeat1, - ACTIONS(684), 3, - anon_sym_virtual, - anon_sym_override, - anon_sym_abstract, - [8146] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(61), 1, + [9673] = 7, + ACTIONS(845), 1, + sym_identifier, + ACTIONS(847), 1, + anon_sym_RPAREN, + ACTIONS(849), 1, + anon_sym_DASH_GT, + STATE(292), 1, + aux_sym_asm_arrangement_args_repeat1, + STATE(296), 1, + sym_asm_arrangement_args, + STATE(506), 1, + sym_asm_arrangement_rets, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [9696] = 5, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(687), 1, + ACTIONS(851), 1, sym_identifier, - ACTIONS(689), 1, + ACTIONS(853), 1, anon_sym_RPAREN, - STATE(392), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(420), 2, sym_parameter, sym_string, - [8163] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(693), 1, - anon_sym_EQ, - ACTIONS(695), 1, - anon_sym_as, - STATE(265), 1, - sym_tlb_serialization, - ACTIONS(691), 2, + [9714] = 5, + ACTIONS(93), 1, + anon_sym_LBRACE, + ACTIONS(857), 1, + anon_sym_COLON, + STATE(184), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(855), 2, anon_sym_SEMI, anon_sym_RBRACE, - [8180] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(697), 1, + [9732] = 4, + ACTIONS(859), 1, anon_sym_const, - STATE(212), 1, + STATE(267), 1, aux_sym_constant_attributes_repeat1, - ACTIONS(699), 3, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(861), 3, anon_sym_virtual, anon_sym_override, anon_sym_abstract, - [8195] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(61), 1, + [9748] = 5, + ACTIONS(97), 1, anon_sym_DQUOTE, - ACTIONS(687), 1, + ACTIONS(851), 1, sym_identifier, - ACTIONS(701), 1, + ACTIONS(864), 1, anon_sym_RPAREN, - STATE(394), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(455), 2, sym_parameter, sym_string, - [8212] = 2, - ACTIONS(3), 1, + [9766] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(703), 5, + ACTIONS(866), 5, anon_sym_SEMI, anon_sym_EQ, - anon_sym_COMMA, anon_sym_RBRACE, + anon_sym_COMMA, anon_sym_GT, - [8223] = 4, - ACTIONS(705), 1, - anon_sym_DQUOTE2, - ACTIONS(709), 1, + [9778] = 4, + ACTIONS(868), 1, + anon_sym_const, + STATE(267), 1, + aux_sym_constant_attributes_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - STATE(227), 1, - aux_sym_string_repeat1, - ACTIONS(707), 2, - sym__non_quote_or_backslash_char, - sym_escape_sequence, - [8237] = 5, - ACTIONS(3), 1, + ACTIONS(870), 3, + anon_sym_virtual, + anon_sym_override, + anon_sym_abstract, + [9794] = 5, + ACTIONS(93), 1, + anon_sym_LBRACE, + ACTIONS(874), 1, + anon_sym_COLON, + STATE(183), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(711), 1, + ACTIONS(872), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [9812] = 5, + ACTIONS(878), 1, + anon_sym_EQ, + ACTIONS(880), 1, + anon_sym_as, + STATE(299), 1, + sym_tlb_serialization, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(876), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [9830] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(882), 4, + anon_sym_SEMI, + anon_sym_COLON, anon_sym_LBRACE, - ACTIONS(713), 1, - anon_sym_with, - STATE(154), 1, - sym_trait_body, - STATE(288), 1, - sym_trait_list, - [8253] = 4, - ACTIONS(3), 1, + anon_sym_RBRACE, + [9841] = 5, + ACTIONS(884), 1, + anon_sym_SEMI, + ACTIONS(886), 1, + anon_sym_COLON, + ACTIONS(888), 1, + anon_sym_LBRACE, + STATE(170), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, + [9858] = 4, + ACTIONS(93), 1, anon_sym_LBRACE, - ACTIONS(715), 1, + ACTIONS(890), 1, anon_sym_if, - STATE(92), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + STATE(96), 2, sym_block_statement, sym_if_statement, - [8267] = 5, - ACTIONS(3), 1, + [9873] = 4, + ACTIONS(892), 1, + sym_identifier, + STATE(276), 1, + aux_sym_asm_arrangement_args_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(713), 1, + ACTIONS(895), 2, + anon_sym_RPAREN, + anon_sym_DASH_GT, + [9888] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(897), 4, + anon_sym_SEMI, + anon_sym_COLON, + anon_sym_LBRACE, + anon_sym_RBRACE, + [9899] = 5, + ACTIONS(899), 1, + anon_sym_LBRACE, + ACTIONS(901), 1, + anon_sym_with, + STATE(144), 1, + sym_trait_body, + STATE(354), 1, + sym_trait_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [9916] = 5, + ACTIONS(901), 1, anon_sym_with, - ACTIONS(717), 1, + ACTIONS(903), 1, anon_sym_LBRACE, - STATE(127), 1, + STATE(162), 1, sym_contract_body, - STATE(286), 1, + STATE(370), 1, sym_trait_list, - [8283] = 5, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [9933] = 4, + ACTIONS(31), 1, + anon_sym_ATinterface, + STATE(289), 1, + aux_sym_contract_attributes_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(905), 2, + anon_sym_contract, + anon_sym_trait, + [9948] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(719), 1, + ACTIONS(907), 4, anon_sym_SEMI, - ACTIONS(721), 1, anon_sym_COLON, - ACTIONS(723), 1, anon_sym_LBRACE, - STATE(129), 1, - sym_block_statement, - [8299] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(35), 1, + anon_sym_RBRACE, + [9959] = 5, + ACTIONS(901), 1, + anon_sym_with, + ACTIONS(903), 1, anon_sym_LBRACE, - ACTIONS(725), 1, - anon_sym_SEMI, - ACTIONS(727), 1, - anon_sym_COLON, - STATE(164), 1, - sym_block_statement, - [8315] = 5, - ACTIONS(3), 1, + STATE(140), 1, + sym_contract_body, + STATE(417), 1, + sym_trait_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, + [9976] = 5, + ACTIONS(888), 1, anon_sym_LBRACE, - ACTIONS(729), 1, + ACTIONS(909), 1, anon_sym_SEMI, - ACTIONS(731), 1, + ACTIONS(911), 1, anon_sym_COLON, - STATE(176), 1, + STATE(126), 1, sym_block_statement, - [8331] = 5, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(723), 1, - anon_sym_LBRACE, - ACTIONS(733), 1, - anon_sym_SEMI, - ACTIONS(735), 1, - anon_sym_COLON, - STATE(155), 1, - sym_block_statement, - [8347] = 4, - ACTIONS(3), 1, + [9993] = 4, + ACTIONS(913), 1, + anon_sym_DQUOTE2, + STATE(286), 1, + aux_sym_string_repeat1, + ACTIONS(619), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(739), 1, - anon_sym_ATinterface, - STATE(226), 1, - aux_sym_contract_attributes_repeat1, - ACTIONS(737), 2, - anon_sym_contract, - anon_sym_trait, - [8361] = 4, - ACTIONS(709), 1, + ACTIONS(915), 2, + sym__non_quote_or_backslash_char, + sym_escape_sequence, + [10008] = 5, + ACTIONS(899), 1, + anon_sym_LBRACE, + ACTIONS(901), 1, + anon_sym_with, + STATE(142), 1, + sym_trait_body, + STATE(416), 1, + sym_trait_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(742), 1, + [10025] = 4, + ACTIONS(917), 1, anon_sym_DQUOTE2, - STATE(227), 1, + STATE(286), 1, aux_sym_string_repeat1, - ACTIONS(744), 2, + ACTIONS(619), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(919), 2, sym__non_quote_or_backslash_char, sym_escape_sequence, - [8375] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(713), 1, - anon_sym_with, - ACTIONS(717), 1, + [10040] = 4, + ACTIONS(93), 1, anon_sym_LBRACE, - STATE(150), 1, - sym_contract_body, - STATE(328), 1, - sym_trait_list, - [8391] = 5, - ACTIONS(3), 1, + STATE(189), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(711), 1, + ACTIONS(922), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [10055] = 4, + ACTIONS(93), 1, anon_sym_LBRACE, - ACTIONS(713), 1, - anon_sym_with, - STATE(128), 1, - sym_trait_body, - STATE(327), 1, - sym_trait_list, - [8407] = 4, - ACTIONS(3), 1, + STATE(188), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(29), 1, + ACTIONS(924), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [10070] = 4, + ACTIONS(928), 1, anon_sym_ATinterface, - STATE(226), 1, + STATE(289), 1, aux_sym_contract_attributes_repeat1, - ACTIONS(747), 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(926), 2, anon_sym_contract, anon_sym_trait, - [8421] = 4, - ACTIONS(709), 1, - sym_comment, - ACTIONS(749), 1, + [10085] = 4, + ACTIONS(931), 1, anon_sym_DQUOTE2, - STATE(218), 1, + STATE(284), 1, aux_sym_string_repeat1, - ACTIONS(751), 2, + ACTIONS(619), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(933), 2, sym__non_quote_or_backslash_char, sym_escape_sequence, - [8435] = 2, - ACTIONS(3), 1, + [10100] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(753), 3, + ACTIONS(935), 4, anon_sym_SEMI, anon_sym_COLON, anon_sym_LBRACE, - [8444] = 4, - ACTIONS(3), 1, + anon_sym_RBRACE, + [10111] = 4, + ACTIONS(937), 1, + sym_identifier, + STATE(276), 1, + aux_sym_asm_arrangement_args_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(202), 1, + ACTIONS(939), 2, anon_sym_RPAREN, - ACTIONS(755), 1, + anon_sym_DASH_GT, + [10126] = 4, + ACTIONS(941), 1, + anon_sym_COLON, + ACTIONS(943), 1, + anon_sym_LBRACE, + STATE(154), 1, + sym_asm_function_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10140] = 4, + ACTIONS(945), 1, + sym_identifier, + ACTIONS(947), 1, + anon_sym_RBRACE, + STATE(351), 1, + sym_instance_argument, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10154] = 3, + ACTIONS(951), 1, + anon_sym_EQ, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(949), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [10166] = 4, + ACTIONS(849), 1, + anon_sym_DASH_GT, + ACTIONS(953), 1, + anon_sym_RPAREN, + STATE(497), 1, + sym_asm_arrangement_rets, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10180] = 4, + ACTIONS(888), 1, + anon_sym_LBRACE, + ACTIONS(955), 1, + anon_sym_SEMI, + STATE(141), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10194] = 4, + ACTIONS(957), 1, + anon_sym_RBRACE, + ACTIONS(959), 1, + anon_sym_COMMA, + STATE(298), 1, + aux_sym_instance_argument_list_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10208] = 3, + ACTIONS(964), 1, + anon_sym_EQ, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(962), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [10220] = 4, + ACTIONS(966), 1, + anon_sym_LBRACE, + ACTIONS(968), 1, + anon_sym_COMMA, + STATE(300), 1, + aux_sym_trait_list_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10234] = 4, + ACTIONS(888), 1, + anon_sym_LBRACE, + ACTIONS(971), 1, + anon_sym_SEMI, + STATE(132), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10248] = 4, + ACTIONS(973), 1, + anon_sym_RPAREN, + ACTIONS(975), 1, + anon_sym_COMMA, + STATE(335), 1, + aux_sym_parameter_list_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10262] = 4, + ACTIONS(851), 1, + sym_identifier, + ACTIONS(973), 1, + anon_sym_RPAREN, + STATE(378), 1, + sym_parameter, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10276] = 4, + ACTIONS(977), 1, + anon_sym_SEMI, + ACTIONS(979), 1, + anon_sym_RBRACE, + STATE(315), 1, + aux_sym_struct_body_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10290] = 4, + ACTIONS(981), 1, + anon_sym_RPAREN, + ACTIONS(983), 1, anon_sym_COMMA, - STATE(238), 1, + STATE(305), 1, aux_sym_argument_list_repeat1, - [8457] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10304] = 4, + ACTIONS(851), 1, + sym_identifier, + ACTIONS(986), 1, + anon_sym_RPAREN, + STATE(378), 1, + sym_parameter, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10318] = 3, + ACTIONS(990), 1, + anon_sym_EQ, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(988), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [10330] = 4, + ACTIONS(943), 1, + anon_sym_LBRACE, + ACTIONS(992), 1, + anon_sym_COLON, + STATE(129), 1, + sym_asm_function_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10344] = 4, + ACTIONS(994), 1, + anon_sym_RPAREN, + ACTIONS(996), 1, + anon_sym_COMMA, + STATE(302), 1, + aux_sym_parameter_list_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10358] = 4, + ACTIONS(943), 1, + anon_sym_LBRACE, + ACTIONS(998), 1, + anon_sym_COLON, + STATE(136), 1, + sym_asm_function_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10372] = 4, + ACTIONS(1000), 1, + anon_sym_SEMI, + ACTIONS(1003), 1, + anon_sym_RBRACE, + STATE(311), 1, + aux_sym_struct_body_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10386] = 4, + ACTIONS(1005), 1, + sym_identifier, + ACTIONS(1007), 1, + anon_sym_RBRACE, + STATE(364), 1, + sym_field, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10400] = 4, + ACTIONS(1009), 1, + anon_sym_RBRACE, + ACTIONS(1011), 1, + anon_sym_COMMA, + STATE(298), 1, + aux_sym_instance_argument_list_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10414] = 4, + ACTIONS(1005), 1, + sym_identifier, + ACTIONS(1013), 1, + anon_sym_RBRACE, + STATE(364), 1, + sym_field, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(757), 3, + [10428] = 4, + ACTIONS(1013), 1, + anon_sym_RBRACE, + ACTIONS(1015), 1, anon_sym_SEMI, - anon_sym_COLON, - anon_sym_LBRACE, - [8466] = 4, - ACTIONS(3), 1, + STATE(311), 1, + aux_sym_struct_body_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(759), 1, + [10442] = 4, + ACTIONS(945), 1, sym_identifier, - ACTIONS(761), 1, + ACTIONS(1009), 1, anon_sym_RBRACE, - STATE(329), 1, + STATE(351), 1, sym_instance_argument, - [8479] = 4, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(687), 1, - sym_identifier, - ACTIONS(763), 1, + [10456] = 4, + ACTIONS(262), 1, anon_sym_RPAREN, - STATE(330), 1, - sym_parameter, - [8492] = 4, - ACTIONS(3), 1, + ACTIONS(1017), 1, + anon_sym_COMMA, + STATE(305), 1, + aux_sym_argument_list_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(765), 1, + [10470] = 4, + ACTIONS(1019), 1, anon_sym_RPAREN, - ACTIONS(767), 1, - anon_sym_COMMA, - STATE(237), 1, - aux_sym_parameter_list_repeat1, - [8505] = 4, - ACTIONS(3), 1, + ACTIONS(1021), 1, + sym__decimal_integer, + STATE(318), 1, + aux_sym_asm_arrangement_rets_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(770), 1, + [10484] = 4, + ACTIONS(851), 1, + sym_identifier, + ACTIONS(1024), 1, anon_sym_RPAREN, - ACTIONS(772), 1, - anon_sym_COMMA, - STATE(238), 1, - aux_sym_argument_list_repeat1, - [8518] = 3, - ACTIONS(709), 1, + STATE(309), 1, + sym_parameter, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - STATE(376), 1, - sym_func_identifier, - ACTIONS(775), 2, - sym__func_quoted_id, - sym__func_plain_id, - [8529] = 4, - ACTIONS(3), 1, + [10498] = 4, + ACTIONS(1005), 1, + sym_identifier, + ACTIONS(1026), 1, + anon_sym_RBRACE, + STATE(304), 1, + sym_field, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(777), 1, + [10512] = 4, + ACTIONS(1028), 1, anon_sym_LPAREN, - ACTIONS(779), 1, + ACTIONS(1030), 1, sym__type_identifier, - STATE(391), 1, + STATE(513), 1, sym_message_value, - [8542] = 4, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(687), 1, - sym_identifier, - ACTIONS(781), 1, - anon_sym_RPAREN, - STATE(330), 1, - sym_parameter, - [8555] = 4, - ACTIONS(3), 1, + [10526] = 4, + ACTIONS(1032), 1, + anon_sym_LBRACE, + ACTIONS(1034), 1, + anon_sym_COMMA, + STATE(300), 1, + aux_sym_trait_list_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(759), 1, - sym_identifier, - ACTIONS(783), 1, - anon_sym_RBRACE, - STATE(271), 1, - sym_instance_argument, - [8568] = 4, - ACTIONS(3), 1, + [10540] = 4, + ACTIONS(880), 1, + anon_sym_as, + ACTIONS(1036), 1, + anon_sym_COMMA, + STATE(448), 1, + sym_tlb_serialization, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(781), 1, + [10554] = 4, + ACTIONS(1038), 1, anon_sym_RPAREN, - ACTIONS(785), 1, + ACTIONS(1040), 1, anon_sym_COMMA, - STATE(237), 1, - aux_sym_parameter_list_repeat1, - [8581] = 4, - ACTIONS(3), 1, + STATE(317), 1, + aux_sym_argument_list_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(723), 1, - anon_sym_LBRACE, - ACTIONS(787), 1, - anon_sym_SEMI, - STATE(148), 1, - sym_block_statement, - [8594] = 4, - ACTIONS(3), 1, + [10568] = 4, + ACTIONS(880), 1, + anon_sym_as, + ACTIONS(1042), 1, + anon_sym_GT, + STATE(460), 1, + sym_tlb_serialization, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(789), 1, - anon_sym_SEMI, - ACTIONS(791), 1, + [10582] = 3, + ACTIONS(1044), 1, + anon_sym_COLON, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(1046), 2, anon_sym_RBRACE, - STATE(260), 1, - aux_sym_struct_body_repeat1, - [8607] = 4, - ACTIONS(3), 1, + anon_sym_COMMA, + [10594] = 4, + ACTIONS(1048), 1, + anon_sym_RBRACE, + ACTIONS(1050), 1, + anon_sym_COMMA, + STATE(313), 1, + aux_sym_instance_argument_list_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(695), 1, + [10608] = 4, + ACTIONS(945), 1, + sym_identifier, + ACTIONS(1052), 1, + anon_sym_RBRACE, + STATE(327), 1, + sym_instance_argument, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10622] = 4, + ACTIONS(880), 1, anon_sym_as, - ACTIONS(793), 1, + ACTIONS(1054), 1, anon_sym_GT, - STATE(345), 1, + STATE(424), 1, sym_tlb_serialization, - [8620] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10636] = 4, + ACTIONS(943), 1, + anon_sym_LBRACE, + ACTIONS(1056), 1, + anon_sym_COLON, + STATE(152), 1, + sym_asm_function_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10650] = 4, ACTIONS(3), 1, + aux_sym_asm_list_token1, + ACTIONS(619), 1, + sym_comment, + STATE(507), 1, + sym_func_identifier, + ACTIONS(1058), 2, + sym__func_quoted_id, + sym__func_plain_id, + [10664] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(795), 3, + ACTIONS(1060), 3, anon_sym_contract, anon_sym_trait, anon_sym_ATinterface, - [8629] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(797), 1, - sym_identifier, - ACTIONS(799), 1, - anon_sym_RBRACE, + [10674] = 4, + ACTIONS(1062), 1, + anon_sym_RPAREN, + ACTIONS(1064), 1, + sym__decimal_integer, STATE(318), 1, - sym_field, - [8642] = 4, - ACTIONS(3), 1, + aux_sym_asm_arrangement_rets_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10688] = 4, + ACTIONS(1066), 1, + anon_sym_LBRACE, + ACTIONS(1068), 1, + anon_sym_COMMA, + STATE(322), 1, + aux_sym_trait_list_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(801), 1, + [10702] = 4, + ACTIONS(1070), 1, + anon_sym_RPAREN, + ACTIONS(1072), 1, + anon_sym_COMMA, + STATE(335), 1, + aux_sym_parameter_list_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10716] = 3, + ACTIONS(1075), 1, anon_sym_SEMI, - ACTIONS(804), 1, + ACTIONS(1077), 1, anon_sym_RBRACE, - STATE(249), 1, - aux_sym_struct_body_repeat1, - [8655] = 4, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(806), 1, - anon_sym_COMMA, - ACTIONS(808), 1, + [10727] = 3, + ACTIONS(943), 1, anon_sym_LBRACE, - STATE(262), 1, - aux_sym_trait_list_repeat1, - [8668] = 4, - ACTIONS(3), 1, + STATE(137), 1, + sym_asm_function_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10738] = 3, + ACTIONS(1079), 1, + anon_sym_LBRACE, + STATE(147), 1, + sym_struct_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10749] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(810), 1, + ACTIONS(981), 2, + anon_sym_RPAREN, anon_sym_COMMA, - ACTIONS(812), 1, - anon_sym_RBRACE, - STATE(253), 1, - aux_sym_instance_argument_list_repeat1, - [8681] = 4, - ACTIONS(3), 1, + [10758] = 3, + ACTIONS(1079), 1, + anon_sym_LBRACE, + STATE(148), 1, + sym_struct_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10769] = 3, + ACTIONS(1081), 1, + anon_sym_LPAREN, + STATE(274), 1, + sym_parameter_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(759), 1, + [10780] = 3, + ACTIONS(851), 1, sym_identifier, - ACTIONS(812), 1, + STATE(378), 1, + sym_parameter, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10791] = 3, + ACTIONS(127), 1, anon_sym_RBRACE, - STATE(329), 1, - sym_instance_argument, - [8694] = 4, + ACTIONS(1083), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10802] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(814), 1, - anon_sym_COMMA, - ACTIONS(817), 1, + ACTIONS(1085), 1, anon_sym_RBRACE, - STATE(253), 1, - aux_sym_instance_argument_list_repeat1, - [8707] = 4, - ACTIONS(3), 1, + ACTIONS(1087), 1, + aux_sym_asm_list_token1, + ACTIONS(1089), 1, + anon_sym__, + [10815] = 3, + ACTIONS(97), 1, + anon_sym_DQUOTE, + STATE(501), 1, + sym_string, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, - anon_sym_LBRACE, - ACTIONS(819), 1, + [10826] = 3, + ACTIONS(1083), 1, anon_sym_SEMI, - STATE(174), 1, - sym_block_statement, - [8720] = 4, - ACTIONS(3), 1, + ACTIONS(1091), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(821), 1, - anon_sym_RPAREN, - ACTIONS(823), 1, - anon_sym_COMMA, - STATE(243), 1, - aux_sym_parameter_list_repeat1, - [8733] = 2, - ACTIONS(3), 1, + [10837] = 3, + ACTIONS(1093), 1, + sym_identifier, + ACTIONS(1095), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(825), 3, + [10848] = 3, + ACTIONS(1097), 1, anon_sym_SEMI, + ACTIONS(1099), 1, anon_sym_COLON, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10859] = 3, + ACTIONS(943), 1, anon_sym_LBRACE, - [8742] = 4, - ACTIONS(3), 1, + STATE(168), 1, + sym_asm_function_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(827), 1, + [10870] = 3, + ACTIONS(1081), 1, + anon_sym_LPAREN, + STATE(377), 1, + sym_parameter_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10881] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(957), 2, + anon_sym_RBRACE, anon_sym_COMMA, - ACTIONS(830), 1, - anon_sym_LBRACE, - STATE(257), 1, - aux_sym_trait_list_repeat1, - [8755] = 4, + [10890] = 3, + ACTIONS(1101), 1, + anon_sym_contract, + ACTIONS(1103), 1, + anon_sym_trait, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10901] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(723), 1, + ACTIONS(1105), 1, + anon_sym_RBRACE, + ACTIONS(1107), 1, + aux_sym_asm_list_token1, + ACTIONS(1109), 1, + anon_sym__, + [10914] = 3, + ACTIONS(899), 1, anon_sym_LBRACE, - ACTIONS(832), 1, - anon_sym_SEMI, - STATE(156), 1, - sym_block_statement, - [8768] = 4, - ACTIONS(3), 1, + STATE(135), 1, + sym_trait_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10925] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + ACTIONS(966), 2, + anon_sym_LBRACE, + anon_sym_COMMA, + [10934] = 3, + ACTIONS(1081), 1, + anon_sym_LPAREN, + STATE(266), 1, + sym_parameter_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(797), 1, + [10945] = 3, + ACTIONS(1005), 1, sym_identifier, - ACTIONS(834), 1, - anon_sym_RBRACE, - STATE(318), 1, + STATE(364), 1, sym_field, - [8781] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(834), 1, - anon_sym_RBRACE, - ACTIONS(836), 1, - anon_sym_SEMI, - STATE(249), 1, - aux_sym_struct_body_repeat1, - [8794] = 4, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(695), 1, - anon_sym_as, - ACTIONS(838), 1, - anon_sym_GT, + [10956] = 3, + ACTIONS(1111), 1, + sym__decimal_integer, STATE(333), 1, - sym_tlb_serialization, - [8807] = 4, - ACTIONS(3), 1, + aux_sym_asm_arrangement_rets_repeat1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(840), 1, - anon_sym_COMMA, - ACTIONS(842), 1, + [10967] = 3, + ACTIONS(93), 1, anon_sym_LBRACE, - STATE(257), 1, - aux_sym_trait_list_repeat1, - [8820] = 4, - ACTIONS(3), 1, + STATE(187), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(695), 1, - anon_sym_as, - ACTIONS(844), 1, - anon_sym_COMMA, - STATE(388), 1, - sym_tlb_serialization, - [8833] = 2, - ACTIONS(3), 1, + [10978] = 3, + ACTIONS(97), 1, + anon_sym_DQUOTE, + STATE(537), 1, + sym_string, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [10989] = 3, + ACTIONS(93), 1, + anon_sym_LBRACE, + STATE(186), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11000] = 3, + ACTIONS(93), 1, + anon_sym_LBRACE, + STATE(179), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11011] = 3, + ACTIONS(93), 1, + anon_sym_LBRACE, + STATE(180), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11022] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(846), 3, + ACTIONS(1003), 2, anon_sym_SEMI, - anon_sym_COLON, + anon_sym_RBRACE, + [11031] = 3, + ACTIONS(93), 1, anon_sym_LBRACE, - [8842] = 3, - ACTIONS(3), 1, + STATE(181), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(850), 1, - anon_sym_EQ, - ACTIONS(848), 2, + [11042] = 3, + ACTIONS(1081), 1, + anon_sym_LPAREN, + STATE(293), 1, + sym_parameter_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11053] = 3, + ACTIONS(1083), 1, anon_sym_SEMI, + ACTIONS(1113), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11064] = 3, + ACTIONS(1079), 1, + anon_sym_LBRACE, + STATE(172), 1, + sym_struct_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11075] = 3, + ACTIONS(1115), 1, + sym_identifier, + ACTIONS(1117), 1, + anon_sym_LBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11086] = 3, + ACTIONS(903), 1, + anon_sym_LBRACE, + STATE(130), 1, + sym_contract_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11097] = 3, + ACTIONS(223), 1, anon_sym_RBRACE, - [8853] = 4, + ACTIONS(1075), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11108] = 3, + ACTIONS(1081), 1, + anon_sym_LPAREN, + STATE(283), 1, + sym_parameter_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11119] = 3, + ACTIONS(151), 1, + anon_sym_LPAREN, + STATE(60), 1, + sym_argument_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11130] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(797), 1, - sym_identifier, - ACTIONS(852), 1, + ACTIONS(1119), 1, anon_sym_RBRACE, - STATE(245), 1, - sym_field, - [8866] = 4, - ACTIONS(3), 1, + ACTIONS(1121), 1, + aux_sym_asm_list_token1, + ACTIONS(1123), 1, + anon_sym__, + [11143] = 3, + ACTIONS(1125), 1, + anon_sym_SEMI, + ACTIONS(1127), 1, + anon_sym_EQ, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, - anon_sym_LBRACE, - ACTIONS(854), 1, + [11154] = 3, + ACTIONS(1129), 1, + anon_sym_COLON, + ACTIONS(1131), 1, + anon_sym_EQ, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11165] = 3, + ACTIONS(1133), 1, anon_sym_SEMI, - STATE(178), 1, - sym_block_statement, - [8879] = 4, - ACTIONS(3), 1, + ACTIONS(1135), 1, + anon_sym_COLON, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(687), 1, - sym_identifier, - ACTIONS(856), 1, - anon_sym_RPAREN, - STATE(255), 1, - sym_parameter, - [8892] = 4, - ACTIONS(3), 1, + [11176] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(858), 1, + ACTIONS(1070), 2, anon_sym_RPAREN, - ACTIONS(860), 1, - anon_sym_COMMA, - STATE(233), 1, - aux_sym_argument_list_repeat1, - [8905] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(862), 1, - anon_sym_COLON, - ACTIONS(864), 2, anon_sym_COMMA, - anon_sym_RBRACE, - [8916] = 4, - ACTIONS(3), 1, + [11185] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(866), 1, + ACTIONS(1137), 2, + anon_sym_RPAREN, anon_sym_COMMA, - ACTIONS(868), 1, - anon_sym_RBRACE, - STATE(251), 1, - aux_sym_instance_argument_list_repeat1, - [8929] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(35), 1, + [11194] = 3, + ACTIONS(943), 1, anon_sym_LBRACE, - STATE(97), 1, - sym_block_statement, - [8939] = 2, - ACTIONS(3), 1, + STATE(160), 1, + sym_asm_function_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(870), 2, - anon_sym_SEMI, + [11205] = 3, + ACTIONS(1081), 1, + anon_sym_LPAREN, + STATE(348), 1, + sym_parameter_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11216] = 3, + ACTIONS(1139), 1, anon_sym_RBRACE, - [8947] = 3, - ACTIONS(3), 1, + ACTIONS(1141), 1, + anon_sym__, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(61), 1, - anon_sym_DQUOTE, - STATE(396), 1, - sym_string, - [8957] = 3, + [11227] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(872), 1, - anon_sym_LPAREN, - STATE(287), 1, - sym_parameter_list, - [8967] = 3, - ACTIONS(3), 1, + ACTIONS(1143), 1, + anon_sym_RBRACE, + ACTIONS(1145), 1, + aux_sym_asm_list_token1, + ACTIONS(1147), 1, + anon_sym__, + [11240] = 3, + ACTIONS(1149), 1, + anon_sym_SEMI, + ACTIONS(1151), 1, + anon_sym_EQ, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(37), 1, + [11251] = 3, + ACTIONS(1143), 1, anon_sym_RBRACE, - ACTIONS(874), 1, + ACTIONS(1147), 1, + anon_sym__, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11262] = 3, + ACTIONS(1153), 1, anon_sym_SEMI, - [8977] = 3, - ACTIONS(3), 1, + ACTIONS(1155), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(876), 1, + [11273] = 3, + ACTIONS(1032), 1, anon_sym_LBRACE, - STATE(132), 1, - sym_struct_body, - [8987] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(687), 1, + ACTIONS(1093), 1, sym_identifier, - STATE(330), 1, - sym_parameter, - [8997] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(872), 1, + [11284] = 3, + ACTIONS(943), 1, + anon_sym_LBRACE, + STATE(128), 1, + sym_asm_function_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11295] = 3, + ACTIONS(1081), 1, anon_sym_LPAREN, - STATE(295), 1, + STATE(310), 1, sym_parameter_list, - [9007] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(797), 1, - sym_identifier, - STATE(318), 1, - sym_field, - [9017] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(878), 1, - sym_identifier, - ACTIONS(880), 1, - anon_sym_LBRACE, - [9027] = 3, - ACTIONS(3), 1, + [11306] = 3, + ACTIONS(1119), 1, + anon_sym_RBRACE, + ACTIONS(1123), 1, + anon_sym__, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, + [11317] = 3, + ACTIONS(93), 1, anon_sym_LBRACE, - STATE(183), 1, + STATE(81), 1, sym_block_statement, - [9037] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, + [11328] = 3, + ACTIONS(93), 1, anon_sym_LBRACE, - STATE(180), 1, + STATE(98), 1, sym_block_statement, - [9047] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(882), 1, - anon_sym_SEMI, - ACTIONS(884), 1, - anon_sym_EQ, - [9057] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, + [11339] = 3, + ACTIONS(93), 1, anon_sym_LBRACE, - STATE(170), 1, + STATE(93), 1, sym_block_statement, - [9067] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(717), 1, - anon_sym_LBRACE, - STATE(140), 1, - sym_contract_body, - [9077] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(886), 1, - anon_sym_SEMI, - ACTIONS(888), 1, - anon_sym_COLON, - [9087] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(711), 1, - anon_sym_LBRACE, - STATE(147), 1, - sym_trait_body, - [9097] = 3, - ACTIONS(3), 1, + [11350] = 3, + ACTIONS(1157), 1, + anon_sym_RBRACE, + ACTIONS(1159), 1, + anon_sym__, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(872), 1, + [11361] = 3, + ACTIONS(1081), 1, anon_sym_LPAREN, - STATE(225), 1, + STATE(308), 1, sym_parameter_list, - [9107] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(890), 1, - anon_sym_SEMI, - ACTIONS(892), 1, - anon_sym_EQ, - [9117] = 3, - ACTIONS(3), 1, + [11372] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(687), 1, + ACTIONS(1161), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [11381] = 3, + ACTIONS(851), 1, sym_identifier, - STATE(393), 1, + STATE(454), 1, sym_parameter, - [9127] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, - anon_sym_LBRACE, - STATE(99), 1, - sym_block_statement, - [9137] = 3, + [11392] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(35), 1, + ACTIONS(1163), 1, + anon_sym_RBRACE, + ACTIONS(1165), 1, + aux_sym_asm_list_token1, + ACTIONS(1167), 1, + anon_sym__, + [11405] = 3, + ACTIONS(93), 1, anon_sym_LBRACE, - STATE(167), 1, + STATE(185), 1, sym_block_statement, - [9147] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(61), 1, - anon_sym_DQUOTE, - STATE(366), 1, - sym_string, - [9157] = 3, - ACTIONS(3), 1, + [11416] = 3, + ACTIONS(1081), 1, + anon_sym_LPAREN, + STATE(271), 1, + sym_parameter_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11427] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(894), 1, + ACTIONS(1169), 2, anon_sym_SEMI, - ACTIONS(896), 1, - anon_sym_COLON, - [9167] = 3, - ACTIONS(3), 1, + anon_sym_RBRACE, + [11436] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(898), 1, + ACTIONS(1171), 2, anon_sym_SEMI, - ACTIONS(900), 1, - anon_sym_EQ, - [9177] = 3, + anon_sym_RBRACE, + [11445] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(874), 1, + ACTIONS(1173), 1, + anon_sym_RBRACE, + ACTIONS(1175), 1, + aux_sym_asm_list_token1, + ACTIONS(1177), 1, + anon_sym__, + [11458] = 3, + ACTIONS(95), 1, + anon_sym_RBRACE, + ACTIONS(1083), 1, anon_sym_SEMI, - ACTIONS(902), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11469] = 3, + ACTIONS(1173), 1, anon_sym_RBRACE, - [9187] = 3, - ACTIONS(3), 1, + ACTIONS(1177), 1, + anon_sym__, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11480] = 3, + ACTIONS(1179), 1, + anon_sym_RBRACE, + ACTIONS(1181), 1, + anon_sym__, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11491] = 3, + ACTIONS(1183), 1, + anon_sym_COLON, + STATE(402), 1, + sym__field_after_id, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, + [11502] = 3, + ACTIONS(93), 1, anon_sym_LBRACE, - STATE(88), 1, + STATE(92), 1, sym_block_statement, - [9197] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, + [11513] = 3, + ACTIONS(93), 1, anon_sym_LBRACE, - STATE(94), 1, + STATE(87), 1, sym_block_statement, - [9207] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(904), 1, - anon_sym_SEMI, - ACTIONS(906), 1, - anon_sym_EQ, - [9217] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(842), 1, + [11524] = 3, + ACTIONS(888), 1, anon_sym_LBRACE, - ACTIONS(908), 1, - sym_identifier, - [9227] = 3, - ACTIONS(3), 1, + STATE(458), 1, + sym_block_statement, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, + [11535] = 3, + ACTIONS(93), 1, anon_sym_LBRACE, - STATE(79), 1, + STATE(94), 1, sym_block_statement, - [9237] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11546] = 3, + ACTIONS(1081), 1, + anon_sym_LPAREN, + STATE(399), 1, + sym_parameter_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(759), 1, + [11557] = 3, + ACTIONS(945), 1, sym_identifier, - STATE(329), 1, + STATE(351), 1, sym_instance_argument, - [9247] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(830), 2, - anon_sym_COMMA, - anon_sym_LBRACE, - [9255] = 3, - ACTIONS(3), 1, + [11568] = 3, + ACTIONS(1081), 1, + anon_sym_LPAREN, + STATE(330), 1, + sym_parameter_list, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(910), 1, - anon_sym_COLON, - STATE(312), 1, - sym__field_after_id, - [9265] = 3, - ACTIONS(3), 1, + [11579] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, + ACTIONS(1185), 2, + anon_sym_SEMI, + anon_sym_RBRACE, + [11588] = 3, + ACTIONS(899), 1, anon_sym_LBRACE, - STATE(169), 1, - sym_block_statement, - [9275] = 3, - ACTIONS(3), 1, + STATE(145), 1, + sym_trait_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, + [11599] = 3, + ACTIONS(903), 1, anon_sym_LBRACE, - STATE(96), 1, - sym_block_statement, - [9285] = 3, - ACTIONS(3), 1, + STATE(150), 1, + sym_contract_body, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(872), 1, - anon_sym_LPAREN, - STATE(224), 1, - sym_parameter_list, - [9295] = 3, - ACTIONS(3), 1, + [11610] = 3, + ACTIONS(1183), 1, + anon_sym_COLON, + STATE(396), 1, + sym__field_after_id, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(73), 1, + [11621] = 3, + ACTIONS(264), 1, anon_sym_RBRACE, - ACTIONS(874), 1, + ACTIONS(1153), 1, anon_sym_SEMI, - [9305] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(876), 1, - anon_sym_LBRACE, - STATE(146), 1, - sym_struct_body, - [9315] = 3, - ACTIONS(3), 1, + [11632] = 2, + ACTIONS(1187), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(912), 1, - anon_sym_contract, - ACTIONS(914), 1, - anon_sym_trait, - [9325] = 2, + [11640] = 2, + ACTIONS(1189), 1, + anon_sym_COLON, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11648] = 2, + ACTIONS(1191), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11656] = 2, + ACTIONS(1193), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11664] = 2, + ACTIONS(1195), 1, + anon_sym_GT, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11672] = 2, + ACTIONS(1197), 1, + anon_sym_EQ, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11680] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(916), 2, - anon_sym_SEMI, + ACTIONS(1143), 1, anon_sym_RBRACE, - [9333] = 3, + ACTIONS(1199), 1, + aux_sym_asm_list_token1, + [11690] = 2, + ACTIONS(1201), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11698] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(872), 1, + ACTIONS(1139), 1, + anon_sym_RBRACE, + ACTIONS(1203), 1, + aux_sym_asm_list_token1, + [11708] = 2, + ACTIONS(1139), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11716] = 2, + ACTIONS(1205), 1, + aux_sym__asm_hex_literal_token1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11724] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1207), 1, + aux_sym_asm_list_token1, + ACTIONS(1209), 1, + aux_sym__asm_hex_literal_token1, + [11734] = 2, + ACTIONS(1211), 1, + aux_sym__asm_string_token1, + ACTIONS(619), 2, + aux_sym_asm_list_token1, + sym_comment, + [11742] = 2, + ACTIONS(1213), 1, + aux_sym__asm_hex_literal_token1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11750] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1215), 1, + aux_sym_asm_list_token1, + ACTIONS(1217), 1, + aux_sym__asm_hex_literal_token1, + [11760] = 2, + ACTIONS(1219), 1, + aux_sym__asm_string_token1, + ACTIONS(619), 2, + aux_sym_asm_list_token1, + sym_comment, + [11768] = 2, + ACTIONS(1221), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11776] = 2, + ACTIONS(1223), 1, + sym__type_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11784] = 2, + ACTIONS(1093), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11792] = 2, + ACTIONS(1083), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11800] = 2, + ACTIONS(1225), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11808] = 2, + ACTIONS(1227), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11816] = 2, + ACTIONS(1229), 1, + anon_sym_in, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11824] = 2, + ACTIONS(1231), 1, anon_sym_LPAREN, - STATE(293), 1, - sym_parameter_list, - [9343] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11832] = 2, + ACTIONS(1233), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11840] = 2, + ACTIONS(1235), 1, + aux_sym__asm_hex_literal_token1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11848] = 2, + ACTIONS(1237), 1, + anon_sym_DQUOTE2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11856] = 2, + ACTIONS(744), 1, + aux_sym__asm_instruction_token1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11864] = 2, + ACTIONS(1239), 1, + anon_sym_COMMA, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11872] = 2, + ACTIONS(1241), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11880] = 2, + ACTIONS(1243), 1, + sym__type_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(910), 1, + [11888] = 2, + ACTIONS(1153), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11896] = 2, + ACTIONS(1075), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11904] = 2, + ACTIONS(1245), 1, anon_sym_COLON, - STATE(367), 1, - sym__field_after_id, - [9353] = 3, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11912] = 2, + ACTIONS(1247), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11920] = 2, + ACTIONS(1249), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11928] = 2, + ACTIONS(1251), 1, + sym__type_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11936] = 2, + ACTIONS(1253), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [11944] = 2, + ACTIONS(1255), 1, + anon_sym_until, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(908), 1, - sym_identifier, - ACTIONS(918), 1, - anon_sym_LBRACE, - [9363] = 3, + [11952] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(723), 1, - anon_sym_LBRACE, - STATE(341), 1, - sym_block_statement, - [9373] = 3, - ACTIONS(3), 1, + ACTIONS(1257), 1, + aux_sym_asm_list_token1, + ACTIONS(1259), 1, + aux_sym__asm_hex_literal_token1, + [11962] = 2, + ACTIONS(1261), 1, + anon_sym_GT, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(35), 1, - anon_sym_LBRACE, - STATE(171), 1, - sym_block_statement, - [9383] = 2, - ACTIONS(3), 1, + [11970] = 2, + ACTIONS(1263), 1, + aux_sym__asm_string_token1, + ACTIONS(619), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(804), 2, + [11978] = 2, + ACTIONS(1265), 1, anon_sym_SEMI, - anon_sym_RBRACE, - [9391] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(920), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [9399] = 3, - ACTIONS(3), 1, + [11986] = 2, + ACTIONS(1267), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(872), 1, - anon_sym_LPAREN, - STATE(223), 1, - sym_parameter_list, - [9409] = 3, + [11994] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(874), 1, - anon_sym_SEMI, - ACTIONS(922), 1, + ACTIONS(1267), 1, anon_sym_RBRACE, - [9419] = 3, - ACTIONS(3), 1, + ACTIONS(1269), 1, + aux_sym_asm_list_token1, + [12004] = 2, + ACTIONS(1179), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(876), 1, - anon_sym_LBRACE, - STATE(144), 1, - sym_struct_body, - [9429] = 3, + [12012] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(147), 1, - anon_sym_LPAREN, - STATE(66), 1, - sym_argument_list, - [9439] = 2, + ACTIONS(1179), 1, + anon_sym_RBRACE, + ACTIONS(1271), 1, + aux_sym_asm_list_token1, + [12022] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(770), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [9447] = 3, - ACTIONS(3), 1, + ACTIONS(1273), 1, + anon_sym_RBRACE, + ACTIONS(1275), 1, + aux_sym_asm_list_token1, + [12032] = 2, + ACTIONS(1273), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(872), 1, - anon_sym_LPAREN, - STATE(222), 1, - sym_parameter_list, - [9457] = 3, - ACTIONS(3), 1, + [12040] = 2, + ACTIONS(1277), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(924), 1, - anon_sym_COLON, - ACTIONS(926), 1, - anon_sym_EQ, - [9467] = 3, - ACTIONS(3), 1, + [12048] = 2, + ACTIONS(1279), 1, + anon_sym_GT, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(711), 1, - anon_sym_LBRACE, - STATE(161), 1, - sym_trait_body, - [9477] = 3, - ACTIONS(3), 1, + [12056] = 2, + ACTIONS(1281), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(717), 1, - anon_sym_LBRACE, - STATE(157), 1, - sym_contract_body, - [9487] = 2, - ACTIONS(3), 1, + [12064] = 2, + ACTIONS(1283), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(817), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - [9495] = 2, - ACTIONS(3), 1, + [12072] = 2, + ACTIONS(1285), 1, + anon_sym_COLON, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(765), 2, - anon_sym_RPAREN, - anon_sym_COMMA, - [9503] = 2, - ACTIONS(3), 1, + [12080] = 2, + ACTIONS(1287), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(928), 1, + [12088] = 2, + ACTIONS(1289), 1, anon_sym_LPAREN, - [9510] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(930), 1, - sym__type_identifier, - [9517] = 2, - ACTIONS(3), 1, + [12096] = 2, + ACTIONS(1291), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(932), 1, - anon_sym_GT, - [9524] = 2, - ACTIONS(3), 1, + [12104] = 2, + ACTIONS(1293), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(934), 1, - anon_sym_SEMI, - [9531] = 2, - ACTIONS(3), 1, + [12112] = 2, + ACTIONS(1295), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(936), 1, + [12120] = 2, + ACTIONS(1297), 1, sym_identifier, - [9538] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(938), 1, + [12128] = 2, + ACTIONS(1299), 1, anon_sym_native, - [9545] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(940), 1, + [12136] = 2, + ACTIONS(1301), 1, sym_identifier, - [9552] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(942), 1, + [12144] = 2, + ACTIONS(1303), 1, sym__type_identifier, - [9559] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(944), 1, - anon_sym_RPAREN, - [9566] = 2, - ACTIONS(3), 1, + [12152] = 2, + ACTIONS(1305), 1, + sym__type_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(946), 1, - anon_sym_in, - [9573] = 2, - ACTIONS(3), 1, + [12160] = 2, + ACTIONS(1307), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(948), 1, - anon_sym_until, - [9580] = 2, - ACTIONS(3), 1, + [12168] = 2, + ACTIONS(1309), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(950), 1, - anon_sym_LPAREN, - [9587] = 2, - ACTIONS(3), 1, + [12176] = 2, + ACTIONS(1311), 1, + anon_sym_fun, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(952), 1, - anon_sym_LPAREN, - [9594] = 2, - ACTIONS(3), 1, + [12184] = 2, + ACTIONS(1313), 1, + anon_sym_const, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(954), 1, + [12192] = 2, + ACTIONS(1315), 1, anon_sym_LPAREN, - [9601] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(956), 1, - anon_sym_GT, - [9608] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(958), 1, + [12200] = 2, + ACTIONS(1317), 1, anon_sym_LPAREN, - [9615] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(960), 1, - anon_sym_SEMI, - [9622] = 2, + [12208] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(962), 1, + ACTIONS(1173), 1, + anon_sym_RBRACE, + ACTIONS(1319), 1, + aux_sym_asm_list_token1, + [12218] = 2, + ACTIONS(1321), 1, anon_sym_LPAREN, - [9629] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(964), 1, - anon_sym_LPAREN, - [9636] = 2, - ACTIONS(3), 1, + [12226] = 2, + ACTIONS(1323), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(966), 1, + [12234] = 2, + ACTIONS(1325), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12242] = 2, + ACTIONS(1327), 1, sym__type_identifier, - [9643] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(968), 1, + [12250] = 2, + ACTIONS(1329), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12258] = 2, + ACTIONS(1331), 1, sym_identifier, - [9650] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(970), 1, - anon_sym_LPAREN, - [9657] = 2, - ACTIONS(3), 1, + [12266] = 2, + ACTIONS(1333), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(972), 1, - ts_builtin_sym_end, - [9664] = 2, - ACTIONS(3), 1, + [12274] = 2, + ACTIONS(1335), 1, + anon_sym_LT, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(974), 1, - sym_identifier, - [9671] = 2, - ACTIONS(3), 1, + [12282] = 2, + ACTIONS(1337), 1, + anon_sym_LT, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(976), 1, - sym__type_identifier, - [9678] = 2, - ACTIONS(3), 1, + [12290] = 2, + ACTIONS(1339), 1, + anon_sym_COLON, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(978), 1, + [12298] = 2, + ACTIONS(1341), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12306] = 2, + ACTIONS(1343), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12314] = 2, + ACTIONS(1345), 1, sym_identifier, - [9685] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(980), 1, + [12322] = 2, + ACTIONS(1347), 1, anon_sym_fun, - [9692] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(982), 1, - anon_sym_COLON, - [9699] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(984), 1, + [12330] = 2, + ACTIONS(1349), 1, sym_identifier, - [9706] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(986), 1, + [12338] = 2, + ACTIONS(1351), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12346] = 2, + ACTIONS(1353), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12354] = 2, + ACTIONS(1355), 1, + anon_sym_RPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12362] = 2, + ACTIONS(1357), 1, sym_identifier, - [9713] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(988), 1, - anon_sym_LT, - [9720] = 2, - ACTIONS(3), 1, + [12370] = 2, + ACTIONS(1359), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(990), 1, - anon_sym_LT, - [9727] = 2, - ACTIONS(3), 1, + [12378] = 2, + ACTIONS(1361), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(992), 1, - anon_sym_EQ, - [9734] = 2, - ACTIONS(3), 1, + [12386] = 2, + ACTIONS(1363), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(994), 1, + [12394] = 2, + ACTIONS(1365), 1, sym__type_identifier, - [9741] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(996), 1, + [12402] = 2, + ACTIONS(1367), 1, + sym_integer, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12410] = 2, + ACTIONS(1369), 1, + anon_sym_fun, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12418] = 2, + ACTIONS(1371), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12426] = 2, + ACTIONS(1373), 1, anon_sym_COLON, - [9748] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(998), 1, - anon_sym_RPAREN, - [9755] = 2, - ACTIONS(3), 1, + [12434] = 2, + ACTIONS(1375), 1, + anon_sym_LPAREN, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(1000), 1, - anon_sym_SEMI, - [9762] = 2, - ACTIONS(3), 1, + [12442] = 2, + ACTIONS(1377), 1, + sym_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12450] = 2, + ACTIONS(1379), 1, + sym__type_identifier, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(1002), 1, + [12458] = 2, + ACTIONS(1381), 1, sym_identifier, - [9769] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(1004), 1, - anon_sym_SEMI, - [9776] = 2, - ACTIONS(3), 1, + [12466] = 2, + ACTIONS(1383), 1, + anon_sym_DQUOTE2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12474] = 2, + ACTIONS(707), 1, + aux_sym__asm_instruction_token1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(908), 1, + [12482] = 2, + ACTIONS(1385), 1, sym_identifier, - [9783] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(1006), 1, - anon_sym_GT, - [9790] = 2, + [12490] = 2, + ACTIONS(1387), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12498] = 2, + ACTIONS(1389), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12506] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1008), 1, - anon_sym_RPAREN, - [9797] = 2, + ACTIONS(1389), 1, + anon_sym_RBRACE, + ACTIONS(1391), 1, + aux_sym_asm_list_token1, + [12516] = 2, + ACTIONS(1157), 1, + anon_sym_RBRACE, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12524] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1010), 1, + ACTIONS(1157), 1, + anon_sym_RBRACE, + ACTIONS(1393), 1, + aux_sym_asm_list_token1, + [12534] = 2, + ACTIONS(1395), 1, anon_sym_LPAREN, - [9804] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12542] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(1012), 1, + ACTIONS(1119), 1, + anon_sym_RBRACE, + ACTIONS(1397), 1, + aux_sym_asm_list_token1, + [12552] = 2, + ACTIONS(1399), 1, + ts_builtin_sym_end, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12560] = 2, + ACTIONS(1401), 1, anon_sym_const, - [9811] = 2, - ACTIONS(3), 1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, sym_comment, - ACTIONS(874), 1, + [12568] = 2, + ACTIONS(1403), 1, + anon_sym_SEMI, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12576] = 2, + ACTIONS(703), 1, + aux_sym__asm_instruction_token1, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12584] = 2, + ACTIONS(1405), 1, + anon_sym_DQUOTE2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12592] = 2, + ACTIONS(1407), 1, anon_sym_SEMI, - [9818] = 2, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12600] = 2, + ACTIONS(1409), 1, + anon_sym_fun, + ACTIONS(3), 2, + aux_sym_asm_list_token1, + sym_comment, + [12608] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1014), 1, - anon_sym_RPAREN, - [9825] = 2, + ACTIONS(1411), 1, + aux_sym_asm_list_token1, + [12615] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1016), 1, - anon_sym_RPAREN, - [9832] = 2, + ACTIONS(1413), 1, + aux_sym_asm_list_token1, + [12622] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1018), 1, - sym_identifier, - [9839] = 2, + ACTIONS(1415), 1, + aux_sym_asm_list_token1, + [12629] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1020), 1, - sym_identifier, - [9846] = 2, + ACTIONS(1417), 1, + aux_sym_asm_list_token1, + [12636] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1022), 1, - sym_identifier, - [9853] = 2, + ACTIONS(1419), 1, + aux_sym_asm_list_token1, + [12643] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1024), 1, - sym_identifier, - [9860] = 2, + ACTIONS(1421), 1, + aux_sym_asm_list_token1, + [12650] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1026), 1, - sym_identifier, - [9867] = 2, + ACTIONS(1423), 1, + aux_sym_asm_list_token1, + [12657] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1028), 1, - sym_identifier, - [9874] = 2, + ACTIONS(1425), 1, + aux_sym_asm_list_token1, + [12664] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1030), 1, - anon_sym_COMMA, - [9881] = 2, + ACTIONS(1427), 1, + aux_sym_asm_list_token1, + [12671] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1032), 1, - anon_sym_LPAREN, - [9888] = 2, + ACTIONS(1429), 1, + aux_sym_asm_list_token1, + [12678] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1034), 1, - sym__type_identifier, - [9895] = 2, + ACTIONS(1431), 1, + aux_sym_asm_list_token1, + [12685] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1036), 1, - anon_sym_LPAREN, - [9902] = 2, + ACTIONS(1433), 1, + aux_sym_asm_list_token1, + [12692] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1038), 1, - anon_sym_COMMA, - [9909] = 2, + ACTIONS(1435), 1, + aux_sym_asm_list_token1, + [12699] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1040), 1, - sym_identifier, - [9916] = 2, + ACTIONS(1437), 1, + aux_sym_asm_list_token1, + [12706] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1042), 1, - sym__type_identifier, - [9923] = 2, + ACTIONS(1439), 1, + aux_sym_asm_list_token1, + [12713] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1044), 1, - sym__type_identifier, - [9930] = 2, + ACTIONS(1441), 1, + aux_sym_asm_list_token1, + [12720] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1046), 1, - anon_sym_RPAREN, - [9937] = 2, + ACTIONS(1443), 1, + aux_sym_asm_list_token1, + [12727] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1048), 1, - anon_sym_RPAREN, - [9944] = 2, + ACTIONS(1445), 1, + aux_sym_asm_list_token1, + [12734] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1050), 1, - anon_sym_RPAREN, - [9951] = 2, + ACTIONS(1447), 1, + aux_sym_asm_list_token1, + [12741] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1052), 1, - sym_integer, - [9958] = 2, + ACTIONS(1449), 1, + aux_sym_asm_list_token1, + [12748] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1054), 1, - anon_sym_SEMI, - [9965] = 2, + ACTIONS(1451), 1, + aux_sym_asm_list_token1, + [12755] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 1, - sym_identifier, - [9972] = 2, + ACTIONS(1453), 1, + aux_sym_asm_list_token1, + [12762] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1058), 1, - sym_identifier, - [9979] = 2, + ACTIONS(1455), 1, + aux_sym_asm_list_token1, + [12769] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1060), 1, - anon_sym_COLON, - [9986] = 2, + ACTIONS(1457), 1, + aux_sym_asm_list_token1, + [12776] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1062), 1, - sym_identifier, - [9993] = 2, + ACTIONS(1459), 1, + aux_sym_asm_list_token1, + [12783] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1064), 1, - anon_sym_COLON, - [10000] = 2, + ACTIONS(1461), 1, + aux_sym_asm_list_token1, + [12790] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 1, - sym_identifier, - [10007] = 2, + ACTIONS(1463), 1, + aux_sym_asm_list_token1, + [12797] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1068), 1, - anon_sym_COLON, - [10014] = 2, + ACTIONS(1465), 1, + aux_sym_asm_list_token1, + [12804] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1070), 1, - sym_identifier, - [10021] = 2, + ACTIONS(1467), 1, + aux_sym_asm_list_token1, + [12811] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1072), 1, - anon_sym_fun, - [10028] = 2, + ACTIONS(1469), 1, + aux_sym_asm_list_token1, + [12818] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1074), 1, - sym_identifier, - [10035] = 2, + ACTIONS(1471), 1, + aux_sym_asm_list_token1, + [12825] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1076), 1, - anon_sym_const, + ACTIONS(1473), 1, + aux_sym_asm_list_token1, + [12832] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1475), 1, + aux_sym_asm_list_token1, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 110, - [SMALL_STATE(4)] = 220, - [SMALL_STATE(5)] = 330, - [SMALL_STATE(6)] = 440, - [SMALL_STATE(7)] = 550, - [SMALL_STATE(8)] = 596, - [SMALL_STATE(9)] = 642, - [SMALL_STATE(10)] = 688, - [SMALL_STATE(11)] = 737, - [SMALL_STATE(12)] = 793, - [SMALL_STATE(13)] = 879, - [SMALL_STATE(14)] = 958, - [SMALL_STATE(15)] = 1037, - [SMALL_STATE(16)] = 1116, - [SMALL_STATE(17)] = 1160, - [SMALL_STATE(18)] = 1206, - [SMALL_STATE(19)] = 1265, - [SMALL_STATE(20)] = 1324, - [SMALL_STATE(21)] = 1383, - [SMALL_STATE(22)] = 1440, - [SMALL_STATE(23)] = 1506, - [SMALL_STATE(24)] = 1562, - [SMALL_STATE(25)] = 1628, - [SMALL_STATE(26)] = 1694, - [SMALL_STATE(27)] = 1747, - [SMALL_STATE(28)] = 1800, - [SMALL_STATE(29)] = 1853, - [SMALL_STATE(30)] = 1906, - [SMALL_STATE(31)] = 1959, - [SMALL_STATE(32)] = 2012, - [SMALL_STATE(33)] = 2065, - [SMALL_STATE(34)] = 2118, - [SMALL_STATE(35)] = 2171, - [SMALL_STATE(36)] = 2224, - [SMALL_STATE(37)] = 2277, - [SMALL_STATE(38)] = 2330, - [SMALL_STATE(39)] = 2383, - [SMALL_STATE(40)] = 2436, - [SMALL_STATE(41)] = 2489, - [SMALL_STATE(42)] = 2542, - [SMALL_STATE(43)] = 2595, - [SMALL_STATE(44)] = 2648, - [SMALL_STATE(45)] = 2701, - [SMALL_STATE(46)] = 2754, - [SMALL_STATE(47)] = 2807, - [SMALL_STATE(48)] = 2860, - [SMALL_STATE(49)] = 2913, - [SMALL_STATE(50)] = 2966, - [SMALL_STATE(51)] = 3019, - [SMALL_STATE(52)] = 3072, - [SMALL_STATE(53)] = 3125, - [SMALL_STATE(54)] = 3178, - [SMALL_STATE(55)] = 3231, - [SMALL_STATE(56)] = 3284, - [SMALL_STATE(57)] = 3318, - [SMALL_STATE(58)] = 3380, - [SMALL_STATE(59)] = 3414, - [SMALL_STATE(60)] = 3448, - [SMALL_STATE(61)] = 3482, - [SMALL_STATE(62)] = 3516, - [SMALL_STATE(63)] = 3578, - [SMALL_STATE(64)] = 3612, - [SMALL_STATE(65)] = 3646, - [SMALL_STATE(66)] = 3680, - [SMALL_STATE(67)] = 3714, - [SMALL_STATE(68)] = 3748, - [SMALL_STATE(69)] = 3782, - [SMALL_STATE(70)] = 3816, - [SMALL_STATE(71)] = 3878, - [SMALL_STATE(72)] = 3912, - [SMALL_STATE(73)] = 3946, - [SMALL_STATE(74)] = 3982, - [SMALL_STATE(75)] = 4016, - [SMALL_STATE(76)] = 4050, - [SMALL_STATE(77)] = 4084, - [SMALL_STATE(78)] = 4118, - [SMALL_STATE(79)] = 4153, - [SMALL_STATE(80)] = 4190, - [SMALL_STATE(81)] = 4243, - [SMALL_STATE(82)] = 4294, - [SMALL_STATE(83)] = 4353, - [SMALL_STATE(84)] = 4406, - [SMALL_STATE(85)] = 4461, - [SMALL_STATE(86)] = 4510, - [SMALL_STATE(87)] = 4545, - [SMALL_STATE(88)] = 4584, - [SMALL_STATE(89)] = 4621, - [SMALL_STATE(90)] = 4668, - [SMALL_STATE(91)] = 4711, - [SMALL_STATE(92)] = 4752, - [SMALL_STATE(93)] = 4783, - [SMALL_STATE(94)] = 4814, - [SMALL_STATE(95)] = 4845, - [SMALL_STATE(96)] = 4876, - [SMALL_STATE(97)] = 4907, - [SMALL_STATE(98)] = 4938, - [SMALL_STATE(99)] = 4969, - [SMALL_STATE(100)] = 5000, - [SMALL_STATE(101)] = 5056, - [SMALL_STATE(102)] = 5112, - [SMALL_STATE(103)] = 5168, - [SMALL_STATE(104)] = 5224, - [SMALL_STATE(105)] = 5280, - [SMALL_STATE(106)] = 5336, - [SMALL_STATE(107)] = 5392, - [SMALL_STATE(108)] = 5448, - [SMALL_STATE(109)] = 5504, - [SMALL_STATE(110)] = 5560, - [SMALL_STATE(111)] = 5615, - [SMALL_STATE(112)] = 5670, - [SMALL_STATE(113)] = 5725, - [SMALL_STATE(114)] = 5780, - [SMALL_STATE(115)] = 5835, - [SMALL_STATE(116)] = 5890, - [SMALL_STATE(117)] = 5945, - [SMALL_STATE(118)] = 6000, - [SMALL_STATE(119)] = 6055, - [SMALL_STATE(120)] = 6110, - [SMALL_STATE(121)] = 6165, - [SMALL_STATE(122)] = 6195, - [SMALL_STATE(123)] = 6219, - [SMALL_STATE(124)] = 6243, - [SMALL_STATE(125)] = 6267, - [SMALL_STATE(126)] = 6291, - [SMALL_STATE(127)] = 6314, - [SMALL_STATE(128)] = 6337, - [SMALL_STATE(129)] = 6360, - [SMALL_STATE(130)] = 6383, - [SMALL_STATE(131)] = 6406, - [SMALL_STATE(132)] = 6429, - [SMALL_STATE(133)] = 6452, - [SMALL_STATE(134)] = 6475, - [SMALL_STATE(135)] = 6498, - [SMALL_STATE(136)] = 6521, - [SMALL_STATE(137)] = 6544, - [SMALL_STATE(138)] = 6567, - [SMALL_STATE(139)] = 6590, - [SMALL_STATE(140)] = 6613, - [SMALL_STATE(141)] = 6636, - [SMALL_STATE(142)] = 6659, - [SMALL_STATE(143)] = 6682, - [SMALL_STATE(144)] = 6705, - [SMALL_STATE(145)] = 6728, - [SMALL_STATE(146)] = 6751, - [SMALL_STATE(147)] = 6774, - [SMALL_STATE(148)] = 6797, - [SMALL_STATE(149)] = 6820, - [SMALL_STATE(150)] = 6843, - [SMALL_STATE(151)] = 6866, - [SMALL_STATE(152)] = 6889, - [SMALL_STATE(153)] = 6912, - [SMALL_STATE(154)] = 6935, - [SMALL_STATE(155)] = 6958, - [SMALL_STATE(156)] = 6981, - [SMALL_STATE(157)] = 7004, - [SMALL_STATE(158)] = 7027, - [SMALL_STATE(159)] = 7050, - [SMALL_STATE(160)] = 7073, - [SMALL_STATE(161)] = 7096, - [SMALL_STATE(162)] = 7119, - [SMALL_STATE(163)] = 7142, - [SMALL_STATE(164)] = 7165, - [SMALL_STATE(165)] = 7188, - [SMALL_STATE(166)] = 7211, - [SMALL_STATE(167)] = 7234, - [SMALL_STATE(168)] = 7257, - [SMALL_STATE(169)] = 7280, - [SMALL_STATE(170)] = 7303, - [SMALL_STATE(171)] = 7326, - [SMALL_STATE(172)] = 7349, - [SMALL_STATE(173)] = 7372, - [SMALL_STATE(174)] = 7395, - [SMALL_STATE(175)] = 7418, - [SMALL_STATE(176)] = 7441, - [SMALL_STATE(177)] = 7464, - [SMALL_STATE(178)] = 7487, - [SMALL_STATE(179)] = 7510, - [SMALL_STATE(180)] = 7533, - [SMALL_STATE(181)] = 7556, - [SMALL_STATE(182)] = 7579, - [SMALL_STATE(183)] = 7602, - [SMALL_STATE(184)] = 7625, - [SMALL_STATE(185)] = 7648, - [SMALL_STATE(186)] = 7670, - [SMALL_STATE(187)] = 7692, - [SMALL_STATE(188)] = 7712, - [SMALL_STATE(189)] = 7734, - [SMALL_STATE(190)] = 7754, - [SMALL_STATE(191)] = 7773, - [SMALL_STATE(192)] = 7790, - [SMALL_STATE(193)] = 7806, - [SMALL_STATE(194)] = 7825, - [SMALL_STATE(195)] = 7844, - [SMALL_STATE(196)] = 7863, - [SMALL_STATE(197)] = 7882, - [SMALL_STATE(198)] = 7895, - [SMALL_STATE(199)] = 7914, - [SMALL_STATE(200)] = 7933, - [SMALL_STATE(201)] = 7952, - [SMALL_STATE(202)] = 7971, - [SMALL_STATE(203)] = 7984, - [SMALL_STATE(204)] = 8003, - [SMALL_STATE(205)] = 8022, - [SMALL_STATE(206)] = 8035, - [SMALL_STATE(207)] = 8048, - [SMALL_STATE(208)] = 8061, - [SMALL_STATE(209)] = 8074, - [SMALL_STATE(210)] = 8093, - [SMALL_STATE(211)] = 8112, - [SMALL_STATE(212)] = 8131, - [SMALL_STATE(213)] = 8146, - [SMALL_STATE(214)] = 8163, - [SMALL_STATE(215)] = 8180, - [SMALL_STATE(216)] = 8195, - [SMALL_STATE(217)] = 8212, - [SMALL_STATE(218)] = 8223, - [SMALL_STATE(219)] = 8237, - [SMALL_STATE(220)] = 8253, - [SMALL_STATE(221)] = 8267, - [SMALL_STATE(222)] = 8283, - [SMALL_STATE(223)] = 8299, - [SMALL_STATE(224)] = 8315, - [SMALL_STATE(225)] = 8331, - [SMALL_STATE(226)] = 8347, - [SMALL_STATE(227)] = 8361, - [SMALL_STATE(228)] = 8375, - [SMALL_STATE(229)] = 8391, - [SMALL_STATE(230)] = 8407, - [SMALL_STATE(231)] = 8421, - [SMALL_STATE(232)] = 8435, - [SMALL_STATE(233)] = 8444, - [SMALL_STATE(234)] = 8457, - [SMALL_STATE(235)] = 8466, - [SMALL_STATE(236)] = 8479, - [SMALL_STATE(237)] = 8492, - [SMALL_STATE(238)] = 8505, - [SMALL_STATE(239)] = 8518, - [SMALL_STATE(240)] = 8529, - [SMALL_STATE(241)] = 8542, - [SMALL_STATE(242)] = 8555, - [SMALL_STATE(243)] = 8568, - [SMALL_STATE(244)] = 8581, - [SMALL_STATE(245)] = 8594, - [SMALL_STATE(246)] = 8607, - [SMALL_STATE(247)] = 8620, - [SMALL_STATE(248)] = 8629, - [SMALL_STATE(249)] = 8642, - [SMALL_STATE(250)] = 8655, - [SMALL_STATE(251)] = 8668, - [SMALL_STATE(252)] = 8681, - [SMALL_STATE(253)] = 8694, - [SMALL_STATE(254)] = 8707, - [SMALL_STATE(255)] = 8720, - [SMALL_STATE(256)] = 8733, - [SMALL_STATE(257)] = 8742, - [SMALL_STATE(258)] = 8755, - [SMALL_STATE(259)] = 8768, - [SMALL_STATE(260)] = 8781, - [SMALL_STATE(261)] = 8794, - [SMALL_STATE(262)] = 8807, - [SMALL_STATE(263)] = 8820, - [SMALL_STATE(264)] = 8833, - [SMALL_STATE(265)] = 8842, - [SMALL_STATE(266)] = 8853, - [SMALL_STATE(267)] = 8866, - [SMALL_STATE(268)] = 8879, - [SMALL_STATE(269)] = 8892, - [SMALL_STATE(270)] = 8905, - [SMALL_STATE(271)] = 8916, - [SMALL_STATE(272)] = 8929, - [SMALL_STATE(273)] = 8939, - [SMALL_STATE(274)] = 8947, - [SMALL_STATE(275)] = 8957, - [SMALL_STATE(276)] = 8967, - [SMALL_STATE(277)] = 8977, - [SMALL_STATE(278)] = 8987, - [SMALL_STATE(279)] = 8997, - [SMALL_STATE(280)] = 9007, - [SMALL_STATE(281)] = 9017, - [SMALL_STATE(282)] = 9027, - [SMALL_STATE(283)] = 9037, - [SMALL_STATE(284)] = 9047, - [SMALL_STATE(285)] = 9057, - [SMALL_STATE(286)] = 9067, - [SMALL_STATE(287)] = 9077, - [SMALL_STATE(288)] = 9087, - [SMALL_STATE(289)] = 9097, - [SMALL_STATE(290)] = 9107, - [SMALL_STATE(291)] = 9117, - [SMALL_STATE(292)] = 9127, - [SMALL_STATE(293)] = 9137, - [SMALL_STATE(294)] = 9147, - [SMALL_STATE(295)] = 9157, - [SMALL_STATE(296)] = 9167, - [SMALL_STATE(297)] = 9177, - [SMALL_STATE(298)] = 9187, - [SMALL_STATE(299)] = 9197, - [SMALL_STATE(300)] = 9207, - [SMALL_STATE(301)] = 9217, - [SMALL_STATE(302)] = 9227, - [SMALL_STATE(303)] = 9237, - [SMALL_STATE(304)] = 9247, - [SMALL_STATE(305)] = 9255, - [SMALL_STATE(306)] = 9265, - [SMALL_STATE(307)] = 9275, - [SMALL_STATE(308)] = 9285, - [SMALL_STATE(309)] = 9295, - [SMALL_STATE(310)] = 9305, - [SMALL_STATE(311)] = 9315, - [SMALL_STATE(312)] = 9325, - [SMALL_STATE(313)] = 9333, - [SMALL_STATE(314)] = 9343, - [SMALL_STATE(315)] = 9353, - [SMALL_STATE(316)] = 9363, - [SMALL_STATE(317)] = 9373, - [SMALL_STATE(318)] = 9383, - [SMALL_STATE(319)] = 9391, - [SMALL_STATE(320)] = 9399, - [SMALL_STATE(321)] = 9409, - [SMALL_STATE(322)] = 9419, - [SMALL_STATE(323)] = 9429, - [SMALL_STATE(324)] = 9439, - [SMALL_STATE(325)] = 9447, - [SMALL_STATE(326)] = 9457, - [SMALL_STATE(327)] = 9467, - [SMALL_STATE(328)] = 9477, - [SMALL_STATE(329)] = 9487, - [SMALL_STATE(330)] = 9495, - [SMALL_STATE(331)] = 9503, - [SMALL_STATE(332)] = 9510, - [SMALL_STATE(333)] = 9517, - [SMALL_STATE(334)] = 9524, - [SMALL_STATE(335)] = 9531, - [SMALL_STATE(336)] = 9538, - [SMALL_STATE(337)] = 9545, - [SMALL_STATE(338)] = 9552, - [SMALL_STATE(339)] = 9559, - [SMALL_STATE(340)] = 9566, - [SMALL_STATE(341)] = 9573, - [SMALL_STATE(342)] = 9580, - [SMALL_STATE(343)] = 9587, - [SMALL_STATE(344)] = 9594, - [SMALL_STATE(345)] = 9601, - [SMALL_STATE(346)] = 9608, - [SMALL_STATE(347)] = 9615, - [SMALL_STATE(348)] = 9622, - [SMALL_STATE(349)] = 9629, - [SMALL_STATE(350)] = 9636, - [SMALL_STATE(351)] = 9643, - [SMALL_STATE(352)] = 9650, - [SMALL_STATE(353)] = 9657, - [SMALL_STATE(354)] = 9664, - [SMALL_STATE(355)] = 9671, - [SMALL_STATE(356)] = 9678, - [SMALL_STATE(357)] = 9685, - [SMALL_STATE(358)] = 9692, - [SMALL_STATE(359)] = 9699, - [SMALL_STATE(360)] = 9706, - [SMALL_STATE(361)] = 9713, - [SMALL_STATE(362)] = 9720, - [SMALL_STATE(363)] = 9727, - [SMALL_STATE(364)] = 9734, - [SMALL_STATE(365)] = 9741, - [SMALL_STATE(366)] = 9748, - [SMALL_STATE(367)] = 9755, - [SMALL_STATE(368)] = 9762, - [SMALL_STATE(369)] = 9769, - [SMALL_STATE(370)] = 9776, - [SMALL_STATE(371)] = 9783, - [SMALL_STATE(372)] = 9790, - [SMALL_STATE(373)] = 9797, - [SMALL_STATE(374)] = 9804, - [SMALL_STATE(375)] = 9811, - [SMALL_STATE(376)] = 9818, - [SMALL_STATE(377)] = 9825, - [SMALL_STATE(378)] = 9832, - [SMALL_STATE(379)] = 9839, - [SMALL_STATE(380)] = 9846, - [SMALL_STATE(381)] = 9853, - [SMALL_STATE(382)] = 9860, - [SMALL_STATE(383)] = 9867, - [SMALL_STATE(384)] = 9874, - [SMALL_STATE(385)] = 9881, - [SMALL_STATE(386)] = 9888, - [SMALL_STATE(387)] = 9895, - [SMALL_STATE(388)] = 9902, - [SMALL_STATE(389)] = 9909, - [SMALL_STATE(390)] = 9916, - [SMALL_STATE(391)] = 9923, - [SMALL_STATE(392)] = 9930, - [SMALL_STATE(393)] = 9937, - [SMALL_STATE(394)] = 9944, - [SMALL_STATE(395)] = 9951, - [SMALL_STATE(396)] = 9958, - [SMALL_STATE(397)] = 9965, - [SMALL_STATE(398)] = 9972, - [SMALL_STATE(399)] = 9979, - [SMALL_STATE(400)] = 9986, - [SMALL_STATE(401)] = 9993, - [SMALL_STATE(402)] = 10000, - [SMALL_STATE(403)] = 10007, - [SMALL_STATE(404)] = 10014, - [SMALL_STATE(405)] = 10021, - [SMALL_STATE(406)] = 10028, - [SMALL_STATE(407)] = 10035, + [SMALL_STATE(3)] = 111, + [SMALL_STATE(4)] = 222, + [SMALL_STATE(5)] = 333, + [SMALL_STATE(6)] = 444, + [SMALL_STATE(7)] = 555, + [SMALL_STATE(8)] = 602, + [SMALL_STATE(9)] = 649, + [SMALL_STATE(10)] = 696, + [SMALL_STATE(11)] = 787, + [SMALL_STATE(12)] = 837, + [SMALL_STATE(13)] = 894, + [SMALL_STATE(14)] = 978, + [SMALL_STATE(15)] = 1062, + [SMALL_STATE(16)] = 1146, + [SMALL_STATE(17)] = 1191, + [SMALL_STATE(18)] = 1262, + [SMALL_STATE(19)] = 1333, + [SMALL_STATE(20)] = 1380, + [SMALL_STATE(21)] = 1451, + [SMALL_STATE(22)] = 1511, + [SMALL_STATE(23)] = 1571, + [SMALL_STATE(24)] = 1629, + [SMALL_STATE(25)] = 1689, + [SMALL_STATE(26)] = 1756, + [SMALL_STATE(27)] = 1823, + [SMALL_STATE(28)] = 1880, + [SMALL_STATE(29)] = 1947, + [SMALL_STATE(30)] = 2001, + [SMALL_STATE(31)] = 2055, + [SMALL_STATE(32)] = 2109, + [SMALL_STATE(33)] = 2163, + [SMALL_STATE(34)] = 2217, + [SMALL_STATE(35)] = 2271, + [SMALL_STATE(36)] = 2325, + [SMALL_STATE(37)] = 2379, + [SMALL_STATE(38)] = 2433, + [SMALL_STATE(39)] = 2487, + [SMALL_STATE(40)] = 2541, + [SMALL_STATE(41)] = 2595, + [SMALL_STATE(42)] = 2649, + [SMALL_STATE(43)] = 2703, + [SMALL_STATE(44)] = 2757, + [SMALL_STATE(45)] = 2811, + [SMALL_STATE(46)] = 2865, + [SMALL_STATE(47)] = 2919, + [SMALL_STATE(48)] = 2973, + [SMALL_STATE(49)] = 3027, + [SMALL_STATE(50)] = 3081, + [SMALL_STATE(51)] = 3135, + [SMALL_STATE(52)] = 3189, + [SMALL_STATE(53)] = 3243, + [SMALL_STATE(54)] = 3297, + [SMALL_STATE(55)] = 3351, + [SMALL_STATE(56)] = 3405, + [SMALL_STATE(57)] = 3459, + [SMALL_STATE(58)] = 3513, + [SMALL_STATE(59)] = 3567, + [SMALL_STATE(60)] = 3602, + [SMALL_STATE(61)] = 3637, + [SMALL_STATE(62)] = 3674, + [SMALL_STATE(63)] = 3709, + [SMALL_STATE(64)] = 3744, + [SMALL_STATE(65)] = 3779, + [SMALL_STATE(66)] = 3814, + [SMALL_STATE(67)] = 3849, + [SMALL_STATE(68)] = 3884, + [SMALL_STATE(69)] = 3919, + [SMALL_STATE(70)] = 3954, + [SMALL_STATE(71)] = 3989, + [SMALL_STATE(72)] = 4024, + [SMALL_STATE(73)] = 4059, + [SMALL_STATE(74)] = 4094, + [SMALL_STATE(75)] = 4129, + [SMALL_STATE(76)] = 4164, + [SMALL_STATE(77)] = 4199, + [SMALL_STATE(78)] = 4234, + [SMALL_STATE(79)] = 4288, + [SMALL_STATE(80)] = 4342, + [SMALL_STATE(81)] = 4386, + [SMALL_STATE(82)] = 4424, + [SMALL_STATE(83)] = 4464, + [SMALL_STATE(84)] = 4512, + [SMALL_STATE(85)] = 4548, + [SMALL_STATE(86)] = 4590, + [SMALL_STATE(87)] = 4626, + [SMALL_STATE(88)] = 4664, + [SMALL_STATE(89)] = 4720, + [SMALL_STATE(90)] = 4770, + [SMALL_STATE(91)] = 4830, + [SMALL_STATE(92)] = 4882, + [SMALL_STATE(93)] = 4914, + [SMALL_STATE(94)] = 4946, + [SMALL_STATE(95)] = 4978, + [SMALL_STATE(96)] = 5010, + [SMALL_STATE(97)] = 5042, + [SMALL_STATE(98)] = 5074, + [SMALL_STATE(99)] = 5106, + [SMALL_STATE(100)] = 5138, + [SMALL_STATE(101)] = 5195, + [SMALL_STATE(102)] = 5252, + [SMALL_STATE(103)] = 5309, + [SMALL_STATE(104)] = 5366, + [SMALL_STATE(105)] = 5423, + [SMALL_STATE(106)] = 5480, + [SMALL_STATE(107)] = 5537, + [SMALL_STATE(108)] = 5594, + [SMALL_STATE(109)] = 5651, + [SMALL_STATE(110)] = 5708, + [SMALL_STATE(111)] = 5765, + [SMALL_STATE(112)] = 5822, + [SMALL_STATE(113)] = 5878, + [SMALL_STATE(114)] = 5910, + [SMALL_STATE(115)] = 5966, + [SMALL_STATE(116)] = 6022, + [SMALL_STATE(117)] = 6078, + [SMALL_STATE(118)] = 6134, + [SMALL_STATE(119)] = 6190, + [SMALL_STATE(120)] = 6246, + [SMALL_STATE(121)] = 6302, + [SMALL_STATE(122)] = 6358, + [SMALL_STATE(123)] = 6384, + [SMALL_STATE(124)] = 6410, + [SMALL_STATE(125)] = 6436, + [SMALL_STATE(126)] = 6462, + [SMALL_STATE(127)] = 6487, + [SMALL_STATE(128)] = 6512, + [SMALL_STATE(129)] = 6537, + [SMALL_STATE(130)] = 6562, + [SMALL_STATE(131)] = 6587, + [SMALL_STATE(132)] = 6612, + [SMALL_STATE(133)] = 6637, + [SMALL_STATE(134)] = 6662, + [SMALL_STATE(135)] = 6687, + [SMALL_STATE(136)] = 6712, + [SMALL_STATE(137)] = 6737, + [SMALL_STATE(138)] = 6762, + [SMALL_STATE(139)] = 6787, + [SMALL_STATE(140)] = 6812, + [SMALL_STATE(141)] = 6837, + [SMALL_STATE(142)] = 6862, + [SMALL_STATE(143)] = 6887, + [SMALL_STATE(144)] = 6912, + [SMALL_STATE(145)] = 6937, + [SMALL_STATE(146)] = 6962, + [SMALL_STATE(147)] = 6987, + [SMALL_STATE(148)] = 7012, + [SMALL_STATE(149)] = 7037, + [SMALL_STATE(150)] = 7062, + [SMALL_STATE(151)] = 7087, + [SMALL_STATE(152)] = 7112, + [SMALL_STATE(153)] = 7137, + [SMALL_STATE(154)] = 7162, + [SMALL_STATE(155)] = 7187, + [SMALL_STATE(156)] = 7212, + [SMALL_STATE(157)] = 7237, + [SMALL_STATE(158)] = 7262, + [SMALL_STATE(159)] = 7287, + [SMALL_STATE(160)] = 7312, + [SMALL_STATE(161)] = 7337, + [SMALL_STATE(162)] = 7362, + [SMALL_STATE(163)] = 7387, + [SMALL_STATE(164)] = 7412, + [SMALL_STATE(165)] = 7437, + [SMALL_STATE(166)] = 7462, + [SMALL_STATE(167)] = 7487, + [SMALL_STATE(168)] = 7512, + [SMALL_STATE(169)] = 7537, + [SMALL_STATE(170)] = 7562, + [SMALL_STATE(171)] = 7587, + [SMALL_STATE(172)] = 7612, + [SMALL_STATE(173)] = 7637, + [SMALL_STATE(174)] = 7662, + [SMALL_STATE(175)] = 7687, + [SMALL_STATE(176)] = 7712, + [SMALL_STATE(177)] = 7751, + [SMALL_STATE(178)] = 7790, + [SMALL_STATE(179)] = 7829, + [SMALL_STATE(180)] = 7853, + [SMALL_STATE(181)] = 7877, + [SMALL_STATE(182)] = 7901, + [SMALL_STATE(183)] = 7925, + [SMALL_STATE(184)] = 7949, + [SMALL_STATE(185)] = 7973, + [SMALL_STATE(186)] = 7997, + [SMALL_STATE(187)] = 8021, + [SMALL_STATE(188)] = 8045, + [SMALL_STATE(189)] = 8069, + [SMALL_STATE(190)] = 8093, + [SMALL_STATE(191)] = 8117, + [SMALL_STATE(192)] = 8140, + [SMALL_STATE(193)] = 8175, + [SMALL_STATE(194)] = 8198, + [SMALL_STATE(195)] = 8233, + [SMALL_STATE(196)] = 8268, + [SMALL_STATE(197)] = 8303, + [SMALL_STATE(198)] = 8338, + [SMALL_STATE(199)] = 8373, + [SMALL_STATE(200)] = 8408, + [SMALL_STATE(201)] = 8443, + [SMALL_STATE(202)] = 8478, + [SMALL_STATE(203)] = 8513, + [SMALL_STATE(204)] = 8542, + [SMALL_STATE(205)] = 8562, + [SMALL_STATE(206)] = 8582, + [SMALL_STATE(207)] = 8602, + [SMALL_STATE(208)] = 8622, + [SMALL_STATE(209)] = 8642, + [SMALL_STATE(210)] = 8662, + [SMALL_STATE(211)] = 8682, + [SMALL_STATE(212)] = 8702, + [SMALL_STATE(213)] = 8722, + [SMALL_STATE(214)] = 8742, + [SMALL_STATE(215)] = 8761, + [SMALL_STATE(216)] = 8780, + [SMALL_STATE(217)] = 8799, + [SMALL_STATE(218)] = 8818, + [SMALL_STATE(219)] = 8839, + [SMALL_STATE(220)] = 8858, + [SMALL_STATE(221)] = 8877, + [SMALL_STATE(222)] = 8896, + [SMALL_STATE(223)] = 8915, + [SMALL_STATE(224)] = 8934, + [SMALL_STATE(225)] = 8953, + [SMALL_STATE(226)] = 8972, + [SMALL_STATE(227)] = 8991, + [SMALL_STATE(228)] = 9010, + [SMALL_STATE(229)] = 9033, + [SMALL_STATE(230)] = 9052, + [SMALL_STATE(231)] = 9075, + [SMALL_STATE(232)] = 9094, + [SMALL_STATE(233)] = 9113, + [SMALL_STATE(234)] = 9134, + [SMALL_STATE(235)] = 9152, + [SMALL_STATE(236)] = 9172, + [SMALL_STATE(237)] = 9187, + [SMALL_STATE(238)] = 9202, + [SMALL_STATE(239)] = 9217, + [SMALL_STATE(240)] = 9232, + [SMALL_STATE(241)] = 9249, + [SMALL_STATE(242)] = 9269, + [SMALL_STATE(243)] = 9289, + [SMALL_STATE(244)] = 9309, + [SMALL_STATE(245)] = 9329, + [SMALL_STATE(246)] = 9349, + [SMALL_STATE(247)] = 9369, + [SMALL_STATE(248)] = 9383, + [SMALL_STATE(249)] = 9403, + [SMALL_STATE(250)] = 9417, + [SMALL_STATE(251)] = 9437, + [SMALL_STATE(252)] = 9457, + [SMALL_STATE(253)] = 9471, + [SMALL_STATE(254)] = 9485, + [SMALL_STATE(255)] = 9505, + [SMALL_STATE(256)] = 9519, + [SMALL_STATE(257)] = 9539, + [SMALL_STATE(258)] = 9559, + [SMALL_STATE(259)] = 9579, + [SMALL_STATE(260)] = 9599, + [SMALL_STATE(261)] = 9613, + [SMALL_STATE(262)] = 9633, + [SMALL_STATE(263)] = 9653, + [SMALL_STATE(264)] = 9673, + [SMALL_STATE(265)] = 9696, + [SMALL_STATE(266)] = 9714, + [SMALL_STATE(267)] = 9732, + [SMALL_STATE(268)] = 9748, + [SMALL_STATE(269)] = 9766, + [SMALL_STATE(270)] = 9778, + [SMALL_STATE(271)] = 9794, + [SMALL_STATE(272)] = 9812, + [SMALL_STATE(273)] = 9830, + [SMALL_STATE(274)] = 9841, + [SMALL_STATE(275)] = 9858, + [SMALL_STATE(276)] = 9873, + [SMALL_STATE(277)] = 9888, + [SMALL_STATE(278)] = 9899, + [SMALL_STATE(279)] = 9916, + [SMALL_STATE(280)] = 9933, + [SMALL_STATE(281)] = 9948, + [SMALL_STATE(282)] = 9959, + [SMALL_STATE(283)] = 9976, + [SMALL_STATE(284)] = 9993, + [SMALL_STATE(285)] = 10008, + [SMALL_STATE(286)] = 10025, + [SMALL_STATE(287)] = 10040, + [SMALL_STATE(288)] = 10055, + [SMALL_STATE(289)] = 10070, + [SMALL_STATE(290)] = 10085, + [SMALL_STATE(291)] = 10100, + [SMALL_STATE(292)] = 10111, + [SMALL_STATE(293)] = 10126, + [SMALL_STATE(294)] = 10140, + [SMALL_STATE(295)] = 10154, + [SMALL_STATE(296)] = 10166, + [SMALL_STATE(297)] = 10180, + [SMALL_STATE(298)] = 10194, + [SMALL_STATE(299)] = 10208, + [SMALL_STATE(300)] = 10220, + [SMALL_STATE(301)] = 10234, + [SMALL_STATE(302)] = 10248, + [SMALL_STATE(303)] = 10262, + [SMALL_STATE(304)] = 10276, + [SMALL_STATE(305)] = 10290, + [SMALL_STATE(306)] = 10304, + [SMALL_STATE(307)] = 10318, + [SMALL_STATE(308)] = 10330, + [SMALL_STATE(309)] = 10344, + [SMALL_STATE(310)] = 10358, + [SMALL_STATE(311)] = 10372, + [SMALL_STATE(312)] = 10386, + [SMALL_STATE(313)] = 10400, + [SMALL_STATE(314)] = 10414, + [SMALL_STATE(315)] = 10428, + [SMALL_STATE(316)] = 10442, + [SMALL_STATE(317)] = 10456, + [SMALL_STATE(318)] = 10470, + [SMALL_STATE(319)] = 10484, + [SMALL_STATE(320)] = 10498, + [SMALL_STATE(321)] = 10512, + [SMALL_STATE(322)] = 10526, + [SMALL_STATE(323)] = 10540, + [SMALL_STATE(324)] = 10554, + [SMALL_STATE(325)] = 10568, + [SMALL_STATE(326)] = 10582, + [SMALL_STATE(327)] = 10594, + [SMALL_STATE(328)] = 10608, + [SMALL_STATE(329)] = 10622, + [SMALL_STATE(330)] = 10636, + [SMALL_STATE(331)] = 10650, + [SMALL_STATE(332)] = 10664, + [SMALL_STATE(333)] = 10674, + [SMALL_STATE(334)] = 10688, + [SMALL_STATE(335)] = 10702, + [SMALL_STATE(336)] = 10716, + [SMALL_STATE(337)] = 10727, + [SMALL_STATE(338)] = 10738, + [SMALL_STATE(339)] = 10749, + [SMALL_STATE(340)] = 10758, + [SMALL_STATE(341)] = 10769, + [SMALL_STATE(342)] = 10780, + [SMALL_STATE(343)] = 10791, + [SMALL_STATE(344)] = 10802, + [SMALL_STATE(345)] = 10815, + [SMALL_STATE(346)] = 10826, + [SMALL_STATE(347)] = 10837, + [SMALL_STATE(348)] = 10848, + [SMALL_STATE(349)] = 10859, + [SMALL_STATE(350)] = 10870, + [SMALL_STATE(351)] = 10881, + [SMALL_STATE(352)] = 10890, + [SMALL_STATE(353)] = 10901, + [SMALL_STATE(354)] = 10914, + [SMALL_STATE(355)] = 10925, + [SMALL_STATE(356)] = 10934, + [SMALL_STATE(357)] = 10945, + [SMALL_STATE(358)] = 10956, + [SMALL_STATE(359)] = 10967, + [SMALL_STATE(360)] = 10978, + [SMALL_STATE(361)] = 10989, + [SMALL_STATE(362)] = 11000, + [SMALL_STATE(363)] = 11011, + [SMALL_STATE(364)] = 11022, + [SMALL_STATE(365)] = 11031, + [SMALL_STATE(366)] = 11042, + [SMALL_STATE(367)] = 11053, + [SMALL_STATE(368)] = 11064, + [SMALL_STATE(369)] = 11075, + [SMALL_STATE(370)] = 11086, + [SMALL_STATE(371)] = 11097, + [SMALL_STATE(372)] = 11108, + [SMALL_STATE(373)] = 11119, + [SMALL_STATE(374)] = 11130, + [SMALL_STATE(375)] = 11143, + [SMALL_STATE(376)] = 11154, + [SMALL_STATE(377)] = 11165, + [SMALL_STATE(378)] = 11176, + [SMALL_STATE(379)] = 11185, + [SMALL_STATE(380)] = 11194, + [SMALL_STATE(381)] = 11205, + [SMALL_STATE(382)] = 11216, + [SMALL_STATE(383)] = 11227, + [SMALL_STATE(384)] = 11240, + [SMALL_STATE(385)] = 11251, + [SMALL_STATE(386)] = 11262, + [SMALL_STATE(387)] = 11273, + [SMALL_STATE(388)] = 11284, + [SMALL_STATE(389)] = 11295, + [SMALL_STATE(390)] = 11306, + [SMALL_STATE(391)] = 11317, + [SMALL_STATE(392)] = 11328, + [SMALL_STATE(393)] = 11339, + [SMALL_STATE(394)] = 11350, + [SMALL_STATE(395)] = 11361, + [SMALL_STATE(396)] = 11372, + [SMALL_STATE(397)] = 11381, + [SMALL_STATE(398)] = 11392, + [SMALL_STATE(399)] = 11405, + [SMALL_STATE(400)] = 11416, + [SMALL_STATE(401)] = 11427, + [SMALL_STATE(402)] = 11436, + [SMALL_STATE(403)] = 11445, + [SMALL_STATE(404)] = 11458, + [SMALL_STATE(405)] = 11469, + [SMALL_STATE(406)] = 11480, + [SMALL_STATE(407)] = 11491, + [SMALL_STATE(408)] = 11502, + [SMALL_STATE(409)] = 11513, + [SMALL_STATE(410)] = 11524, + [SMALL_STATE(411)] = 11535, + [SMALL_STATE(412)] = 11546, + [SMALL_STATE(413)] = 11557, + [SMALL_STATE(414)] = 11568, + [SMALL_STATE(415)] = 11579, + [SMALL_STATE(416)] = 11588, + [SMALL_STATE(417)] = 11599, + [SMALL_STATE(418)] = 11610, + [SMALL_STATE(419)] = 11621, + [SMALL_STATE(420)] = 11632, + [SMALL_STATE(421)] = 11640, + [SMALL_STATE(422)] = 11648, + [SMALL_STATE(423)] = 11656, + [SMALL_STATE(424)] = 11664, + [SMALL_STATE(425)] = 11672, + [SMALL_STATE(426)] = 11680, + [SMALL_STATE(427)] = 11690, + [SMALL_STATE(428)] = 11698, + [SMALL_STATE(429)] = 11708, + [SMALL_STATE(430)] = 11716, + [SMALL_STATE(431)] = 11724, + [SMALL_STATE(432)] = 11734, + [SMALL_STATE(433)] = 11742, + [SMALL_STATE(434)] = 11750, + [SMALL_STATE(435)] = 11760, + [SMALL_STATE(436)] = 11768, + [SMALL_STATE(437)] = 11776, + [SMALL_STATE(438)] = 11784, + [SMALL_STATE(439)] = 11792, + [SMALL_STATE(440)] = 11800, + [SMALL_STATE(441)] = 11808, + [SMALL_STATE(442)] = 11816, + [SMALL_STATE(443)] = 11824, + [SMALL_STATE(444)] = 11832, + [SMALL_STATE(445)] = 11840, + [SMALL_STATE(446)] = 11848, + [SMALL_STATE(447)] = 11856, + [SMALL_STATE(448)] = 11864, + [SMALL_STATE(449)] = 11872, + [SMALL_STATE(450)] = 11880, + [SMALL_STATE(451)] = 11888, + [SMALL_STATE(452)] = 11896, + [SMALL_STATE(453)] = 11904, + [SMALL_STATE(454)] = 11912, + [SMALL_STATE(455)] = 11920, + [SMALL_STATE(456)] = 11928, + [SMALL_STATE(457)] = 11936, + [SMALL_STATE(458)] = 11944, + [SMALL_STATE(459)] = 11952, + [SMALL_STATE(460)] = 11962, + [SMALL_STATE(461)] = 11970, + [SMALL_STATE(462)] = 11978, + [SMALL_STATE(463)] = 11986, + [SMALL_STATE(464)] = 11994, + [SMALL_STATE(465)] = 12004, + [SMALL_STATE(466)] = 12012, + [SMALL_STATE(467)] = 12022, + [SMALL_STATE(468)] = 12032, + [SMALL_STATE(469)] = 12040, + [SMALL_STATE(470)] = 12048, + [SMALL_STATE(471)] = 12056, + [SMALL_STATE(472)] = 12064, + [SMALL_STATE(473)] = 12072, + [SMALL_STATE(474)] = 12080, + [SMALL_STATE(475)] = 12088, + [SMALL_STATE(476)] = 12096, + [SMALL_STATE(477)] = 12104, + [SMALL_STATE(478)] = 12112, + [SMALL_STATE(479)] = 12120, + [SMALL_STATE(480)] = 12128, + [SMALL_STATE(481)] = 12136, + [SMALL_STATE(482)] = 12144, + [SMALL_STATE(483)] = 12152, + [SMALL_STATE(484)] = 12160, + [SMALL_STATE(485)] = 12168, + [SMALL_STATE(486)] = 12176, + [SMALL_STATE(487)] = 12184, + [SMALL_STATE(488)] = 12192, + [SMALL_STATE(489)] = 12200, + [SMALL_STATE(490)] = 12208, + [SMALL_STATE(491)] = 12218, + [SMALL_STATE(492)] = 12226, + [SMALL_STATE(493)] = 12234, + [SMALL_STATE(494)] = 12242, + [SMALL_STATE(495)] = 12250, + [SMALL_STATE(496)] = 12258, + [SMALL_STATE(497)] = 12266, + [SMALL_STATE(498)] = 12274, + [SMALL_STATE(499)] = 12282, + [SMALL_STATE(500)] = 12290, + [SMALL_STATE(501)] = 12298, + [SMALL_STATE(502)] = 12306, + [SMALL_STATE(503)] = 12314, + [SMALL_STATE(504)] = 12322, + [SMALL_STATE(505)] = 12330, + [SMALL_STATE(506)] = 12338, + [SMALL_STATE(507)] = 12346, + [SMALL_STATE(508)] = 12354, + [SMALL_STATE(509)] = 12362, + [SMALL_STATE(510)] = 12370, + [SMALL_STATE(511)] = 12378, + [SMALL_STATE(512)] = 12386, + [SMALL_STATE(513)] = 12394, + [SMALL_STATE(514)] = 12402, + [SMALL_STATE(515)] = 12410, + [SMALL_STATE(516)] = 12418, + [SMALL_STATE(517)] = 12426, + [SMALL_STATE(518)] = 12434, + [SMALL_STATE(519)] = 12442, + [SMALL_STATE(520)] = 12450, + [SMALL_STATE(521)] = 12458, + [SMALL_STATE(522)] = 12466, + [SMALL_STATE(523)] = 12474, + [SMALL_STATE(524)] = 12482, + [SMALL_STATE(525)] = 12490, + [SMALL_STATE(526)] = 12498, + [SMALL_STATE(527)] = 12506, + [SMALL_STATE(528)] = 12516, + [SMALL_STATE(529)] = 12524, + [SMALL_STATE(530)] = 12534, + [SMALL_STATE(531)] = 12542, + [SMALL_STATE(532)] = 12552, + [SMALL_STATE(533)] = 12560, + [SMALL_STATE(534)] = 12568, + [SMALL_STATE(535)] = 12576, + [SMALL_STATE(536)] = 12584, + [SMALL_STATE(537)] = 12592, + [SMALL_STATE(538)] = 12600, + [SMALL_STATE(539)] = 12608, + [SMALL_STATE(540)] = 12615, + [SMALL_STATE(541)] = 12622, + [SMALL_STATE(542)] = 12629, + [SMALL_STATE(543)] = 12636, + [SMALL_STATE(544)] = 12643, + [SMALL_STATE(545)] = 12650, + [SMALL_STATE(546)] = 12657, + [SMALL_STATE(547)] = 12664, + [SMALL_STATE(548)] = 12671, + [SMALL_STATE(549)] = 12678, + [SMALL_STATE(550)] = 12685, + [SMALL_STATE(551)] = 12692, + [SMALL_STATE(552)] = 12699, + [SMALL_STATE(553)] = 12706, + [SMALL_STATE(554)] = 12713, + [SMALL_STATE(555)] = 12720, + [SMALL_STATE(556)] = 12727, + [SMALL_STATE(557)] = 12734, + [SMALL_STATE(558)] = 12741, + [SMALL_STATE(559)] = 12748, + [SMALL_STATE(560)] = 12755, + [SMALL_STATE(561)] = 12762, + [SMALL_STATE(562)] = 12769, + [SMALL_STATE(563)] = 12776, + [SMALL_STATE(564)] = 12783, + [SMALL_STATE(565)] = 12790, + [SMALL_STATE(566)] = 12797, + [SMALL_STATE(567)] = 12804, + [SMALL_STATE(568)] = 12811, + [SMALL_STATE(569)] = 12818, + [SMALL_STATE(570)] = 12825, + [SMALL_STATE(571)] = 12832, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -12251,513 +15773,703 @@ 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(274), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), - [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(335), - [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(21), - [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(331), - [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(342), - [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(343), - [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(316), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(302), - [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(349), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(351), - [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), - [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), - [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [75] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(11), - [78] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(29), - [81] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(3), - [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), - [86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(335), - [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(21), - [92] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(331), - [95] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(342), - [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(343), - [101] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(316), - [104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(302), - [107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(349), - [110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(35), - [113] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(351), - [116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(16), - [119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(231), - [122] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(76), - [125] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(56), - [128] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(56), - [131] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block_statement, 2, 0, 0), - [133] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_statement, 2, 0, 0), - [135] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block_statement, 4, 0, 0), - [137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_statement, 4, 0, 0), - [139] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block_statement, 3, 0, 0), - [141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_statement, 3, 0, 0), - [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_access_expression, 3, 0, 38), - [145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_access_expression, 3, 0, 38), - [147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [149] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_expression, 1, 0, 0), - [151] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__path_expression, 1, 0, 0), - [153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), - [155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__path_expression, 1, 0, 0), - [157] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_expression, 1, 0, 0), - [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2, 0, 0), - [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), - [165] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(386), - [168] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(382), - [171] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(190), - [174] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(373), - [177] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(368), - [180] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(189), - [183] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(355), - [186] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(240), - [189] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(354), - [192] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(356), - [195] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(352), - [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), - [200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1, 0, 0), - [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(314), - [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(404), - [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(190), - [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(400), - [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(189), - [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(313), - [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(348), - [224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(346), - [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(344), - [228] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(314), - [231] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(404), - [234] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(190), - [237] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(400), - [240] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(189), - [243] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), - [245] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(313), - [248] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(348), - [251] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(346), - [254] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(344), - [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 0), - [263] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, 0, 0), - [265] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_static_call_expression, 2, 0, 26), - [267] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_static_call_expression, 2, 0, 26), - [269] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_argument_list, 4, 0, 0), - [271] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instance_argument_list, 4, 0, 0), - [273] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_expression, 2, 0, 26), - [275] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instance_expression, 2, 0, 26), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), - [281] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2, 0, 0), - [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_argument_list, 2, 0, 0), - [285] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instance_argument_list, 2, 0, 0), - [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2, 0, 0), - [289] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2, 0, 0), - [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initOf, 3, 0, 33), - [293] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initOf, 3, 0, 33), - [295] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [297] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), - [299] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_argument_list, 5, 0, 0), - [301] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instance_argument_list, 5, 0, 0), - [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_non_null_assert_expression, 2, 0, 27), - [305] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_non_null_assert_expression, 2, 0, 27), - [307] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(314), - [310] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(404), - [313] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(190), - [316] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(400), - [319] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(189), - [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), - [324] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(348), - [327] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(346), - [330] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(344), - [333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call_expression, 4, 0, 45), - [335] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call_expression, 4, 0, 45), - [337] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0), - [339] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, 0, 0), - [341] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), - [343] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), - [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), - [347] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 5, 0, 0), - [349] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 5, 0, 0), - [351] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3, 0, 0), - [353] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, 0, 0), - [355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), - [357] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), - [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_argument_list, 3, 0, 0), - [361] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instance_argument_list, 3, 0, 0), - [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 25), - [365] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 25), - [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [369] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 2, 0, 24), - [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 2, 0, 24), - [373] = {.entry = {.count = 1, .reusable = false}}, SHIFT(385), - [375] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 37), - [377] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 37), - [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [381] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), - [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), - [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), - [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ternary_expression, 5, 0, 54), - [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [405] = {.entry = {.count = 1, .reusable = false}}, SHIFT(47), - [407] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 51), - [409] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 51), - [411] = {.entry = {.count = 1, .reusable = false}}, SHIFT(220), - [413] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 2, 0, 0), - [415] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2, 0, 0), - [417] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 2, 0, 0), - [419] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 2, 0, 0), - [421] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, 0, 52), - [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, 0, 52), - [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 3, 0, 32), - [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 3, 0, 32), - [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_clause, 5, 0, 63), - [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 5, 0, 63), - [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 5, 0, 52), - [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 5, 0, 52), - [437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, 0, 59), - [439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, 0, 59), - [441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_foreach_statement, 9, 0, 64), - [443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_foreach_statement, 9, 0, 64), - [445] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 1, 0, 0), - [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), - [449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_statement, 4, 0, 44), - [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_statement, 6, 0, 31), - [453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_after_id, 4, 0, 46), - [455] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_argument, 3, 0, 53), - [457] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 1, 0, 34), - [459] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_after_id, 5, 0, 55), - [461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 3, 0, 36), - [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_augmented_assignment_statement, 3, 0, 37), - [465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), - [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), - [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), - [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(272), - [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), - [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), - [489] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(274), - [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 3, 0, 3), - [494] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_body, 3, 0, 0), - [496] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract, 3, 0, 5), - [498] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait, 4, 0, 14), - [500] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 4, 0, 8), - [502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constant, 5, 0, 15), - [504] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body, 2, 0, 0), - [506] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_message, 4, 0, 9), - [508] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__module_item, 1, 0, 1), - [510] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_native_function, 9, 0, 50), - [512] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_body, 2, 0, 0), - [514] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_native_function, 10, 0, 58), - [516] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constant, 8, 0, 48), - [518] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive, 3, 0, 4), - [520] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body, 4, 0, 0), - [522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract, 4, 0, 12), - [524] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_body, 2, 0, 0), - [526] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constant, 7, 0, 31), - [528] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_native_function, 11, 0, 62), - [530] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct, 3, 0, 5), - [532] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constant, 6, 0, 29), - [534] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_message, 3, 0, 6), - [536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait, 4, 0, 12), - [538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 6, 0, 23), - [540] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 6, 0, 22), - [542] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract, 4, 0, 13), - [544] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 5, 0, 17), - [546] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body, 3, 0, 0), - [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_native_function, 8, 0, 43), - [550] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait, 3, 0, 5), - [552] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 5, 0, 18), - [554] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 7, 0, 42), - [556] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract, 5, 0, 19), - [558] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 7, 0, 41), - [560] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_body, 3, 0, 0), - [562] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__module_item, 1, 0, 2), - [564] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait, 5, 0, 20), - [566] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body, 5, 0, 0), - [568] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 4, 0, 7), - [570] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function, 5, 0, 18), - [572] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function, 5, 0, 17), - [574] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_storage_variable, 3, 0, 16), - [576] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_variable, 3, 0, 16), - [578] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_function, 3, 0, 28), - [580] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_function, 3, 0, 28), - [582] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__constant, 6, 0, 29), - [584] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_external_function, 4, 0, 40), - [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function, 4, 0, 40), - [588] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_external_function, 5, 0, 47), - [590] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function, 5, 0, 47), - [592] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_receive_function, 4, 0, 40), - [594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_receive_function, 4, 0, 40), - [596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__constant, 8, 0, 48), - [598] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function, 4, 0, 7), - [600] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function, 7, 0, 42), - [602] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function, 7, 0, 41), - [604] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function, 4, 0, 8), - [606] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__constant, 5, 0, 15), - [608] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function, 6, 0, 23), - [610] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__constant, 7, 0, 31), - [612] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bounced_function, 5, 0, 47), - [614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bounced_function, 5, 0, 47), - [616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 1, 0, 10), - [618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_body_repeat1, 1, 0, 10), - [620] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 1, 0, 11), - [622] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_body_repeat1, 1, 0, 11), - [624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_receive_function, 5, 0, 47), - [626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_receive_function, 5, 0, 47), - [628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function, 6, 0, 22), - [630] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 1, 0, 10), - [632] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_trait_body_repeat1, 1, 0, 10), - [634] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 1, 0, 11), - [636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_trait_body_repeat1, 1, 0, 11), - [638] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_attributes_repeat1, 2, 0, 0), SHIFT_REPEAT(187), - [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_attributes_repeat1, 2, 0, 0), - [643] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), - [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(187), - [647] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_attributes, 1, 0, 0), - [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_constant_attributes_repeat1, 1, 0, 0), - [651] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_constant_attributes_repeat1, 1, 0, 0), REDUCE(aux_sym_function_attributes_repeat1, 1, 0, 0), - [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_attributes_repeat1, 1, 0, 0), - [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_type, 1, 0, 0), - [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), - [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), - [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), - [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), - [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_type, 6, 0, 49), - [672] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_type, 7, 0, 56), - [674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_type, 2, 0, 0), - [676] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_type, 8, 0, 61), - [678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_type, 7, 0, 57), - [680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bounced_type, 4, 0, 30), - [682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_constant_attributes_repeat1, 2, 0, 0), - [684] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_constant_attributes_repeat1, 2, 0, 0), SHIFT_REPEAT(212), - [687] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), - [689] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), - [691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_after_id, 2, 0, 4), - [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), - [697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_attributes, 1, 0, 0), - [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), - [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(317), - [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tlb_serialization, 2, 0, 4), - [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), - [709] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), - [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), - [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), - [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [737] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_attributes_repeat1, 2, 0, 0), - [739] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_attributes_repeat1, 2, 0, 0), SHIFT_REPEAT(352), - [742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), - [744] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), SHIFT_REPEAT(227), - [747] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_attributes, 1, 0, 0), - [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [753] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), - [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0), - [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), - [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), - [765] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), - [767] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(278), - [770] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), - [772] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(23), - [775] = {.entry = {.count = 1, .reusable = false}}, SHIFT(377), - [777] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), - [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), - [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [785] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), - [787] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), - [789] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), - [791] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [793] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), - [795] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_attributes_repeat1, 4, 0, 0), - [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(305), - [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [801] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_body_repeat1, 2, 0, 0), SHIFT_REPEAT(280), - [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_body_repeat1, 2, 0, 0), - [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), - [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 2, 0, 0), - [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), - [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [814] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_instance_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(303), - [817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_instance_argument_list_repeat1, 2, 0, 0), - [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), - [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), - [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), - [825] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), - [827] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_trait_list_repeat1, 2, 0, 0), SHIFT_REPEAT(370), - [830] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_trait_list_repeat1, 2, 0, 0), - [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), - [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), - [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), - [842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 3, 0, 0), - [844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), - [846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 5, 0, 0), - [848] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_after_id, 3, 0, 39), - [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), - [856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), - [858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [862] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [864] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_argument, 1, 0, 35), - [866] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [868] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [870] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_until_statement, 6, 0, 60), - [872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), - [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), - [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), - [880] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 1, 0, 0), - [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), - [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), - [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), - [912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), - [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), - [916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 2, 0, 16), - [918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 4, 0, 0), - [920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 21), - [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), - [924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), - [926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), - [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), - [934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), - [938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), - [940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), - [942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), - [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), - [946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), - [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), - [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), - [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), - [960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(398), - [966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_message_value, 3, 0, 0), - [968] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), - [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), - [972] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), - [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), - [978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), - [980] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), - [982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), - [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), - [986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), - [988] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), - [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), - [992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), - [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), - [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), - [1000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [1002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), - [1004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [1006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), - [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), - [1010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), - [1012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), - [1014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [1016] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_func_identifier, 1, 0, 0), - [1018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), - [1020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), - [1022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), - [1024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [1026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), - [1028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), - [1030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), - [1032] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), - [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), - [1036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), - [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [1042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), - [1046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), - [1048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), - [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), - [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), - [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), - [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), - [1062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), - [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), - [1066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), - [1068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), - [1070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), - [1072] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), - [1074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), - [1076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(483), + [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(518), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(519), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(233), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(520), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(521), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(524), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(530), + [33] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(12), + [36] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(39), + [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(5), + [42] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), + [44] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(290), + [47] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(479), + [50] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(23), + [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(478), + [56] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(477), + [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(476), + [62] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(410), + [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(409), + [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(475), + [71] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(50), + [74] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(474), + [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(16), + [80] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(62), + [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(74), + [86] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(74), + [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(12), + [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(479), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(23), + [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(478), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(477), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(476), + [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(410), + [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(409), + [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(475), + [115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(474), + [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [133] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block_statement, 2, 0, 0), + [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_statement, 2, 0, 0), + [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block_statement, 3, 0, 0), + [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_statement, 3, 0, 0), + [141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block_statement, 4, 0, 0), + [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block_statement, 4, 0, 0), + [145] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [147] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_access_expression, 3, 0, 45), + [149] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_access_expression, 3, 0, 45), + [151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value_expression, 1, 0, 0), + [155] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__path_expression, 1, 0, 0), + [157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), + [159] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__path_expression, 1, 0, 0), + [161] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value_expression, 1, 0, 0), + [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2, 0, 0), + [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), + [167] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(483), + [170] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(484), + [173] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(235), + [176] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(518), + [179] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(203), + [182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(519), + [185] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(233), + [188] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(520), + [191] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(321), + [194] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(521), + [197] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(524), + [200] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat2, 2, 0, 0), SHIFT_REPEAT(530), + [203] = {.entry = {.count = 1, .reusable = false}}, SHIFT(418), + [205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(493), + [207] = {.entry = {.count = 1, .reusable = false}}, SHIFT(235), + [209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(492), + [211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), + [213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(233), + [215] = {.entry = {.count = 1, .reusable = false}}, SHIFT(412), + [217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(491), + [219] = {.entry = {.count = 1, .reusable = false}}, SHIFT(489), + [221] = {.entry = {.count = 1, .reusable = false}}, SHIFT(488), + [223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [225] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(418), + [228] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(493), + [231] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(235), + [234] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(492), + [237] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), + [239] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(233), + [242] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(412), + [245] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(491), + [248] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(489), + [251] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), SHIFT_REPEAT(488), + [254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), + [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1, 0, 0), + [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), + [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [268] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(418), + [271] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(493), + [274] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(235), + [277] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(492), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), + [282] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(233), + [285] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(491), + [288] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(489), + [291] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), SHIFT_REPEAT(488), + [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_non_null_assert_expression, 2, 0, 32), + [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_non_null_assert_expression, 2, 0, 32), + [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_initOf, 3, 0, 40), + [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_initOf, 3, 0, 40), + [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression, 1, 0, 0), + [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression, 1, 0, 0), + [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(427), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call_expression, 4, 0, 54), + [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call_expression, 4, 0, 54), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_argument_list, 3, 0, 0), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instance_argument_list, 3, 0, 0), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 3, 0, 0), + [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 3, 0, 0), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_argument_list, 4, 0, 0), + [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instance_argument_list, 4, 0, 0), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 3, 0, 0), + [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 3, 0, 0), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_argument_list, 5, 0, 0), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instance_argument_list, 5, 0, 0), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 2, 0, 0), + [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 2, 0, 0), + [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_argument_list, 2, 0, 0), + [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instance_argument_list, 2, 0, 0), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 4, 0, 0), + [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 4, 0, 0), + [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 5, 0, 0), + [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 5, 0, 0), + [356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_static_call_expression, 2, 0, 31), + [358] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_static_call_expression, 2, 0, 31), + [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_expression, 2, 0, 31), + [362] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instance_expression, 2, 0, 31), + [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument_list, 2, 0, 0), + [366] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_argument_list, 2, 0, 0), + [368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 44), + [370] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 44), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), + [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [388] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [392] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [394] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 61), + [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 61), + [398] = {.entry = {.count = 1, .reusable = false}}, SHIFT(275), + [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 30), + [402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 30), + [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 2, 0, 29), + [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 2, 0, 29), + [408] = {.entry = {.count = 1, .reusable = false}}, SHIFT(443), + [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [412] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ternary_expression, 5, 0, 64), + [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_catch_clause, 5, 0, 73), + [420] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_catch_clause, 5, 0, 73), + [422] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 5, 0, 62), + [424] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 5, 0, 62), + [426] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_foreach_statement, 9, 0, 74), + [428] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_foreach_statement, 9, 0, 74), + [430] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 6, 0, 69), + [432] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 6, 0, 69), + [434] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_clause, 2, 0, 0), + [436] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_clause, 2, 0, 0), + [438] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 3, 0, 39), + [440] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 3, 0, 39), + [442] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 5, 0, 62), + [444] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 5, 0, 62), + [446] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__statement, 2, 0, 0), + [448] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__statement, 2, 0, 0), + [450] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_after_id, 5, 0, 65), + [452] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_augmented_assignment_statement, 3, 0, 44), + [454] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_statement, 6, 0, 36), + [456] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_statement, 4, 0, 53), + [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_constant, 7, 0, 57), + [460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_statement, 1, 0, 0), + [462] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), + [464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_after_id, 4, 0, 55), + [466] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_constant, 6, 0, 36), + [468] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_argument, 3, 0, 63), + [470] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_statement, 3, 0, 43), + [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_argument, 1, 0, 41), + [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [478] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(360), + [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(401), + [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [497] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import, 3, 0, 3), + [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 5, 0, 21), + [501] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 5, 0, 20), + [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_function, 9, 0, 60), + [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_function, 6, 0, 25), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract, 4, 0, 13), + [509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_body, 2, 0, 0), + [511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 6, 0, 28), + [513] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_native_function, 8, 0, 50), + [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_native_function, 9, 0, 59), + [517] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait, 4, 0, 13), + [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_function, 6, 0, 24), + [521] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_function, 8, 0, 52), + [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_native_function, 10, 0, 68), + [525] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_function_body, 2, 0, 0), + [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract, 4, 0, 14), + [529] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 7, 0, 49), + [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait, 4, 0, 15), + [533] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_native_function, 11, 0, 72), + [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait, 3, 0, 5), + [537] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait, 5, 0, 23), + [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constant, 5, 0, 16), + [541] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_message, 3, 0, 6), + [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct, 3, 0, 5), + [545] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constant, 8, 0, 57), + [547] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract, 5, 0, 22), + [549] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive, 3, 0, 4), + [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_function, 7, 0, 38), + [553] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body, 3, 0, 0), + [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_function, 5, 0, 18), + [557] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body, 4, 0, 0), + [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 4, 0, 9), + [561] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_function_body, 3, 0, 0), + [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 7, 0, 48), + [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_body, 3, 0, 0), + [567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_function, 7, 0, 37), + [569] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constant, 7, 0, 36), + [571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract, 3, 0, 5), + [573] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_body, 3, 0, 0), + [575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 6, 0, 27), + [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__constant, 6, 0, 34), + [579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_body, 4, 0, 0), + [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_body, 2, 0, 0), + [583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_function, 8, 0, 51), + [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__module_item, 1, 0, 1), + [587] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function, 4, 0, 10), + [589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body, 2, 0, 0), + [591] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_message, 4, 0, 11), + [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__module_item, 1, 0, 2), + [595] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_body, 4, 0, 0), + [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_body, 5, 0, 0), + [599] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_function_body_repeat1, 2, 0, 0), SHIFT_REPEAT(558), + [602] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_asm_function_body_repeat1, 2, 0, 0), + [604] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_function_body_repeat1, 2, 0, 0), SHIFT_REPEAT(559), + [607] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_function_body_repeat1, 2, 0, 0), SHIFT_REPEAT(560), + [610] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_function_body_repeat1, 2, 0, 0), SHIFT_REPEAT(176), + [613] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_function_body_repeat1, 2, 0, 0), SHIFT_REPEAT(461), + [616] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_function_body_repeat1, 2, 0, 0), SHIFT_REPEAT(459), + [619] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [621] = {.entry = {.count = 1, .reusable = false}}, SHIFT(558), + [623] = {.entry = {.count = 1, .reusable = false}}, SHIFT(139), + [625] = {.entry = {.count = 1, .reusable = false}}, SHIFT(559), + [627] = {.entry = {.count = 1, .reusable = false}}, SHIFT(560), + [629] = {.entry = {.count = 1, .reusable = false}}, SHIFT(178), + [631] = {.entry = {.count = 1, .reusable = false}}, SHIFT(461), + [633] = {.entry = {.count = 1, .reusable = false}}, SHIFT(459), + [635] = {.entry = {.count = 1, .reusable = false}}, SHIFT(157), + [637] = {.entry = {.count = 1, .reusable = false}}, SHIFT(176), + [639] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_receive_function, 5, 0, 56), + [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_receive_function, 5, 0, 56), + [643] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bounced_function, 5, 0, 56), + [645] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bounced_function, 5, 0, 56), + [647] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_external_function, 5, 0, 56), + [649] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function, 5, 0, 56), + [651] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 2, 0, 0), + [653] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_definition, 4, 0, 10), + [655] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_definition, 4, 0, 10), + [657] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_definition, 5, 0, 21), + [659] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_definition, 5, 0, 21), + [661] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_init_function, 3, 0, 33), + [663] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_init_function, 3, 0, 33), + [665] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_receive_function, 4, 0, 47), + [667] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_receive_function, 4, 0, 47), + [669] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_external_function, 4, 0, 47), + [671] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_external_function, 4, 0, 47), + [673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_definition, 6, 0, 28), + [675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_definition, 6, 0, 28), + [677] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_definition, 7, 0, 49), + [679] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_definition, 7, 0, 49), + [681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_contract_body_repeat1, 1, 0, 2), + [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_body_repeat1, 1, 0, 2), + [685] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 2, 0, 0), + [687] = {.entry = {.count = 1, .reusable = false}}, SHIFT(567), + [689] = {.entry = {.count = 1, .reusable = false}}, SHIFT(570), + [691] = {.entry = {.count = 1, .reusable = false}}, SHIFT(568), + [693] = {.entry = {.count = 1, .reusable = false}}, SHIFT(198), + [695] = {.entry = {.count = 1, .reusable = false}}, SHIFT(432), + [697] = {.entry = {.count = 1, .reusable = false}}, SHIFT(431), + [699] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_trait_body_repeat1, 1, 0, 2), + [701] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_trait_body_repeat1, 1, 0, 2), + [703] = {.entry = {.count = 1, .reusable = false}}, SHIFT(554), + [705] = {.entry = {.count = 1, .reusable = false}}, SHIFT(197), + [707] = {.entry = {.count = 1, .reusable = false}}, SHIFT(546), + [709] = {.entry = {.count = 1, .reusable = false}}, SHIFT(196), + [711] = {.entry = {.count = 1, .reusable = false}}, SHIFT(543), + [713] = {.entry = {.count = 1, .reusable = false}}, SHIFT(551), + [715] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_list_repeat1, 2, 0, 0), SHIFT_REPEAT(567), + [718] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_asm_list_repeat1, 2, 0, 0), + [720] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_list_repeat1, 2, 0, 0), SHIFT_REPEAT(568), + [723] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_list_repeat1, 2, 0, 0), SHIFT_REPEAT(198), + [726] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_list_repeat1, 2, 0, 0), SHIFT_REPEAT(432), + [729] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_list_repeat1, 2, 0, 0), SHIFT_REPEAT(431), + [732] = {.entry = {.count = 1, .reusable = false}}, SHIFT(571), + [734] = {.entry = {.count = 1, .reusable = false}}, SHIFT(562), + [736] = {.entry = {.count = 1, .reusable = false}}, SHIFT(563), + [738] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), + [740] = {.entry = {.count = 1, .reusable = false}}, SHIFT(435), + [742] = {.entry = {.count = 1, .reusable = false}}, SHIFT(434), + [744] = {.entry = {.count = 1, .reusable = false}}, SHIFT(564), + [746] = {.entry = {.count = 1, .reusable = false}}, SHIFT(192), + [748] = {.entry = {.count = 1, .reusable = false}}, SHIFT(561), + [750] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), + [752] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_list_repeat1, 2, 0, 0), SHIFT_REPEAT(562), + [755] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_list_repeat1, 2, 0, 0), SHIFT_REPEAT(563), + [758] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_list_repeat1, 2, 0, 0), SHIFT_REPEAT(202), + [761] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_list_repeat1, 2, 0, 0), SHIFT_REPEAT(435), + [764] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_asm_list_repeat1, 2, 0, 0), SHIFT_REPEAT(434), + [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), + [769] = {.entry = {.count = 1, .reusable = true}}, SHIFT(516), + [771] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__asm_instruction, 4, 0, 0), + [773] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_asm_list, 4, 0, 0), + [775] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__asm_hex_literal, 6, 0, 0), + [777] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_asm_list, 5, 0, 0), + [779] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__asm_hex_literal, 8, 0, 0), + [781] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__asm_hex_literal, 7, 0, 0), + [783] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__asm_string, 4, 0, 0), + [785] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__asm_instruction, 5, 0, 0), + [787] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__asm_hex_literal, 5, 0, 0), + [789] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__asm_hex_literal, 4, 0, 0), + [791] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_attributes_repeat1, 2, 0, 0), SHIFT_REPEAT(218), + [794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_attributes_repeat1, 2, 0, 0), + [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(481), + [798] = {.entry = {.count = 1, .reusable = true}}, SHIFT(505), + [800] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), + [802] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_attributes, 1, 0, 0), + [804] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [808] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_constant_attributes_repeat1, 1, 0, 0), + [810] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_constant_attributes_repeat1, 1, 0, 0), REDUCE(aux_sym_function_attributes_repeat1, 1, 0, 0), + [813] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_attributes_repeat1, 1, 0, 0), + [815] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_arrangement, 4, 0, 17), + [817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_arrangement, 3, 0, 8), + [819] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_arrangement, 3, 0, 7), + [821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_arrangement, 2, 0, 0), + [823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_type, 1, 0, 0), + [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), + [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(499), + [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(498), + [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [833] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_type, 7, 0, 66), + [835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__simple_type, 2, 0, 0), + [837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_type, 8, 0, 71), + [839] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_type, 7, 0, 67), + [841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bounced_type, 4, 0, 35), + [843] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map_type, 6, 0, 58), + [845] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [847] = {.entry = {.count = 1, .reusable = true}}, SHIFT(239), + [849] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [851] = {.entry = {.count = 1, .reusable = true}}, SHIFT(421), + [853] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), + [855] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration, 4, 0, 20), + [857] = {.entry = {.count = 1, .reusable = true}}, SHIFT(263), + [859] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_constant_attributes_repeat1, 2, 0, 0), + [861] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_constant_attributes_repeat1, 2, 0, 0), SHIFT_REPEAT(267), + [864] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [866] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tlb_serialization, 2, 0, 4), + [868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_attributes, 1, 0, 0), + [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), + [872] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration, 3, 0, 9), + [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), + [876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_after_id, 2, 0, 4), + [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [882] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), + [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), + [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(246), + [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), + [892] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_asm_arrangement_args_repeat1, 2, 0, 0), SHIFT_REPEAT(276), + [895] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_asm_arrangement_args_repeat1, 2, 0, 0), + [897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 5, 0, 0), + [899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_attributes, 1, 0, 0), + [907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), + [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [911] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), + [913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [915] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), + [919] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_repeat1, 2, 0, 0), SHIFT_REPEAT(286), + [922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration, 6, 0, 48), + [924] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration, 5, 0, 27), + [926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_attributes_repeat1, 2, 0, 0), + [928] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_attributes_repeat1, 2, 0, 0), SHIFT_REPEAT(530), + [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0), + [937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), + [939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_arrangement_args, 1, 0, 0), + [941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), + [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), + [945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(326), + [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [949] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_constant, 5, 0, 34), + [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(238), + [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [957] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_instance_argument_list_repeat1, 2, 0, 0), + [959] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_instance_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(413), + [962] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_after_id, 3, 0, 46), + [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [966] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_trait_list_repeat1, 2, 0, 0), + [968] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_trait_list_repeat1, 2, 0, 0), SHIFT_REPEAT(438), + [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), + [975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), + [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), + [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [981] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), + [983] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_argument_list_repeat1, 2, 0, 0), SHIFT_REPEAT(27), + [986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), + [988] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_constant, 4, 0, 16), + [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(243), + [994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), + [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [1000] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_body_repeat1, 2, 0, 0), SHIFT_REPEAT(357), + [1003] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_body_repeat1, 2, 0, 0), + [1005] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), + [1007] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), + [1009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), + [1013] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [1015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [1017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [1019] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_asm_arrangement_rets_repeat1, 2, 0, 0), + [1021] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_asm_arrangement_rets_repeat1, 2, 0, 0), SHIFT_REPEAT(318), + [1024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), + [1026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [1028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(514), + [1030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [1032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 3, 0, 0), + [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [1036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), + [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [1042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [1046] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instance_argument, 1, 0, 42), + [1048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(316), + [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), + [1058] = {.entry = {.count = 1, .reusable = false}}, SHIFT(508), + [1060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_attributes_repeat1, 4, 0, 0), + [1062] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_asm_arrangement_rets, 2, 0, 0), + [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), + [1066] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 2, 0, 0), + [1068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(387), + [1070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), + [1072] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(342), + [1075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), + [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [1079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), + [1081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), + [1083] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [1085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(566), + [1087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), + [1089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), + [1091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [1093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(355), + [1095] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 4, 0, 0), + [1097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [1099] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), + [1101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(510), + [1103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(509), + [1105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(552), + [1107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [1109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(531), + [1111] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), + [1113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [1115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(334), + [1117] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_list, 1, 0, 0), + [1119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(550), + [1121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), + [1123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), + [1125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [1127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [1129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [1131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [1133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [1135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [1137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 26), + [1139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(557), + [1141] = {.entry = {.count = 1, .reusable = true}}, SHIFT(467), + [1143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(569), + [1145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), + [1147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), + [1149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), + [1151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [1153] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), + [1155] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [1157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(549), + [1159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), + [1161] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_storage_variable, 2, 0, 19), + [1163] = {.entry = {.count = 1, .reusable = true}}, SHIFT(544), + [1165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [1167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(490), + [1169] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_until_statement, 6, 0, 70), + [1171] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 2, 0, 19), + [1173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542), + [1175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(406), + [1177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(466), + [1179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(541), + [1181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(464), + [1183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), + [1185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__body_item_without_semicolon, 1, 0, 12), + [1187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [1189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(250), + [1191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [1193] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), + [1195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [1197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [1199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(429), + [1201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [1203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(468), + [1205] = {.entry = {.count = 1, .reusable = false}}, SHIFT(403), + [1207] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), + [1209] = {.entry = {.count = 1, .reusable = false}}, SHIFT(398), + [1211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(522), + [1213] = {.entry = {.count = 1, .reusable = false}}, SHIFT(374), + [1215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), + [1217] = {.entry = {.count = 1, .reusable = false}}, SHIFT(353), + [1219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(536), + [1221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), + [1223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [1225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [1227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [1229] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [1231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), + [1233] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [1235] = {.entry = {.count = 1, .reusable = false}}, SHIFT(383), + [1237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565), + [1239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), + [1241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(269), + [1243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [1245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [1247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [1249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [1251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), + [1253] = {.entry = {.count = 1, .reusable = true}}, SHIFT(440), + [1255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), + [1257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), + [1259] = {.entry = {.count = 1, .reusable = false}}, SHIFT(344), + [1261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [1263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), + [1265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [1267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(540), + [1269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), + [1271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), + [1273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(556), + [1275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(485), + [1277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [1279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), + [1281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), + [1283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), + [1285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), + [1287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), + [1289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(457), + [1291] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [1293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [1295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [1297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), + [1299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), + [1301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), + [1303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [1305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(534), + [1307] = {.entry = {.count = 1, .reusable = true}}, SHIFT(517), + [1309] = {.entry = {.count = 1, .reusable = true}}, SHIFT(555), + [1311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(471), + [1313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(472), + [1315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), + [1317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), + [1319] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), + [1321] = {.entry = {.count = 1, .reusable = true}}, SHIFT(268), + [1323] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [1325] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), + [1327] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_message_value, 3, 0, 0), + [1329] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [1331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), + [1333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(236), + [1335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(482), + [1337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), + [1339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), + [1341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(332), + [1343] = {.entry = {.count = 1, .reusable = true}}, SHIFT(494), + [1345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [1347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(496), + [1349] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [1351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [1353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(228), + [1355] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_func_identifier, 1, 0, 0), + [1357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(285), + [1359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), + [1361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(372), + [1363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(500), + [1365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [1367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(502), + [1369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(503), + [1371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), + [1373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), + [1375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), + [1377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), + [1379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [1381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), + [1383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(545), + [1385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [1387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(547), + [1389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), + [1391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), + [1393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(526), + [1395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), + [1397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(528), + [1399] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(512), + [1403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [1405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(553), + [1407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [1409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(511), + [1411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), + [1413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [1415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [1417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(222), + [1419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [1421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), + [1423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), + [1425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), + [1427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(223), + [1429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), + [1431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), + [1433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), + [1435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(220), + [1437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [1439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), + [1441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), + [1443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), + [1445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [1447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [1449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), + [1451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [1453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [1455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [1457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), + [1459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(535), + [1461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [1463] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [1465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [1467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(195), + [1469] = {.entry = {.count = 1, .reusable = true}}, SHIFT(523), + [1471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(212), + [1473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), + [1475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), }; #ifdef __cplusplus diff --git a/test/corpus/asm_function.txt b/test/corpus/asm_function.txt new file mode 100644 index 0000000..6d0f44c --- /dev/null +++ b/test/corpus/asm_function.txt @@ -0,0 +1,74 @@ +============================================ +asm function +============================================ + +/* + Not yet supported due to +": + { char " word 1 ' $+ } ::_ +" +*/ + +asm fun pushInt(): Int { + 42 PUSHINT +} + +asm fun pushIntWithNewWord(): Int { + { 42 PUSHINT } : mostly-harmless + mostly-harmless +} + +asm(x -> 0) fun isIntAnInt(x: Int): Int { + <{ + TRY:<{ + 0 PUSHINT ADD DROP -1 PUSHINT + }>CATCH<{ + 2DROP 0 PUSHINT + }> + }>CONT 1 1 CALLXARGS +} + +asm fun moreInterestingExamples() { + x{00} @Defop NOP + { swap ({) over 2+ -roll swap (compile) (}) } : does + B{123} + b{0101} +} + +--- + +(source_file + (comment) + (asm_function + name: (identifier) + parameters: (parameter_list) + result: (type_identifier) + body: (asm_function_body) + ) + (asm_function + name: (identifier) + parameters: (parameter_list) + result: (type_identifier) + body: (asm_function_body + (asm_list)) + ) + (asm_function + arrangement: (asm_arrangement + arguments: (asm_arrangement_args + (identifier)) + returns: (asm_arrangement_rets + (integer))) + name: (identifier) + parameters: (parameter_list + (parameter + name: (identifier) + type: (type_identifier)) + ) + result: (type_identifier) + body: (asm_function_body) + ) + (asm_function + name: (identifier) + parameters: (parameter_list) + body: (asm_function_body + (asm_list)) + ) +) diff --git a/test/corpus/contract.txt b/test/corpus/contract.txt index 3751173..6191dc4 100644 --- a/test/corpus/contract.txt +++ b/test/corpus/contract.txt @@ -11,6 +11,15 @@ contract Filled { bounced(msg: Slice) {} } +contract SemiCheck1 { + field: Int +} + +contract SemiCheck2 { + init() {} + field: Int +} + --- (source_file @@ -32,4 +41,22 @@ contract Filled { name: (identifier) type: (type_identifier)) body: (function_body)) - ))) + )) + (contract + name: (identifier) + body: (contract_body + (storage_variable + name: (identifier) + type: (type_identifier)) + )) + (contract + name: (identifier) + body: (contract_body + (init_function + parameters: (parameter_list) + body: (function_body)) + (storage_variable + name: (identifier) + type: (type_identifier)) + )) +) diff --git a/test/corpus/trait.txt b/test/corpus/trait.txt index df30a94..555d850 100644 --- a/test/corpus/trait.txt +++ b/test/corpus/trait.txt @@ -13,6 +13,8 @@ trait Filled with Deployable, Ownable, { override inline abstract fun d() {} } +trait SemiCheck { abstract fun foo() } + --- (source_file @@ -46,4 +48,13 @@ trait Filled with Deployable, Ownable, { name: (identifier) parameters: (parameter_list) body: (function_body)) - ))) + )) + (trait + name: (identifier) + body: (trait_body + (storage_function + attributes: (function_attributes) + name: (identifier) + parameters: (parameter_list)) + )) +) diff --git a/test/highlight/asm_function.tact b/test/highlight/asm_function.tact new file mode 100644 index 0000000..6cb340c --- /dev/null +++ b/test/highlight/asm_function.tact @@ -0,0 +1,39 @@ +asm fun pushInt(): Int { +// <- keyword +// ^ keyword +// ^ function +// ^ punctuation.bracket +// ^ punctuation.bracket +// ^ punctuation.delimiter +// ^ type.builtin +// ^ punctuation.bracket + 42 PUSHINT +} + +asm fun pushIntWithNewWord(): Int { + { 42 PUSHINT } : mostly-harmless + mostly-harmless +} + +asm(x -> 0) fun isIntAnInt(x: Int): Int { +// <- keyword +// ^ punctuation.bracket +// ^ variable +// ^ operator +// ^ number +// ^ punctuation.bracket + <{ + TRY:<{ + 0 PUSHINT ADD DROP -1 PUSHINT + }>CATCH<{ + 2DROP 0 PUSHINT + }> + }>CONT 1 1 CALLXARGS +} + +asm fun moreInterestingExamples() { + x{00} @Defop NOP + { swap ({) over 2+ -roll swap (compile) (}) } : does + B{123} + b{0101} +} diff --git a/test/highlight/builtin_functions.tact b/test/highlight/builtin_functions.tact deleted file mode 100644 index 68da0ec..0000000 --- a/test/highlight/builtin_functions.tact +++ /dev/null @@ -1,88 +0,0 @@ -fun fun() { -// <- keyword -// ^ function - abs(); - // <- function.builtin - beginCell(); - // <- function.builtin - beginComment(); - // <- function.builtin - beginString(); - // <- function.builtin - beginStringFromBuilder(); - // <- function.builtin - beginTailString(); - // <- function.builtin - cell(); - // <- function.builtin - checkDataSignature(); - // <- function.builtin - checkSignature(); - // <- function.builtin - contractAddress(); - // <- function.builtin - contractAddressExt(); - // <- function.builtin - dump(); - // <- function.builtin - dumpStack(); - // <- function.builtin - emit(); - // <- function.builtin - emptyCell(); - // <- function.builtin - getConfigParam(); - // <- function.builtin - log(); - // <- function.builtin - log2(); - // <- function.builtin - max(); - // <- function.builtin - min(); - // <- function.builtin - myAddress(); - // <- function.builtin - myBalance(); - // <- function.builtin - nativePrepareRandom(); - // <- function.builtin - nativeRandom(); - // <- function.builtin - nativeRandomInterval(); - // <- function.builtin - nativeRandomize(); - // <- function.builtin - nativeRandomizeLt(); - // <- function.builtin - nativeReserve(); - // <- function.builtin - nativeThrowUnless(); - // <- function.builtin - nativeThrowIf(); - // <- function.builtin - newAddress(); - // <- function.builtin - now(); - // <- function.builtin - pow(); - // <- function.builtin - pow2(); - // <- function.builtin - random(); - // <- function.builtin - randomInt(); - // <- function.builtin - require(); - // <- function.builtin - send(); - // <- function.builtin - sender(); - // <- function.builtin - sha256(); - // <- function.builtin - throw(); - // <- function.builtin - ton(); - // <- function.builtin -} diff --git a/test/highlight/builtin_variables.tact b/test/highlight/builtin_variables.tact index 46ba692..436f261 100644 --- a/test/highlight/builtin_variables.tact +++ b/test/highlight/builtin_variables.tact @@ -14,6 +14,9 @@ fun v() { SendRemainingBalance; // <- constant.builtin + SendOnlyEstimateFee; + // <- constant.builtin + ReserveExact; // <- constant.builtin @@ -32,6 +35,18 @@ fun v() { ReserveBounceIfActionFail; // <- constant.builtin + Context{}; + // <- type.builtin + SendParameters{}; // <- type.builtin + + StateInit{}; + // <- type.builtin + + StdAddress{}; + // <- type.builtin + + VarAddress{}; + // <- type.builtin } diff --git a/test/highlight/contract.tact b/test/highlight/contract.tact index 6547d48..b1a6b57 100644 --- a/test/highlight/contract.tact +++ b/test/highlight/contract.tact @@ -5,22 +5,22 @@ contract Empty {} // ^ punctuation.bracket contract Filled { - init() {} - // <- function - // ^ punctuation.bracket - // ^ punctuation.bracket - // ^ punctuation.bracket - // ^ punctuation.bracket + init() {} + // <- function + // ^ punctuation.bracket + // ^ punctuation.bracket + // ^ punctuation.bracket + // ^ punctuation.bracket - receive() {} - // <- function + receive() {} + // <- function - external() {} - // <- function + external() {} + // <- function - bounced(msg: Slice) {} - // <- function - // ^ variable.parameter - // ^ punctuation.delimiter - // ^ type.builtin + bounced(msg: Slice) {} + // <- function + // ^ variable.parameter + // ^ punctuation.delimiter + // ^ type.builtin } diff --git a/test/highlight/expression.tact b/test/highlight/expression.tact index fbd128b..defee68 100644 --- a/test/highlight/expression.tact +++ b/test/highlight/expression.tact @@ -1,68 +1,68 @@ fun c() { - false || true; - // <- constant.builtin - // ^ operator - // ^ constant.builtin - // ^ punctuation.delimiter + false || true; + // <- constant.builtin + // ^ operator + // ^ constant.builtin + // ^ punctuation.delimiter - true && true; - // ^ operator + true && true; + // ^ operator - true != true; - // ^ operator + true != true; + // ^ operator - true == true; - // ^ operator + true == true; + // ^ operator - 2 > 1; - // ^ operator + 2 > 1; + // ^ operator - 2 >= 2; - // ^ operator + 2 >= 2; + // ^ operator - 1 < 2; - // ^ operator + 1 < 2; + // ^ operator - 2 <= 2; - // ^ operator + 2 <= 2; + // ^ operator - 5 >> 1; - // ^ operator + 5 >> 1; + // ^ operator - 1 << 5; - // ^ operator + 1 << 5; + // ^ operator - 0 ^ 1; - // ^ operator + 0 ^ 1; + // ^ operator - 0 & 1; - // ^ operator + 0 & 1; + // ^ operator - 0 | 1; - // ^ operator + 0 | 1; + // ^ operator - 0 + 1 - 2; - // ^ operator - // ^ operator + 0 + 1 - 2; + // ^ operator + // ^ operator - 0 * 1 / 5 % 10; - // ^ operator - // ^ operator - // ^ operator + 0 * 1 / 5 % 10; + // ^ operator + // ^ operator + // ^ operator - +0; - // <- operator + +0; + // <- operator - -0; - // <- operator + -0; + // <- operator - !0; - // <- operator + !0; + // <- operator - null!!; - // ^ operator + null!!; + // ^ operator - (0 ); - // <- punctuation.bracket - // ^ punctuation.bracket + (0 ); + // <- punctuation.bracket + // ^ punctuation.bracket } diff --git a/test/highlight/global_function.tact b/test/highlight/global_function.tact index d66e5fe..a32afda 100644 --- a/test/highlight/global_function.tact +++ b/test/highlight/global_function.tact @@ -27,26 +27,26 @@ abstract fun abstractTypeWithParam(param1: Int): Int; fun basic(): Int { // ^ punctuation.delimiter // ^ type.builtin - return 0; - // <- keyword - // ^ number - // ^ punctuation.delimiter + return 0; + // <- keyword + // ^ number + // ^ punctuation.delimiter } extends fun extendsType(self: String): String { - // ^ variable.parameter - // ^ punctuation.delimiter - // ^ type.builtin - return self; - // ^ variable.parameter +// ^ variable.parameter +// ^ punctuation.delimiter +// ^ type.builtin + return self; + // ^ variable.parameter } extends mutates fun extendsMutatesType(self: String) { - // ^ variable.parameter - self = self + self; - // <- variable.parameter - // ^ variable.parameter - // ^ variable.parameter +// ^ variable.parameter + self = self + self; + // <- variable.parameter + // ^ variable.parameter + // ^ variable.parameter } get mutates extends virtual override inline abstract fun allAttr(); diff --git a/test/highlight/struct.tact b/test/highlight/struct.tact index d0e4714..5c47c9a 100644 --- a/test/highlight/struct.tact +++ b/test/highlight/struct.tact @@ -3,59 +3,95 @@ struct Whatever { // ^ type // ^ punctuation.bracket - a : Int; - // <- property - // ^ punctuation.delimiter - // ^ type.builtin - // ^ punctuation.delimiter - - b : String = "hello!"; - // <- property - // ^ punctuation.delimiter - // ^ type.builtin - // ^ punctuation.delimiter - - c : Int as int32; - // <- property - // ^ punctuation.delimiter - // ^ type.builtin - // ^ keyword - // ^ type.builtin - // ^ punctuation.delimiter - - d : Int as int256 = 10; - // <- property - // ^ punctuation.delimiter - // ^ type.builtin - // ^ keyword - // ^ type.builtin - // ^ operator - // ^ number - // ^ punctuation.delimiter + a : Int; + // <- property + // ^ punctuation.delimiter + // ^ type.builtin + // ^ punctuation.delimiter + + b : String = "hello!"; + // <- property + // ^ punctuation.delimiter + // ^ type.builtin + // ^ punctuation.delimiter + + c : Int as int32; + // <- property + // ^ punctuation.delimiter + // ^ type.builtin + // ^ keyword + // ^ type.builtin + // ^ punctuation.delimiter + + d : Int as int256 = 10; + // <- property + // ^ punctuation.delimiter + // ^ type.builtin + // ^ keyword + // ^ type.builtin + // ^ operator + // ^ number + // ^ punctuation.delimiter } // <- punctuation.bracket fun TestStruct() { - Whatever{a: 10, b: "hello!", c: 10, d: 10, }; - // <- constructor - // ^ punctuation.bracket - // ^ property - // ^ punctuation.delimiter - // ^ number - // ^ punctuation.delimiter - // ^ property - // ^ punctuation.delimiter - // ^ string - // ^ punctuation.delimiter - // ^ property - // ^ punctuation.delimiter - // ^ number - // ^ punctuation.delimiter - // ^ property - // ^ punctuation.delimiter - // ^ number - // ^ punctuation.delimiter - // ^ punctuation.bracket - // ^ punctuation.delimiter + Whatever{a: 10, b: "hello!", c: 10, d: 10, }; + // <- constructor + // ^ punctuation.bracket + // ^ property + // ^ punctuation.delimiter + // ^ number + // ^ punctuation.delimiter + // ^ property + // ^ punctuation.delimiter + // ^ string + // ^ punctuation.delimiter + // ^ property + // ^ punctuation.delimiter + // ^ number + // ^ punctuation.delimiter + // ^ property + // ^ punctuation.delimiter + // ^ number + // ^ punctuation.delimiter + // ^ punctuation.bracket + // ^ punctuation.delimiter +} + +struct Serialization { + f1: Int as uint1; + // ^ type.builtin + f2: Int as int1; + // ^ type.builtin + f3: Int as uint10; + // ^ type.builtin + f4: Int as int10; + // ^ type.builtin + f5: Int as uint100; + // ^ type.builtin + f6: Int as int100; + // ^ type.builtin + f7: Int as uint200; + // ^ type.builtin + f8: Int as int200; + // ^ type.builtin + f9: Int as uint256; + // ^ type.builtin + f10: Int as int257; + // ^ type.builtin + f9wrong: Int as uint257; + // ^ variable + f10wrong: Int as int258; + // ^ variable + + b32: Slice as bytes32; + // ^ type.builtin + b64: Slice as bytes64; + // ^ type.builtin + coin: Int as coins; + // ^ type.builtin + payload: Slice as remaining; + // ^ type.builtin } diff --git a/test/highlight/trait.tact b/test/highlight/trait.tact index a1a1dae..116e349 100644 --- a/test/highlight/trait.tact +++ b/test/highlight/trait.tact @@ -18,58 +18,58 @@ trait Filled with Deployable, Ownable, { // ^ punctuation.delimiter // ^ punctuation.bracket - const a: Int; - // <- keyword - // ^ constant - // ^ punctuation.delimiter - // ^ type.builtin - // ^ punctuation.delimiter - - b : Int; - // <- property - // ^ punctuation.delimiter - // ^ type.builtin - // ^ punctuation.delimiter + const a: Int; + // <- keyword + // ^ constant + // ^ punctuation.delimiter + // ^ type.builtin + // ^ punctuation.delimiter - get fun c(arg1: String): Int { - // <- keyword - // ^ keyword - // ^ function - // ^ punctuation.bracket - // ^ variable.parameter - // ^ punctuation.delimiter - // ^ type.builtin - // ^ punctuation.bracket - // ^ punctuation.delimiter - // ^ type.builtin - // ^ punctuation.bracket + b : Int; + // <- property + // ^ punctuation.delimiter + // ^ type.builtin + // ^ punctuation.delimiter - return self.b + self.a + arg1; + get fun c(arg1: String): Int { // <- keyword - // ^ variable.builtin - // ^ punctuation.delimiter - // ^ property - // ^ operator - // ^ variable.builtin - // ^ punctuation.delimiter - // ^ constant - // ^ operator - // ^ variable.parameter - // ^ punctuation.delimiter + // ^ keyword + // ^ function + // ^ punctuation.bracket + // ^ variable.parameter + // ^ punctuation.delimiter + // ^ type.builtin + // ^ punctuation.bracket + // ^ punctuation.delimiter + // ^ type.builtin + // ^ punctuation.bracket - } - // <- punctuation.bracket + return self.b + self.a + arg1; + // <- keyword + // ^ variable.builtin + // ^ punctuation.delimiter + // ^ property + // ^ operator + // ^ variable.builtin + // ^ punctuation.delimiter + // ^ constant + // ^ operator + // ^ variable.parameter + // ^ punctuation.delimiter - override inline abstract fun d() {} - // <- keyword - // ^ keyword - // ^ keyword - // ^ keyword - // ^ function - // ^ punctuation.bracket - // ^ punctuation.bracket - // ^ punctuation.bracket - // ^ punctuation.bracket + } + // <- punctuation.bracket + + override inline abstract fun d() {} + // <- keyword + // ^ keyword + // ^ keyword + // ^ keyword + // ^ function + // ^ punctuation.bracket + // ^ punctuation.bracket + // ^ punctuation.bracket + // ^ punctuation.bracket } // <- punctuation.bracket diff --git a/test/highlight/value_expression.tact b/test/highlight/value_expression.tact index bc6fcb6..bbe5ada 100644 --- a/test/highlight/value_expression.tact +++ b/test/highlight/value_expression.tact @@ -23,7 +23,7 @@ extends fun c(self: Int, ) { // ^ punctuation.bracket // ^ punctuation.bracket // ^ punctuation.delimiter - + /* field_expression */ context().sender; // <- function @@ -31,9 +31,9 @@ extends fun c(self: Int, ) { /* static_call_expression */ now(); - // <- function.builtin + // <- function now (); - // <- function.builtin + // <- function /* parenthesized_expression */ ( 10 ); @@ -45,7 +45,7 @@ extends fun c(self: Int, ) { // ^ punctuation.bracket // ^ property // ^ punctuation.delimiter - // ^ function.builtin + // ^ function // ^ punctuation.bracket // ^ string // ^ punctuation.bracket diff --git a/test/sample/example.tact b/test/sample/example.tact index 294bdf2..e1f0d75 100644 --- a/test/sample/example.tact +++ b/test/sample/example.tact @@ -16,6 +16,8 @@ fun globalFun(arg: String) { let x: Int = 123; } +asm(x -> 0) fun asmFun(x: Int): Int { INC INC INC } + trait MyTrait { const CONST_VAL: Int = 42; get fun traitState(): Int { @@ -41,4 +43,4 @@ contract MyContract with MyTrait, Ownable? { external() {} receive(self: Int) { self.toString(); } virtual fun overrideMe() {} -} \ No newline at end of file +}