From fd77b29b22e112586dbfa0bf28d26b6e222d0465 Mon Sep 17 00:00:00 2001 From: IzioDev <9900846+IzioDev@users.noreply.github.com> Date: Mon, 20 Apr 2026 16:58:30 +0200 Subject: [PATCH] chore(extensions): tree-sitter alignment --- .../queries/silverscript/highlights.scm | 20 +- extensions/vscode/package-lock.json | 5 +- extensions/vscode/package.json | 2 +- extensions/vscode/queries/highlights.scm | 21 +- .../zed/languages/silverscript/highlights.scm | 20 +- tree-sitter/README.md | 6 +- tree-sitter/grammar.js | 106 +- tree-sitter/queries/highlights.scm | 20 +- tree-sitter/src/grammar.json | 596 +- tree-sitter/src/node-types.json | 299 +- tree-sitter/src/parser.c | 12961 +++++++++------- tree-sitter/src/tree_sitter/array.h | 57 +- 12 files changed, 8119 insertions(+), 5994 deletions(-) diff --git a/extensions/silverscript.nvim/queries/silverscript/highlights.scm b/extensions/silverscript.nvim/queries/silverscript/highlights.scm index d5d7a565..f0fb819f 100644 --- a/extensions/silverscript.nvim/queries/silverscript/highlights.scm +++ b/extensions/silverscript.nvim/queries/silverscript/highlights.scm @@ -12,6 +12,12 @@ (type_name) @type +(struct_definition + name: (identifier) @type) + +(struct_field_definition + name: (identifier) @property) + (instantiation (identifier) @type.builtin (#match? @type.builtin @@ -26,6 +32,13 @@ (function_definition name: (identifier) @function) +(builtin_function_declaration + name: (identifier) @function.builtin) + +(function_attribute + (attribute_path + (identifier) @attribute)) + (constant_definition name: (identifier) @constant) @@ -69,10 +82,14 @@ (type_name) (identifier) @variable) +(field_access + "." @operator + name: (identifier) @property) + (function_call (identifier) @function.builtin (#match? @function.builtin - "^(readInputState|readInputStateWithTemplate|validateOutputState|validateOutputStateWithTemplate|verifyOutputState|verifyOutputStates|OpSha256|sha256|OpTxSubnetId|OpTxGas|OpTxPayloadLen|OpTxPayloadSubstr|OpOutpointTxId|OpOutpointIndex|OpTxInputScriptSigLen|OpTxInputScriptSigSubstr|OpTxInputSeq|OpTxInputIsCoinbase|OpTxInputSpkLen|OpTxInputSpkSubstr|OpTxOutputSpkLen|OpTxOutputSpkSubstr|OpAuthOutputCount|OpAuthOutputIdx|OpInputCovenantId|OpOutputCovenantId|OpCovInputCount|OpCovInputIdx|OpCovOutputCount|OpCovOutputIdx|OpNum2Bin|OpBin2Num|OpChainblockSeqCommit|checkDataSig|checkSig|checkMultiSig|blake2b)$")) + "^(readInputState|readInputStateWithTemplate|validateOutputState|validateOutputStateWithTemplate|verifyOutputState|verifyOutputStates|OpSha256|sha256|OpTxSubnetId|OpTxGas|OpTxPayloadLen|OpTxPayloadSubstr|OpOutpointTxId|OpOutpointIndex|OpTxInputScriptSigLen|OpTxInputScriptSigSubstr|OpTxInputSeq|OpTxInputDaaScore|OpTxInputIsCoinbase|OpTxInputSpkLen|OpTxInputSpkSubstr|OpTxOutputSpkLen|OpTxOutputSpkSubstr|OpAuthOutputCount|OpAuthOutputIdx|OpInputCovenantId|OpOutputCovenantId|OpCovInputCount|OpCovInputIdx|OpCovOutputCount|OpCovOutputIdx|OpNum2Bin|OpBin2Num|OpChainblockSeqCommit|bytes|length|checkDataSig|checkSig|checkMultiSig|blake2b)$")) (unary_suffix) @property @@ -91,6 +108,7 @@ "pragma" "silverscript" "contract" + "struct" "entrypoint" "function" "constant" diff --git a/extensions/vscode/package-lock.json b/extensions/vscode/package-lock.json index 9f15d090..bff5398b 100644 --- a/extensions/vscode/package-lock.json +++ b/extensions/vscode/package-lock.json @@ -1,12 +1,13 @@ { "name": "silverscript", - "version": "0.1.0", + "version": "0.1.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "silverscript", - "version": "0.1.0", + "version": "0.1.5", + "license": "ISC", "dependencies": { "vscode-languageclient": "9.0.1", "web-tree-sitter": "0.26.3" diff --git a/extensions/vscode/package.json b/extensions/vscode/package.json index 96ea69fe..e8c5759a 100644 --- a/extensions/vscode/package.json +++ b/extensions/vscode/package.json @@ -3,7 +3,7 @@ "publisher": "IzioDev", "displayName": "SilverScript", "description": "Kaspa SilverScript", - "version": "0.1.3", + "version": "0.1.5", "repository": { "url": "https://github.com/kaspanet/silverscript", "directory": "extensions/vscode" diff --git a/extensions/vscode/queries/highlights.scm b/extensions/vscode/queries/highlights.scm index b135bf3a..f0fb819f 100644 --- a/extensions/vscode/queries/highlights.scm +++ b/extensions/vscode/queries/highlights.scm @@ -12,6 +12,12 @@ (type_name) @type +(struct_definition + name: (identifier) @type) + +(struct_field_definition + name: (identifier) @property) + (instantiation (identifier) @type.builtin (#match? @type.builtin @@ -26,6 +32,13 @@ (function_definition name: (identifier) @function) +(builtin_function_declaration + name: (identifier) @function.builtin) + +(function_attribute + (attribute_path + (identifier) @attribute)) + (constant_definition name: (identifier) @constant) @@ -69,10 +82,14 @@ (type_name) (identifier) @variable) +(field_access + "." @operator + name: (identifier) @property) + (function_call (identifier) @function.builtin (#match? @function.builtin - "^(readInputState|readInputStateWithTemplate|validateOutputState|validateOutputStateWithTemplate|verifyOutputState|verifyOutputStates|OpSha256|sha256|OpTxSubnetId|OpTxGas|OpTxPayloadLen|OpTxPayloadSubstr|OpOutpointTxId|OpOutpointIndex|OpTxInputScriptSigLen|OpTxInputScriptSigSubstr|OpTxInputSeq|OpTxInputIsCoinbase|OpTxInputSpkLen|OpTxInputSpkSubstr|OpTxOutputSpkLen|OpTxOutputSpkSubstr|OpAuthOutputCount|OpAuthOutputIdx|OpInputCovenantId|OpOutputCovenantId|OpCovInputCount|OpCovInputIdx|OpCovOutputCount|OpCovOutputIdx|OpNum2Bin|OpBin2Num|OpChainblockSeqCommit|checkDataSig|checkSig|checkMultiSig|blake2b)$")) + "^(readInputState|readInputStateWithTemplate|validateOutputState|validateOutputStateWithTemplate|verifyOutputState|verifyOutputStates|OpSha256|sha256|OpTxSubnetId|OpTxGas|OpTxPayloadLen|OpTxPayloadSubstr|OpOutpointTxId|OpOutpointIndex|OpTxInputScriptSigLen|OpTxInputScriptSigSubstr|OpTxInputSeq|OpTxInputDaaScore|OpTxInputIsCoinbase|OpTxInputSpkLen|OpTxInputSpkSubstr|OpTxOutputSpkLen|OpTxOutputSpkSubstr|OpAuthOutputCount|OpAuthOutputIdx|OpInputCovenantId|OpOutputCovenantId|OpCovInputCount|OpCovInputIdx|OpCovOutputCount|OpCovOutputIdx|OpNum2Bin|OpBin2Num|OpChainblockSeqCommit|bytes|length|checkDataSig|checkSig|checkMultiSig|blake2b)$")) (unary_suffix) @property @@ -91,6 +108,7 @@ "pragma" "silverscript" "contract" + "struct" "entrypoint" "function" "constant" @@ -100,7 +118,6 @@ "new" "require" "return" - "yield" "console.log" ] @keyword diff --git a/extensions/zed/languages/silverscript/highlights.scm b/extensions/zed/languages/silverscript/highlights.scm index d5d7a565..f0fb819f 100644 --- a/extensions/zed/languages/silverscript/highlights.scm +++ b/extensions/zed/languages/silverscript/highlights.scm @@ -12,6 +12,12 @@ (type_name) @type +(struct_definition + name: (identifier) @type) + +(struct_field_definition + name: (identifier) @property) + (instantiation (identifier) @type.builtin (#match? @type.builtin @@ -26,6 +32,13 @@ (function_definition name: (identifier) @function) +(builtin_function_declaration + name: (identifier) @function.builtin) + +(function_attribute + (attribute_path + (identifier) @attribute)) + (constant_definition name: (identifier) @constant) @@ -69,10 +82,14 @@ (type_name) (identifier) @variable) +(field_access + "." @operator + name: (identifier) @property) + (function_call (identifier) @function.builtin (#match? @function.builtin - "^(readInputState|readInputStateWithTemplate|validateOutputState|validateOutputStateWithTemplate|verifyOutputState|verifyOutputStates|OpSha256|sha256|OpTxSubnetId|OpTxGas|OpTxPayloadLen|OpTxPayloadSubstr|OpOutpointTxId|OpOutpointIndex|OpTxInputScriptSigLen|OpTxInputScriptSigSubstr|OpTxInputSeq|OpTxInputIsCoinbase|OpTxInputSpkLen|OpTxInputSpkSubstr|OpTxOutputSpkLen|OpTxOutputSpkSubstr|OpAuthOutputCount|OpAuthOutputIdx|OpInputCovenantId|OpOutputCovenantId|OpCovInputCount|OpCovInputIdx|OpCovOutputCount|OpCovOutputIdx|OpNum2Bin|OpBin2Num|OpChainblockSeqCommit|checkDataSig|checkSig|checkMultiSig|blake2b)$")) + "^(readInputState|readInputStateWithTemplate|validateOutputState|validateOutputStateWithTemplate|verifyOutputState|verifyOutputStates|OpSha256|sha256|OpTxSubnetId|OpTxGas|OpTxPayloadLen|OpTxPayloadSubstr|OpOutpointTxId|OpOutpointIndex|OpTxInputScriptSigLen|OpTxInputScriptSigSubstr|OpTxInputSeq|OpTxInputDaaScore|OpTxInputIsCoinbase|OpTxInputSpkLen|OpTxInputSpkSubstr|OpTxOutputSpkLen|OpTxOutputSpkSubstr|OpAuthOutputCount|OpAuthOutputIdx|OpInputCovenantId|OpOutputCovenantId|OpCovInputCount|OpCovInputIdx|OpCovOutputCount|OpCovOutputIdx|OpNum2Bin|OpBin2Num|OpChainblockSeqCommit|bytes|length|checkDataSig|checkSig|checkMultiSig|blake2b)$")) (unary_suffix) @property @@ -91,6 +108,7 @@ "pragma" "silverscript" "contract" + "struct" "entrypoint" "function" "constant" diff --git a/tree-sitter/README.md b/tree-sitter/README.md index 77633bf6..b7fa67eb 100644 --- a/tree-sitter/README.md +++ b/tree-sitter/README.md @@ -1,10 +1,14 @@ Attempt at being 1:1 with Pest. Interesting file: `tree-sitter\grammar.js`. -- Install: `cargo install tree-sitter-cli --locked` +- Install generator CLI: `cargo install tree-sitter-cli --version 0.26.5 --locked` - Generate + sync highlights to editor extensions: `npm run generate` - Build parser wasm (includes generate + sync): `npm run build` - Standalone generate only: `npm run generate:raw` - Standalone build only: `npm run build:raw` - Open playground: `tree-sitter playground` +Notes: + +- `src/tree_sitter/*` is owned by the `tree-sitter-cli` generator/runtime and may change when regenerating with a different CLI version. + - Grammar DSL Documentation: https://tree-sitter.github.io/tree-sitter/creating-parsers/2-the-grammar-dsl.html diff --git a/tree-sitter/grammar.js b/tree-sitter/grammar.js index 65747bcb..d53ce37d 100644 --- a/tree-sitter/grammar.js +++ b/tree-sitter/grammar.js @@ -28,13 +28,14 @@ export default grammar({ word: ($) => $.identifier, - conflicts: ($) => [ - [$.function_call, $.base_type], - [$.primary, $.base_type], - ], - rules: { - source_file: ($) => seq(repeat($.pragma_directive), $.contract_definition), + source_file: ($) => + choice($.contract_source_file, $.declaration_source_file), + + contract_source_file: ($) => + seq(repeat($.pragma_directive), $.contract_definition), + + declaration_source_file: ($) => repeat1($.builtin_function_declaration), pragma_directive: ($) => seq("pragma", "silverscript", $.pragma_value, ";"), @@ -60,9 +61,9 @@ export default grammar({ contract_item: ($) => choice( + $.struct_definition, $.constant_definition, $.contract_field_definition, - $.struct_definition, $.function_definition, ), @@ -80,17 +81,34 @@ export default grammar({ function_definition: ($) => seq( - repeat($.attribute), + repeat($.function_attribute), optional("entrypoint"), "function", field("name", $.identifier), $.parameter_list, optional($.return_type_list), - "{", - repeat($.statement), - "}", + $.braced_block, ), + builtin_function_declaration: ($) => + seq( + "function", + field("name", $.identifier), + $.parameter_list, + optional($.return_type_list), + ";", + ), + + function_attribute: ($) => + seq("#[", $.attribute_path, optional($.attribute_args), "]"), + + attribute_path: ($) => seq($.identifier, repeat(seq(".", $.identifier))), + + attribute_args: ($) => seq("(", optional(commaSep($.attribute_arg)), ")"), + + attribute_arg: ($) => + seq(field("name", $.identifier), "=", field("value", $.expression)), + constant_definition: ($) => seq( $.type_name, @@ -115,9 +133,14 @@ export default grammar({ parameter: ($) => seq($.type_name, $.identifier), return_type_list: ($) => - seq(":", "(", optional(commaSep($.type_name)), ")"), + seq( + ":", + choice($.type_name, seq("(", optional(commaSep($.type_name)), ")")), + ), + + block: ($) => $.statement, - block: ($) => choice(seq("{", repeat($.statement), "}"), $.statement), + braced_block: ($) => seq("{", repeat($.statement), "}"), statement: ($) => choice( @@ -125,6 +148,7 @@ export default grammar({ $.tuple_assignment, $.push_statement, $.state_function_call_assignment, + $.struct_destructure_assignment, $.function_call_assignment, $.call_statement, $.return_statement, @@ -133,6 +157,7 @@ export default grammar({ $.require_statement, $.if_statement, $.for_statement, + $.braced_block, $.console_statement, ), @@ -164,7 +189,20 @@ export default grammar({ seq("(", commaSep($.typed_binding), ")", "=", $.function_call, ";"), state_function_call_assignment: ($) => - seq("{", commaSep($.state_typed_binding), "}", "=", $.function_call, ";"), + prec( + 1, + seq( + "{", + commaSep($.state_typed_binding), + "}", + "=", + $.function_call, + ";", + ), + ), + + struct_destructure_assignment: ($) => + seq("{", commaSep($.state_typed_binding), "}", "=", $.expression, ";"), typed_binding: ($) => seq($.type_name, $.identifier), @@ -173,7 +211,19 @@ export default grammar({ call_statement: ($) => seq($.function_call, ";"), - return_statement: ($) => seq("return", $.expression_list, ";"), + return_statement: ($) => + seq("return", choice($.return_expression_list, $.expression), ";"), + + return_expression_list: ($) => + seq( + "(", + $.expression, + ",", + optional( + seq($.expression, repeat(seq(",", $.expression)), optional(",")), + ), + ")", + ), assign_statement: ($) => seq(field("name", $.identifier), "=", field("value", $.expression), ";"), @@ -209,8 +259,8 @@ export default grammar({ "(", $.expression, ")", - $.block, - optional(seq("else", $.block)), + $.statement, + optional(seq("else", $.statement)), ), ), @@ -226,7 +276,7 @@ export default grammar({ ",", $.expression, ")", - $.block, + $.statement, ), console_statement: ($) => seq("console.log", $.console_parameter_list, ";"), @@ -234,7 +284,7 @@ export default grammar({ console_parameter_list: ($) => seq("(", optional(commaSep($.console_parameter)), ")"), - console_parameter: ($) => choice($.identifier, $.literal), + console_parameter: ($) => $.expression, expression: ($) => $.logical_or, @@ -290,17 +340,15 @@ export default grammar({ postfix_op: ($) => choice( $.tuple_index, - $.member_access, $.unary_suffix, $.split_call, $.slice_call, $.reverse_call, + $.field_access, ), tuple_index: ($) => seq("[", $.expression, "]"), - member_access: ($) => seq(".", field("name", $.identifier)), - unary_suffix: (_) => ".length", split_call: ($) => seq(".split", "(", $.expression, ")"), @@ -309,6 +357,8 @@ export default grammar({ reverse_call: (_) => seq(".reverse", "(", ")"), + field_access: ($) => seq(".", field("name", $.identifier)), + primary: ($) => choice( $.parenthesized, @@ -328,7 +378,7 @@ export default grammar({ // type_name("(" expression ("," expression)? ","? ")" cast: ($) => seq( - $.type_name, + $.cast_type_name, "(", $.expression, optional(seq(",", $.expression)), @@ -336,6 +386,8 @@ export default grammar({ ")", ), + cast_type_name: ($) => seq($.builtin_type, repeat($.array_suffix)), + function_call: ($) => seq($.identifier, $.expression_list), expression_list: ($) => seq("(", optional(commaSep($.expression)), ")"), @@ -385,14 +437,14 @@ export default grammar({ type_name: ($) => seq($.base_type, repeat($.array_suffix)), - base_type: ($) => - choice("int", "bool", "string", "pubkey", "sig", "datasig", "byte", $.identifier), + base_type: ($) => choice($.builtin_type, $.identifier), - attribute: (_) => token(seq("#[", /[^\]\n]+/, "]")), + builtin_type: (_) => + choice("int", "bool", "string", "pubkey", "sig", "datasig", "byte"), array_suffix: ($) => seq("[", optional($.array_size), "]"), - array_size: ($) => choice($.identifier, $.array_bound), + array_size: ($) => choice("_", $.identifier, $.array_bound), array_bound: (_) => token(/[1-9][0-9]*/), diff --git a/tree-sitter/queries/highlights.scm b/tree-sitter/queries/highlights.scm index d5d7a565..f0fb819f 100644 --- a/tree-sitter/queries/highlights.scm +++ b/tree-sitter/queries/highlights.scm @@ -12,6 +12,12 @@ (type_name) @type +(struct_definition + name: (identifier) @type) + +(struct_field_definition + name: (identifier) @property) + (instantiation (identifier) @type.builtin (#match? @type.builtin @@ -26,6 +32,13 @@ (function_definition name: (identifier) @function) +(builtin_function_declaration + name: (identifier) @function.builtin) + +(function_attribute + (attribute_path + (identifier) @attribute)) + (constant_definition name: (identifier) @constant) @@ -69,10 +82,14 @@ (type_name) (identifier) @variable) +(field_access + "." @operator + name: (identifier) @property) + (function_call (identifier) @function.builtin (#match? @function.builtin - "^(readInputState|readInputStateWithTemplate|validateOutputState|validateOutputStateWithTemplate|verifyOutputState|verifyOutputStates|OpSha256|sha256|OpTxSubnetId|OpTxGas|OpTxPayloadLen|OpTxPayloadSubstr|OpOutpointTxId|OpOutpointIndex|OpTxInputScriptSigLen|OpTxInputScriptSigSubstr|OpTxInputSeq|OpTxInputIsCoinbase|OpTxInputSpkLen|OpTxInputSpkSubstr|OpTxOutputSpkLen|OpTxOutputSpkSubstr|OpAuthOutputCount|OpAuthOutputIdx|OpInputCovenantId|OpOutputCovenantId|OpCovInputCount|OpCovInputIdx|OpCovOutputCount|OpCovOutputIdx|OpNum2Bin|OpBin2Num|OpChainblockSeqCommit|checkDataSig|checkSig|checkMultiSig|blake2b)$")) + "^(readInputState|readInputStateWithTemplate|validateOutputState|validateOutputStateWithTemplate|verifyOutputState|verifyOutputStates|OpSha256|sha256|OpTxSubnetId|OpTxGas|OpTxPayloadLen|OpTxPayloadSubstr|OpOutpointTxId|OpOutpointIndex|OpTxInputScriptSigLen|OpTxInputScriptSigSubstr|OpTxInputSeq|OpTxInputDaaScore|OpTxInputIsCoinbase|OpTxInputSpkLen|OpTxInputSpkSubstr|OpTxOutputSpkLen|OpTxOutputSpkSubstr|OpAuthOutputCount|OpAuthOutputIdx|OpInputCovenantId|OpOutputCovenantId|OpCovInputCount|OpCovInputIdx|OpCovOutputCount|OpCovOutputIdx|OpNum2Bin|OpBin2Num|OpChainblockSeqCommit|bytes|length|checkDataSig|checkSig|checkMultiSig|blake2b)$")) (unary_suffix) @property @@ -91,6 +108,7 @@ "pragma" "silverscript" "contract" + "struct" "entrypoint" "function" "constant" diff --git a/tree-sitter/src/grammar.json b/tree-sitter/src/grammar.json index e21789e0..5648713f 100644 --- a/tree-sitter/src/grammar.json +++ b/tree-sitter/src/grammar.json @@ -4,6 +4,19 @@ "word": "identifier", "rules": { "source_file": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "contract_source_file" + }, + { + "type": "SYMBOL", + "name": "declaration_source_file" + } + ] + }, + "contract_source_file": { "type": "SEQ", "members": [ { @@ -19,6 +32,13 @@ } ] }, + "declaration_source_file": { + "type": "REPEAT1", + "content": { + "type": "SYMBOL", + "name": "builtin_function_declaration" + } + }, "pragma_directive": { "type": "SEQ", "members": [ @@ -163,15 +183,15 @@ "members": [ { "type": "SYMBOL", - "name": "constant_definition" + "name": "struct_definition" }, { "type": "SYMBOL", - "name": "contract_field_definition" + "name": "constant_definition" }, { "type": "SYMBOL", - "name": "struct_definition" + "name": "contract_field_definition" }, { "type": "SYMBOL", @@ -239,7 +259,7 @@ "type": "REPEAT", "content": { "type": "SYMBOL", - "name": "attribute" + "name": "function_attribute" } }, { @@ -282,20 +302,183 @@ } ] }, + { + "type": "SYMBOL", + "name": "braced_block" + } + ] + }, + "builtin_function_declaration": { + "type": "SEQ", + "members": [ { "type": "STRING", - "value": "{" + "value": "function" + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + }, + { + "type": "SYMBOL", + "name": "parameter_list" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "return_type_list" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ";" + } + ] + }, + "function_attribute": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "#[" + }, + { + "type": "SYMBOL", + "name": "attribute_path" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_args" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "attribute_path": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "identifier" }, { "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + } + } + ] + }, + "attribute_args": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "attribute_arg" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "attribute_arg" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, + "attribute_arg": { + "type": "SEQ", + "members": [ + { + "type": "FIELD", + "name": "name", "content": { "type": "SYMBOL", - "name": "statement" + "name": "identifier" } }, { "type": "STRING", - "value": "}" + "value": "=" + }, + { + "type": "FIELD", + "name": "value", + "content": { + "type": "SYMBOL", + "name": "expression" + } } ] }, @@ -447,87 +630,96 @@ "type": "STRING", "value": ":" }, - { - "type": "STRING", - "value": "(" - }, { "type": "CHOICE", "members": [ + { + "type": "SYMBOL", + "name": "type_name" + }, { "type": "SEQ", "members": [ { - "type": "SYMBOL", - "name": "type_name" - }, - { - "type": "REPEAT", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "," - }, - { - "type": "SYMBOL", - "name": "type_name" - } - ] - } + "type": "STRING", + "value": "(" }, { "type": "CHOICE", "members": [ { - "type": "STRING", - "value": "," + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "type_name" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "type_name" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] }, { "type": "BLANK" } ] + }, + { + "type": "STRING", + "value": ")" } ] - }, - { - "type": "BLANK" } ] - }, - { - "type": "STRING", - "value": ")" } ] }, "block": { - "type": "CHOICE", + "type": "SYMBOL", + "name": "statement" + }, + "braced_block": { + "type": "SEQ", "members": [ { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "{" - }, - { - "type": "REPEAT", - "content": { - "type": "SYMBOL", - "name": "statement" - } - }, - { - "type": "STRING", - "value": "}" - } - ] + "type": "STRING", + "value": "{" }, { - "type": "SYMBOL", - "name": "statement" + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "statement" + } + }, + { + "type": "STRING", + "value": "}" } ] }, @@ -550,6 +742,10 @@ "type": "SYMBOL", "name": "state_function_call_assignment" }, + { + "type": "SYMBOL", + "name": "struct_destructure_assignment" + }, { "type": "SYMBOL", "name": "function_call_assignment" @@ -582,6 +778,10 @@ "type": "SYMBOL", "name": "for_statement" }, + { + "type": "SYMBOL", + "name": "braced_block" + }, { "type": "SYMBOL", "name": "console_statement" @@ -774,6 +974,72 @@ ] }, "state_function_call_assignment": { + "type": "PREC", + "value": 1, + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "state_typed_binding" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "state_typed_binding" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "STRING", + "value": "}" + }, + { + "type": "STRING", + "value": "=" + }, + { + "type": "SYMBOL", + "name": "function_call" + }, + { + "type": "STRING", + "value": ";" + } + ] + } + }, + "struct_destructure_assignment": { "type": "SEQ", "members": [ { @@ -827,7 +1093,7 @@ }, { "type": "SYMBOL", - "name": "function_call" + "name": "expression" }, { "type": "STRING", @@ -890,8 +1156,17 @@ "value": "return" }, { - "type": "SYMBOL", - "name": "expression_list" + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "return_expression_list" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] }, { "type": "STRING", @@ -899,6 +1174,72 @@ } ] }, + "return_expression_list": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "(" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "," + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "REPEAT", + "content": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + } + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "BLANK" + } + ] + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": ")" + } + ] + }, "assign_statement": { "type": "SEQ", "members": [ @@ -1056,7 +1397,7 @@ }, { "type": "SYMBOL", - "name": "block" + "name": "statement" }, { "type": "CHOICE", @@ -1070,7 +1411,7 @@ }, { "type": "SYMBOL", - "name": "block" + "name": "statement" } ] }, @@ -1127,7 +1468,7 @@ }, { "type": "SYMBOL", - "name": "block" + "name": "statement" } ] }, @@ -1207,17 +1548,8 @@ ] }, "console_parameter": { - "type": "CHOICE", - "members": [ - { - "type": "SYMBOL", - "name": "identifier" - }, - { - "type": "SYMBOL", - "name": "literal" - } - ] + "type": "SYMBOL", + "name": "expression" }, "expression": { "type": "SYMBOL", @@ -1592,10 +1924,6 @@ "type": "SYMBOL", "name": "tuple_index" }, - { - "type": "SYMBOL", - "name": "member_access" - }, { "type": "SYMBOL", "name": "unary_suffix" @@ -1611,6 +1939,10 @@ { "type": "SYMBOL", "name": "reverse_call" + }, + { + "type": "SYMBOL", + "name": "field_access" } ] }, @@ -1631,23 +1963,6 @@ } ] }, - "member_access": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "." - }, - { - "type": "FIELD", - "name": "name", - "content": { - "type": "SYMBOL", - "name": "identifier" - } - } - ] - }, "unary_suffix": { "type": "STRING", "value": ".length" @@ -1719,6 +2034,23 @@ } ] }, + "field_access": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "." + }, + { + "type": "FIELD", + "name": "name", + "content": { + "type": "SYMBOL", + "name": "identifier" + } + } + ] + }, "primary": { "type": "CHOICE", "members": [ @@ -1786,7 +2118,7 @@ "members": [ { "type": "SYMBOL", - "name": "type_name" + "name": "cast_type_name" }, { "type": "STRING", @@ -1835,6 +2167,22 @@ } ] }, + "cast_type_name": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "builtin_type" + }, + { + "type": "REPEAT", + "content": { + "type": "SYMBOL", + "name": "array_suffix" + } + } + ] + }, "function_call": { "type": "SEQ", "members": [ @@ -2220,6 +2568,19 @@ ] }, "base_type": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "builtin_type" + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + "builtin_type": { "type": "CHOICE", "members": [ { @@ -2249,33 +2610,9 @@ { "type": "STRING", "value": "byte" - }, - { - "type": "SYMBOL", - "name": "identifier" } ] }, - "attribute": { - "type": "TOKEN", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "#[" - }, - { - "type": "PATTERN", - "value": "[^\\]\\n]+" - }, - { - "type": "STRING", - "value": "]" - } - ] - } - }, "array_suffix": { "type": "SEQ", "members": [ @@ -2304,6 +2641,10 @@ "array_size": { "type": "CHOICE", "members": [ + { + "type": "STRING", + "value": "_" + }, { "type": "SYMBOL", "name": "identifier" @@ -2556,16 +2897,7 @@ "name": "comment" } ], - "conflicts": [ - [ - "function_call", - "base_type" - ], - [ - "primary", - "base_type" - ] - ], + "conflicts": [], "precedences": [], "externals": [], "inline": [], diff --git a/tree-sitter/src/node-types.json b/tree-sitter/src/node-types.json index 97a0e9f4..e740ebed 100644 --- a/tree-sitter/src/node-types.json +++ b/tree-sitter/src/node-types.json @@ -20,7 +20,7 @@ "fields": {}, "children": { "multiple": false, - "required": true, + "required": false, "types": [ { "type": "array_bound", @@ -74,14 +74,74 @@ } } }, + { + "type": "attribute_arg", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + } + }, + { + "type": "attribute_args", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "attribute_arg", + "named": true + } + ] + } + }, + { + "type": "attribute_path", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, { "type": "base_type", "named": true, "fields": {}, "children": { "multiple": false, - "required": false, + "required": true, "types": [ + { + "type": "builtin_type", + "named": true + }, { "type": "identifier", "named": true @@ -135,7 +195,12 @@ } }, { - "type": "block", + "type": "boolean_literal", + "named": true, + "fields": {} + }, + { + "type": "braced_block", "named": true, "fields": {}, "children": { @@ -150,7 +215,37 @@ } }, { - "type": "boolean_literal", + "type": "builtin_function_declaration", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + }, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "parameter_list", + "named": true + }, + { + "type": "return_type_list", + "named": true + } + ] + } + }, + { + "type": "builtin_type", "named": true, "fields": {} }, @@ -177,12 +272,31 @@ "multiple": true, "required": true, "types": [ + { + "type": "cast_type_name", + "named": true + }, { "type": "expression", "named": true + } + ] + } + }, + { + "type": "cast_type_name", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "array_suffix", + "named": true }, { - "type": "type_name", + "type": "builtin_type", "named": true } ] @@ -212,11 +326,7 @@ "required": true, "types": [ { - "type": "identifier", - "named": true - }, - { - "type": "literal", + "type": "expression", "named": true } ] @@ -381,6 +491,25 @@ ] } }, + { + "type": "contract_source_file", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "contract_definition", + "named": true + }, + { + "type": "pragma_directive", + "named": true + } + ] + } + }, { "type": "date_literal", "named": true, @@ -396,6 +525,21 @@ ] } }, + { + "type": "declaration_source_file", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "builtin_function_declaration", + "named": true + } + ] + } + }, { "type": "equality", "named": true, @@ -456,6 +600,22 @@ ] } }, + { + "type": "field_access", + "named": true, + "fields": { + "name": { + "multiple": false, + "required": true, + "types": [ + { + "type": "identifier", + "named": true + } + ] + } + } + }, { "type": "for_statement", "named": true, @@ -465,15 +625,34 @@ "required": true, "types": [ { - "type": "block", + "type": "expression", "named": true }, { - "type": "expression", + "type": "identifier", "named": true }, { - "type": "identifier", + "type": "statement", + "named": true + } + ] + } + }, + { + "type": "function_attribute", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "attribute_args", + "named": true + }, + { + "type": "attribute_path", "named": true } ] @@ -537,19 +716,19 @@ "required": true, "types": [ { - "type": "attribute", + "type": "braced_block", "named": true }, { - "type": "parameter_list", + "type": "function_attribute", "named": true }, { - "type": "return_type_list", + "type": "parameter_list", "named": true }, { - "type": "statement", + "type": "return_type_list", "named": true } ] @@ -564,11 +743,11 @@ "required": true, "types": [ { - "type": "block", + "type": "expression", "named": true }, { - "type": "expression", + "type": "statement", "named": true } ] @@ -719,22 +898,6 @@ ] } }, - { - "type": "member_access", - "named": true, - "fields": { - "name": { - "multiple": false, - "required": true, - "types": [ - { - "type": "identifier", - "named": true - } - ] - } - } - }, { "type": "modifier", "named": true, @@ -867,7 +1030,7 @@ "required": true, "types": [ { - "type": "member_access", + "type": "field_access", "named": true }, { @@ -1034,6 +1197,21 @@ ] } }, + { + "type": "return_expression_list", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, { "type": "return_statement", "named": true, @@ -1043,7 +1221,11 @@ "required": true, "types": [ { - "type": "expression_list", + "type": "expression", + "named": true + }, + { + "type": "return_expression_list", "named": true } ] @@ -1090,15 +1272,15 @@ "root": true, "fields": {}, "children": { - "multiple": true, + "multiple": false, "required": true, "types": [ { - "type": "contract_definition", + "type": "contract_source_file", "named": true }, { - "type": "pragma_directive", + "type": "declaration_source_file", "named": true } ] @@ -1203,6 +1385,10 @@ "type": "assign_statement", "named": true }, + { + "type": "braced_block", + "named": true + }, { "type": "call_statement", "named": true @@ -1239,6 +1425,10 @@ "type": "state_function_call_assignment", "named": true }, + { + "type": "struct_destructure_assignment", + "named": true + }, { "type": "time_op_statement", "named": true @@ -1280,6 +1470,25 @@ ] } }, + { + "type": "struct_destructure_assignment", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "state_typed_binding", + "named": true + } + ] + } + }, { "type": "struct_field_definition", "named": true, @@ -1521,6 +1730,10 @@ "type": "!=", "named": false }, + { + "type": "#[", + "named": false + }, { "type": "%", "named": false @@ -1626,11 +1839,11 @@ "named": false }, { - "type": "array_bound", - "named": true + "type": "_", + "named": false }, { - "type": "attribute", + "type": "array_bound", "named": true }, { diff --git a/tree-sitter/src/parser.c b/tree-sitter/src/parser.c index 031ba06d..50f133b2 100644 --- a/tree-sitter/src/parser.c +++ b/tree-sitter/src/parser.c @@ -7,11 +7,11 @@ #endif #define LANGUAGE_VERSION 15 -#define STATE_COUNT 414 +#define STATE_COUNT 456 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 197 +#define SYMBOL_COUNT 212 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 92 +#define TOKEN_COUNT 93 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 5 #define MAX_ALIAS_SEQUENCE_LENGTH 11 @@ -38,184 +38,199 @@ enum ts_symbol_identifiers { anon_sym_struct = 16, anon_sym_entrypoint = 17, anon_sym_function = 18, - anon_sym_constant = 19, - anon_sym_LPAREN = 20, - anon_sym_COMMA = 21, - anon_sym_RPAREN = 22, - anon_sym_COLON = 23, - anon_sym_DOTpush = 24, - anon_sym_return = 25, - anon_sym_require = 26, - anon_sym_if = 27, - anon_sym_else = 28, - anon_sym_for = 29, - anon_sym_console_DOTlog = 30, - anon_sym_PIPE_PIPE = 31, - anon_sym_AMP_AMP = 32, - anon_sym_PIPE = 33, - anon_sym_AMP = 34, - anon_sym_EQ_EQ = 35, - anon_sym_BANG_EQ = 36, - anon_sym_PLUS = 37, - anon_sym_DASH = 38, - anon_sym_STAR = 39, - anon_sym_SLASH = 40, - anon_sym_PERCENT = 41, - anon_sym_BANG = 42, - anon_sym_LBRACK = 43, - anon_sym_RBRACK = 44, - anon_sym_DOT = 45, - sym_unary_suffix = 46, - anon_sym_DOTsplit = 47, - anon_sym_DOTslice = 48, - anon_sym_DOTreverse = 49, - anon_sym_new = 50, - sym_output_root = 51, - sym_input_root = 52, - anon_sym_value = 53, - anon_sym_scriptPubKey = 54, - anon_sym_outpointTransactionHash = 55, - anon_sym_outpointIndex = 56, - anon_sym_sigScript = 57, - anon_sym_int = 58, - anon_sym_bool = 59, - anon_sym_string = 60, - anon_sym_pubkey = 61, - anon_sym_sig = 62, - anon_sym_datasig = 63, - anon_sym_byte = 64, - sym_attribute = 65, - sym_array_bound = 66, - anon_sym_true = 67, - anon_sym_false = 68, - anon_sym_litras = 69, - anon_sym_grains = 70, - anon_sym_kas = 71, - anon_sym_seconds = 72, - anon_sym_minutes = 73, - anon_sym_hours = 74, - anon_sym_days = 75, - anon_sym_weeks = 76, - sym_number = 77, - sym_string_literal = 78, - anon_sym_date = 79, - sym_hex_literal = 80, - anon_sym_this_DOTage = 81, - anon_sym_tx_DOTtime = 82, - anon_sym_this_DOTactiveInputIndex = 83, - anon_sym_this_DOTactiveScriptPubKey = 84, - anon_sym_this_DOTscriptSizeDataPrefix = 85, - anon_sym_this_DOTscriptSize = 86, - anon_sym_tx_DOTinputs_DOTlength = 87, - anon_sym_tx_DOToutputs_DOTlength = 88, - anon_sym_tx_DOTversion = 89, - anon_sym_tx_DOTlocktime = 90, - sym_comment = 91, - sym_source_file = 92, - sym_pragma_directive = 93, - sym_pragma_value = 94, - sym_version_constraint = 95, - sym_version_operator = 96, - sym_contract_definition = 97, - sym_contract_item = 98, - sym_struct_definition = 99, - sym_struct_field_definition = 100, - sym_function_definition = 101, - sym_constant_definition = 102, - sym_contract_field_definition = 103, - sym_parameter_list = 104, - sym_parameter = 105, - sym_return_type_list = 106, - sym_block = 107, - sym_statement = 108, - sym_variable_definition = 109, - sym_tuple_assignment = 110, - sym_push_statement = 111, - sym_function_call_assignment = 112, - sym_state_function_call_assignment = 113, - sym_typed_binding = 114, - sym_state_typed_binding = 115, - sym_call_statement = 116, - sym_return_statement = 117, - sym_assign_statement = 118, - sym_time_op_statement = 119, - sym_require_statement = 120, - sym_require_message = 121, - sym_if_statement = 122, - sym_for_statement = 123, - sym_console_statement = 124, - sym_console_parameter_list = 125, - sym_console_parameter = 126, - sym_expression = 127, - sym_logical_or = 128, - sym_logical_and = 129, - sym_bit_or = 130, - sym_bit_xor = 131, - sym_bit_and = 132, - sym_equality = 133, - sym_comparison = 134, - sym_term = 135, - sym_factor = 136, - sym_unary = 137, - sym_unary_op = 138, - sym_postfix = 139, - sym_postfix_op = 140, - sym_tuple_index = 141, - sym_member_access = 142, - sym_split_call = 143, - sym_slice_call = 144, - sym_reverse_call = 145, - sym_primary = 146, - sym_parenthesized = 147, - sym_cast = 148, - sym_function_call = 149, - sym_expression_list = 150, - sym_instantiation = 151, - sym_state_object = 152, - sym_state_entry = 153, - sym_introspection = 154, - sym_output_field = 155, - sym_output_field_name = 156, - sym_input_field = 157, - sym_input_field_name = 158, - sym_array = 159, - sym_modifier = 160, - sym_type_name = 161, - sym_base_type = 162, - sym_array_suffix = 163, - sym_array_size = 164, - sym_literal = 165, - sym_boolean_literal = 166, - sym_number_literal = 167, - sym_number_unit = 168, - sym_date_literal = 169, - sym_tx_var = 170, - sym_nullary_op = 171, - aux_sym_source_file_repeat1 = 172, - aux_sym_contract_definition_repeat1 = 173, - aux_sym_struct_definition_repeat1 = 174, - aux_sym_function_definition_repeat1 = 175, - aux_sym_function_definition_repeat2 = 176, - aux_sym_parameter_list_repeat1 = 177, - aux_sym_return_type_list_repeat1 = 178, - aux_sym_variable_definition_repeat1 = 179, - aux_sym_function_call_assignment_repeat1 = 180, - aux_sym_state_function_call_assignment_repeat1 = 181, - aux_sym_console_parameter_list_repeat1 = 182, - aux_sym_logical_or_repeat1 = 183, - aux_sym_logical_and_repeat1 = 184, - aux_sym_bit_or_repeat1 = 185, - aux_sym_bit_xor_repeat1 = 186, - aux_sym_bit_and_repeat1 = 187, - aux_sym_equality_repeat1 = 188, - aux_sym_comparison_repeat1 = 189, - aux_sym_term_repeat1 = 190, - aux_sym_factor_repeat1 = 191, - aux_sym_unary_repeat1 = 192, - aux_sym_postfix_repeat1 = 193, - aux_sym_expression_list_repeat1 = 194, - aux_sym_state_object_repeat1 = 195, - aux_sym_type_name_repeat1 = 196, + anon_sym_POUND_LBRACK = 19, + anon_sym_RBRACK = 20, + anon_sym_DOT = 21, + anon_sym_LPAREN = 22, + anon_sym_COMMA = 23, + anon_sym_RPAREN = 24, + anon_sym_constant = 25, + anon_sym_COLON = 26, + anon_sym_DOTpush = 27, + anon_sym_return = 28, + anon_sym_require = 29, + anon_sym_if = 30, + anon_sym_else = 31, + anon_sym_for = 32, + anon_sym_console_DOTlog = 33, + anon_sym_PIPE_PIPE = 34, + anon_sym_AMP_AMP = 35, + anon_sym_PIPE = 36, + anon_sym_AMP = 37, + anon_sym_EQ_EQ = 38, + anon_sym_BANG_EQ = 39, + anon_sym_PLUS = 40, + anon_sym_DASH = 41, + anon_sym_STAR = 42, + anon_sym_SLASH = 43, + anon_sym_PERCENT = 44, + anon_sym_BANG = 45, + anon_sym_LBRACK = 46, + sym_unary_suffix = 47, + anon_sym_DOTsplit = 48, + anon_sym_DOTslice = 49, + anon_sym_DOTreverse = 50, + anon_sym_new = 51, + sym_output_root = 52, + sym_input_root = 53, + anon_sym_value = 54, + anon_sym_scriptPubKey = 55, + anon_sym_outpointTransactionHash = 56, + anon_sym_outpointIndex = 57, + anon_sym_sigScript = 58, + anon_sym_int = 59, + anon_sym_bool = 60, + anon_sym_string = 61, + anon_sym_pubkey = 62, + anon_sym_sig = 63, + anon_sym_datasig = 64, + anon_sym_byte = 65, + anon_sym__ = 66, + sym_array_bound = 67, + anon_sym_true = 68, + anon_sym_false = 69, + anon_sym_litras = 70, + anon_sym_grains = 71, + anon_sym_kas = 72, + anon_sym_seconds = 73, + anon_sym_minutes = 74, + anon_sym_hours = 75, + anon_sym_days = 76, + anon_sym_weeks = 77, + sym_number = 78, + sym_string_literal = 79, + anon_sym_date = 80, + sym_hex_literal = 81, + anon_sym_this_DOTage = 82, + anon_sym_tx_DOTtime = 83, + anon_sym_this_DOTactiveInputIndex = 84, + anon_sym_this_DOTactiveScriptPubKey = 85, + anon_sym_this_DOTscriptSizeDataPrefix = 86, + anon_sym_this_DOTscriptSize = 87, + anon_sym_tx_DOTinputs_DOTlength = 88, + anon_sym_tx_DOToutputs_DOTlength = 89, + anon_sym_tx_DOTversion = 90, + anon_sym_tx_DOTlocktime = 91, + sym_comment = 92, + sym_source_file = 93, + sym_contract_source_file = 94, + sym_declaration_source_file = 95, + sym_pragma_directive = 96, + sym_pragma_value = 97, + sym_version_constraint = 98, + sym_version_operator = 99, + sym_contract_definition = 100, + sym_contract_item = 101, + sym_struct_definition = 102, + sym_struct_field_definition = 103, + sym_function_definition = 104, + sym_builtin_function_declaration = 105, + sym_function_attribute = 106, + sym_attribute_path = 107, + sym_attribute_args = 108, + sym_attribute_arg = 109, + sym_constant_definition = 110, + sym_contract_field_definition = 111, + sym_parameter_list = 112, + sym_parameter = 113, + sym_return_type_list = 114, + sym_braced_block = 115, + sym_statement = 116, + sym_variable_definition = 117, + sym_tuple_assignment = 118, + sym_push_statement = 119, + sym_function_call_assignment = 120, + sym_state_function_call_assignment = 121, + sym_struct_destructure_assignment = 122, + sym_typed_binding = 123, + sym_state_typed_binding = 124, + sym_call_statement = 125, + sym_return_statement = 126, + sym_return_expression_list = 127, + sym_assign_statement = 128, + sym_time_op_statement = 129, + sym_require_statement = 130, + sym_require_message = 131, + sym_if_statement = 132, + sym_for_statement = 133, + sym_console_statement = 134, + sym_console_parameter_list = 135, + sym_console_parameter = 136, + sym_expression = 137, + sym_logical_or = 138, + sym_logical_and = 139, + sym_bit_or = 140, + sym_bit_xor = 141, + sym_bit_and = 142, + sym_equality = 143, + sym_comparison = 144, + sym_term = 145, + sym_factor = 146, + sym_unary = 147, + sym_unary_op = 148, + sym_postfix = 149, + sym_postfix_op = 150, + sym_tuple_index = 151, + sym_split_call = 152, + sym_slice_call = 153, + sym_reverse_call = 154, + sym_field_access = 155, + sym_primary = 156, + sym_parenthesized = 157, + sym_cast = 158, + sym_cast_type_name = 159, + sym_function_call = 160, + sym_expression_list = 161, + sym_instantiation = 162, + sym_state_object = 163, + sym_state_entry = 164, + sym_introspection = 165, + sym_output_field = 166, + sym_output_field_name = 167, + sym_input_field = 168, + sym_input_field_name = 169, + sym_array = 170, + sym_modifier = 171, + sym_type_name = 172, + sym_base_type = 173, + sym_builtin_type = 174, + sym_array_suffix = 175, + sym_array_size = 176, + sym_literal = 177, + sym_boolean_literal = 178, + sym_number_literal = 179, + sym_number_unit = 180, + sym_date_literal = 181, + sym_tx_var = 182, + sym_nullary_op = 183, + aux_sym_contract_source_file_repeat1 = 184, + aux_sym_declaration_source_file_repeat1 = 185, + aux_sym_contract_definition_repeat1 = 186, + aux_sym_struct_definition_repeat1 = 187, + aux_sym_function_definition_repeat1 = 188, + aux_sym_attribute_path_repeat1 = 189, + aux_sym_attribute_args_repeat1 = 190, + aux_sym_parameter_list_repeat1 = 191, + aux_sym_return_type_list_repeat1 = 192, + aux_sym_braced_block_repeat1 = 193, + aux_sym_variable_definition_repeat1 = 194, + aux_sym_function_call_assignment_repeat1 = 195, + aux_sym_state_function_call_assignment_repeat1 = 196, + aux_sym_return_expression_list_repeat1 = 197, + aux_sym_console_parameter_list_repeat1 = 198, + aux_sym_logical_or_repeat1 = 199, + aux_sym_logical_and_repeat1 = 200, + aux_sym_bit_or_repeat1 = 201, + aux_sym_bit_xor_repeat1 = 202, + aux_sym_bit_and_repeat1 = 203, + aux_sym_equality_repeat1 = 204, + aux_sym_comparison_repeat1 = 205, + aux_sym_term_repeat1 = 206, + aux_sym_factor_repeat1 = 207, + aux_sym_unary_repeat1 = 208, + aux_sym_postfix_repeat1 = 209, + aux_sym_cast_type_name_repeat1 = 210, + aux_sym_state_object_repeat1 = 211, }; static const char * const ts_symbol_names[] = { @@ -238,10 +253,13 @@ static const char * const ts_symbol_names[] = { [anon_sym_struct] = "struct", [anon_sym_entrypoint] = "entrypoint", [anon_sym_function] = "function", - [anon_sym_constant] = "constant", + [anon_sym_POUND_LBRACK] = "#[", + [anon_sym_RBRACK] = "]", + [anon_sym_DOT] = ".", [anon_sym_LPAREN] = "(", [anon_sym_COMMA] = ",", [anon_sym_RPAREN] = ")", + [anon_sym_constant] = "constant", [anon_sym_COLON] = ":", [anon_sym_DOTpush] = ".push", [anon_sym_return] = "return", @@ -263,8 +281,6 @@ static const char * const ts_symbol_names[] = { [anon_sym_PERCENT] = "%", [anon_sym_BANG] = "!", [anon_sym_LBRACK] = "[", - [anon_sym_RBRACK] = "]", - [anon_sym_DOT] = ".", [sym_unary_suffix] = "unary_suffix", [anon_sym_DOTsplit] = ".split", [anon_sym_DOTslice] = ".slice", @@ -284,7 +300,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_sig] = "sig", [anon_sym_datasig] = "datasig", [anon_sym_byte] = "byte", - [sym_attribute] = "attribute", + [anon_sym__] = "_", [sym_array_bound] = "array_bound", [anon_sym_true] = "true", [anon_sym_false] = "false", @@ -312,6 +328,8 @@ static const char * const ts_symbol_names[] = { [anon_sym_tx_DOTlocktime] = "tx.locktime", [sym_comment] = "comment", [sym_source_file] = "source_file", + [sym_contract_source_file] = "contract_source_file", + [sym_declaration_source_file] = "declaration_source_file", [sym_pragma_directive] = "pragma_directive", [sym_pragma_value] = "pragma_value", [sym_version_constraint] = "version_constraint", @@ -321,22 +339,29 @@ static const char * const ts_symbol_names[] = { [sym_struct_definition] = "struct_definition", [sym_struct_field_definition] = "struct_field_definition", [sym_function_definition] = "function_definition", + [sym_builtin_function_declaration] = "builtin_function_declaration", + [sym_function_attribute] = "function_attribute", + [sym_attribute_path] = "attribute_path", + [sym_attribute_args] = "attribute_args", + [sym_attribute_arg] = "attribute_arg", [sym_constant_definition] = "constant_definition", [sym_contract_field_definition] = "contract_field_definition", [sym_parameter_list] = "parameter_list", [sym_parameter] = "parameter", [sym_return_type_list] = "return_type_list", - [sym_block] = "block", + [sym_braced_block] = "braced_block", [sym_statement] = "statement", [sym_variable_definition] = "variable_definition", [sym_tuple_assignment] = "tuple_assignment", [sym_push_statement] = "push_statement", [sym_function_call_assignment] = "function_call_assignment", [sym_state_function_call_assignment] = "state_function_call_assignment", + [sym_struct_destructure_assignment] = "struct_destructure_assignment", [sym_typed_binding] = "typed_binding", [sym_state_typed_binding] = "state_typed_binding", [sym_call_statement] = "call_statement", [sym_return_statement] = "return_statement", + [sym_return_expression_list] = "return_expression_list", [sym_assign_statement] = "assign_statement", [sym_time_op_statement] = "time_op_statement", [sym_require_statement] = "require_statement", @@ -361,13 +386,14 @@ static const char * const ts_symbol_names[] = { [sym_postfix] = "postfix", [sym_postfix_op] = "postfix_op", [sym_tuple_index] = "tuple_index", - [sym_member_access] = "member_access", [sym_split_call] = "split_call", [sym_slice_call] = "slice_call", [sym_reverse_call] = "reverse_call", + [sym_field_access] = "field_access", [sym_primary] = "primary", [sym_parenthesized] = "parenthesized", [sym_cast] = "cast", + [sym_cast_type_name] = "cast_type_name", [sym_function_call] = "function_call", [sym_expression_list] = "expression_list", [sym_instantiation] = "instantiation", @@ -382,6 +408,7 @@ static const char * const ts_symbol_names[] = { [sym_modifier] = "modifier", [sym_type_name] = "type_name", [sym_base_type] = "base_type", + [sym_builtin_type] = "builtin_type", [sym_array_suffix] = "array_suffix", [sym_array_size] = "array_size", [sym_literal] = "literal", @@ -391,16 +418,20 @@ static const char * const ts_symbol_names[] = { [sym_date_literal] = "date_literal", [sym_tx_var] = "tx_var", [sym_nullary_op] = "nullary_op", - [aux_sym_source_file_repeat1] = "source_file_repeat1", + [aux_sym_contract_source_file_repeat1] = "contract_source_file_repeat1", + [aux_sym_declaration_source_file_repeat1] = "declaration_source_file_repeat1", [aux_sym_contract_definition_repeat1] = "contract_definition_repeat1", [aux_sym_struct_definition_repeat1] = "struct_definition_repeat1", [aux_sym_function_definition_repeat1] = "function_definition_repeat1", - [aux_sym_function_definition_repeat2] = "function_definition_repeat2", + [aux_sym_attribute_path_repeat1] = "attribute_path_repeat1", + [aux_sym_attribute_args_repeat1] = "attribute_args_repeat1", [aux_sym_parameter_list_repeat1] = "parameter_list_repeat1", [aux_sym_return_type_list_repeat1] = "return_type_list_repeat1", + [aux_sym_braced_block_repeat1] = "braced_block_repeat1", [aux_sym_variable_definition_repeat1] = "variable_definition_repeat1", [aux_sym_function_call_assignment_repeat1] = "function_call_assignment_repeat1", [aux_sym_state_function_call_assignment_repeat1] = "state_function_call_assignment_repeat1", + [aux_sym_return_expression_list_repeat1] = "return_expression_list_repeat1", [aux_sym_console_parameter_list_repeat1] = "console_parameter_list_repeat1", [aux_sym_logical_or_repeat1] = "logical_or_repeat1", [aux_sym_logical_and_repeat1] = "logical_and_repeat1", @@ -413,9 +444,8 @@ static const char * const ts_symbol_names[] = { [aux_sym_factor_repeat1] = "factor_repeat1", [aux_sym_unary_repeat1] = "unary_repeat1", [aux_sym_postfix_repeat1] = "postfix_repeat1", - [aux_sym_expression_list_repeat1] = "expression_list_repeat1", + [aux_sym_cast_type_name_repeat1] = "cast_type_name_repeat1", [aux_sym_state_object_repeat1] = "state_object_repeat1", - [aux_sym_type_name_repeat1] = "type_name_repeat1", }; static const TSSymbol ts_symbol_map[] = { @@ -438,10 +468,13 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_struct] = anon_sym_struct, [anon_sym_entrypoint] = anon_sym_entrypoint, [anon_sym_function] = anon_sym_function, - [anon_sym_constant] = anon_sym_constant, + [anon_sym_POUND_LBRACK] = anon_sym_POUND_LBRACK, + [anon_sym_RBRACK] = anon_sym_RBRACK, + [anon_sym_DOT] = anon_sym_DOT, [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_RPAREN] = anon_sym_RPAREN, + [anon_sym_constant] = anon_sym_constant, [anon_sym_COLON] = anon_sym_COLON, [anon_sym_DOTpush] = anon_sym_DOTpush, [anon_sym_return] = anon_sym_return, @@ -463,8 +496,6 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_PERCENT] = anon_sym_PERCENT, [anon_sym_BANG] = anon_sym_BANG, [anon_sym_LBRACK] = anon_sym_LBRACK, - [anon_sym_RBRACK] = anon_sym_RBRACK, - [anon_sym_DOT] = anon_sym_DOT, [sym_unary_suffix] = sym_unary_suffix, [anon_sym_DOTsplit] = anon_sym_DOTsplit, [anon_sym_DOTslice] = anon_sym_DOTslice, @@ -484,7 +515,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_sig] = anon_sym_sig, [anon_sym_datasig] = anon_sym_datasig, [anon_sym_byte] = anon_sym_byte, - [sym_attribute] = sym_attribute, + [anon_sym__] = anon_sym__, [sym_array_bound] = sym_array_bound, [anon_sym_true] = anon_sym_true, [anon_sym_false] = anon_sym_false, @@ -512,6 +543,8 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_tx_DOTlocktime] = anon_sym_tx_DOTlocktime, [sym_comment] = sym_comment, [sym_source_file] = sym_source_file, + [sym_contract_source_file] = sym_contract_source_file, + [sym_declaration_source_file] = sym_declaration_source_file, [sym_pragma_directive] = sym_pragma_directive, [sym_pragma_value] = sym_pragma_value, [sym_version_constraint] = sym_version_constraint, @@ -521,22 +554,29 @@ static const TSSymbol ts_symbol_map[] = { [sym_struct_definition] = sym_struct_definition, [sym_struct_field_definition] = sym_struct_field_definition, [sym_function_definition] = sym_function_definition, + [sym_builtin_function_declaration] = sym_builtin_function_declaration, + [sym_function_attribute] = sym_function_attribute, + [sym_attribute_path] = sym_attribute_path, + [sym_attribute_args] = sym_attribute_args, + [sym_attribute_arg] = sym_attribute_arg, [sym_constant_definition] = sym_constant_definition, [sym_contract_field_definition] = sym_contract_field_definition, [sym_parameter_list] = sym_parameter_list, [sym_parameter] = sym_parameter, [sym_return_type_list] = sym_return_type_list, - [sym_block] = sym_block, + [sym_braced_block] = sym_braced_block, [sym_statement] = sym_statement, [sym_variable_definition] = sym_variable_definition, [sym_tuple_assignment] = sym_tuple_assignment, [sym_push_statement] = sym_push_statement, [sym_function_call_assignment] = sym_function_call_assignment, [sym_state_function_call_assignment] = sym_state_function_call_assignment, + [sym_struct_destructure_assignment] = sym_struct_destructure_assignment, [sym_typed_binding] = sym_typed_binding, [sym_state_typed_binding] = sym_state_typed_binding, [sym_call_statement] = sym_call_statement, [sym_return_statement] = sym_return_statement, + [sym_return_expression_list] = sym_return_expression_list, [sym_assign_statement] = sym_assign_statement, [sym_time_op_statement] = sym_time_op_statement, [sym_require_statement] = sym_require_statement, @@ -561,13 +601,14 @@ static const TSSymbol ts_symbol_map[] = { [sym_postfix] = sym_postfix, [sym_postfix_op] = sym_postfix_op, [sym_tuple_index] = sym_tuple_index, - [sym_member_access] = sym_member_access, [sym_split_call] = sym_split_call, [sym_slice_call] = sym_slice_call, [sym_reverse_call] = sym_reverse_call, + [sym_field_access] = sym_field_access, [sym_primary] = sym_primary, [sym_parenthesized] = sym_parenthesized, [sym_cast] = sym_cast, + [sym_cast_type_name] = sym_cast_type_name, [sym_function_call] = sym_function_call, [sym_expression_list] = sym_expression_list, [sym_instantiation] = sym_instantiation, @@ -582,6 +623,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_modifier] = sym_modifier, [sym_type_name] = sym_type_name, [sym_base_type] = sym_base_type, + [sym_builtin_type] = sym_builtin_type, [sym_array_suffix] = sym_array_suffix, [sym_array_size] = sym_array_size, [sym_literal] = sym_literal, @@ -591,16 +633,20 @@ static const TSSymbol ts_symbol_map[] = { [sym_date_literal] = sym_date_literal, [sym_tx_var] = sym_tx_var, [sym_nullary_op] = sym_nullary_op, - [aux_sym_source_file_repeat1] = aux_sym_source_file_repeat1, + [aux_sym_contract_source_file_repeat1] = aux_sym_contract_source_file_repeat1, + [aux_sym_declaration_source_file_repeat1] = aux_sym_declaration_source_file_repeat1, [aux_sym_contract_definition_repeat1] = aux_sym_contract_definition_repeat1, [aux_sym_struct_definition_repeat1] = aux_sym_struct_definition_repeat1, [aux_sym_function_definition_repeat1] = aux_sym_function_definition_repeat1, - [aux_sym_function_definition_repeat2] = aux_sym_function_definition_repeat2, + [aux_sym_attribute_path_repeat1] = aux_sym_attribute_path_repeat1, + [aux_sym_attribute_args_repeat1] = aux_sym_attribute_args_repeat1, [aux_sym_parameter_list_repeat1] = aux_sym_parameter_list_repeat1, [aux_sym_return_type_list_repeat1] = aux_sym_return_type_list_repeat1, + [aux_sym_braced_block_repeat1] = aux_sym_braced_block_repeat1, [aux_sym_variable_definition_repeat1] = aux_sym_variable_definition_repeat1, [aux_sym_function_call_assignment_repeat1] = aux_sym_function_call_assignment_repeat1, [aux_sym_state_function_call_assignment_repeat1] = aux_sym_state_function_call_assignment_repeat1, + [aux_sym_return_expression_list_repeat1] = aux_sym_return_expression_list_repeat1, [aux_sym_console_parameter_list_repeat1] = aux_sym_console_parameter_list_repeat1, [aux_sym_logical_or_repeat1] = aux_sym_logical_or_repeat1, [aux_sym_logical_and_repeat1] = aux_sym_logical_and_repeat1, @@ -613,9 +659,8 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_factor_repeat1] = aux_sym_factor_repeat1, [aux_sym_unary_repeat1] = aux_sym_unary_repeat1, [aux_sym_postfix_repeat1] = aux_sym_postfix_repeat1, - [aux_sym_expression_list_repeat1] = aux_sym_expression_list_repeat1, + [aux_sym_cast_type_name_repeat1] = aux_sym_cast_type_name_repeat1, [aux_sym_state_object_repeat1] = aux_sym_state_object_repeat1, - [aux_sym_type_name_repeat1] = aux_sym_type_name_repeat1, }; static const TSSymbolMetadata ts_symbol_metadata[] = { @@ -695,7 +740,15 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_constant] = { + [anon_sym_POUND_LBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_RBRACK] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT] = { .visible = true, .named = false, }, @@ -711,6 +764,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_constant] = { + .visible = true, + .named = false, + }, [anon_sym_COLON] = { .visible = true, .named = false, @@ -795,14 +852,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [anon_sym_RBRACK] = { - .visible = true, - .named = false, - }, - [anon_sym_DOT] = { - .visible = true, - .named = false, - }, [sym_unary_suffix] = { .visible = true, .named = true, @@ -879,9 +928,9 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, - [sym_attribute] = { + [anon_sym__] = { .visible = true, - .named = true, + .named = false, }, [sym_array_bound] = { .visible = true, @@ -991,6 +1040,14 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_contract_source_file] = { + .visible = true, + .named = true, + }, + [sym_declaration_source_file] = { + .visible = true, + .named = true, + }, [sym_pragma_directive] = { .visible = true, .named = true, @@ -1027,6 +1084,26 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_builtin_function_declaration] = { + .visible = true, + .named = true, + }, + [sym_function_attribute] = { + .visible = true, + .named = true, + }, + [sym_attribute_path] = { + .visible = true, + .named = true, + }, + [sym_attribute_args] = { + .visible = true, + .named = true, + }, + [sym_attribute_arg] = { + .visible = true, + .named = true, + }, [sym_constant_definition] = { .visible = true, .named = true, @@ -1047,7 +1124,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_block] = { + [sym_braced_block] = { .visible = true, .named = true, }, @@ -1075,6 +1152,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_struct_destructure_assignment] = { + .visible = true, + .named = true, + }, [sym_typed_binding] = { .visible = true, .named = true, @@ -1091,6 +1172,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_return_expression_list] = { + .visible = true, + .named = true, + }, [sym_assign_statement] = { .visible = true, .named = true, @@ -1187,10 +1272,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_member_access] = { - .visible = true, - .named = true, - }, [sym_split_call] = { .visible = true, .named = true, @@ -1203,6 +1284,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_field_access] = { + .visible = true, + .named = true, + }, [sym_primary] = { .visible = true, .named = true, @@ -1215,6 +1300,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_cast_type_name] = { + .visible = true, + .named = true, + }, [sym_function_call] = { .visible = true, .named = true, @@ -1271,6 +1360,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_builtin_type] = { + .visible = true, + .named = true, + }, [sym_array_suffix] = { .visible = true, .named = true, @@ -1307,7 +1400,11 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [aux_sym_source_file_repeat1] = { + [aux_sym_contract_source_file_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_declaration_source_file_repeat1] = { .visible = false, .named = false, }, @@ -1323,7 +1420,11 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [aux_sym_function_definition_repeat2] = { + [aux_sym_attribute_path_repeat1] = { + .visible = false, + .named = false, + }, + [aux_sym_attribute_args_repeat1] = { .visible = false, .named = false, }, @@ -1335,6 +1436,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_braced_block_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_variable_definition_repeat1] = { .visible = false, .named = false, @@ -1347,6 +1452,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_return_expression_list_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_console_parameter_list_repeat1] = { .visible = false, .named = false, @@ -1395,7 +1504,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [aux_sym_expression_list_repeat1] = { + [aux_sym_cast_type_name_repeat1] = { .visible = false, .named = false, }, @@ -1403,10 +1512,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [aux_sym_type_name_repeat1] = { - .visible = false, - .named = false, - }, }; enum ts_field_identifiers { @@ -1428,12 +1533,12 @@ static const char * const ts_field_names[] = { static const TSMapSlice ts_field_map_slices[PRODUCTION_ID_COUNT] = { [1] = {.index = 0, .length = 1}, - [2] = {.index = 1, .length = 2}, - [3] = {.index = 3, .length = 1}, + [2] = {.index = 1, .length = 1}, + [3] = {.index = 2, .length = 2}, [4] = {.index = 4, .length = 2}, - [5] = {.index = 6, .length = 3}, - [6] = {.index = 9, .length = 1}, - [7] = {.index = 10, .length = 2}, + [5] = {.index = 6, .length = 2}, + [6] = {.index = 8, .length = 3}, + [7] = {.index = 11, .length = 1}, [8] = {.index = 12, .length = 1}, }; @@ -1441,22 +1546,22 @@ static const TSFieldMapEntry ts_field_map_entries[] = { [0] = {field_name, 1}, [1] = + {field_name, 2}, + [2] = {field_name, 1}, {field_value, 3}, - [3] = - {field_name, 2}, [4] = + {field_name, 0}, + {field_value, 2}, + [6] = {field_name, 2}, {field_value, 4}, - [6] = + [8] = {field_field, 2}, {field_index, 1}, {field_root, 0}, - [9] = + [11] = {field_name, 3}, - [10] = - {field_name, 0}, - {field_value, 2}, [12] = {field_name, 0}, }; @@ -1492,7 +1597,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [19] = 19, [20] = 20, [21] = 21, - [22] = 13, + [22] = 21, [23] = 23, [24] = 24, [25] = 25, @@ -1527,7 +1632,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [54] = 54, [55] = 55, [56] = 56, - [57] = 57, + [57] = 55, [58] = 58, [59] = 59, [60] = 60, @@ -1632,7 +1737,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [159] = 159, [160] = 160, [161] = 161, - [162] = 162, + [162] = 123, [163] = 163, [164] = 164, [165] = 165, @@ -1646,7 +1751,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [173] = 173, [174] = 174, [175] = 175, - [176] = 176, + [176] = 133, [177] = 177, [178] = 178, [179] = 179, @@ -1832,7 +1937,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [359] = 359, [360] = 360, [361] = 361, - [362] = 362, + [362] = 104, [363] = 363, [364] = 364, [365] = 365, @@ -1848,7 +1953,7 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [375] = 375, [376] = 376, [377] = 377, - [378] = 66, + [378] = 378, [379] = 379, [380] = 380, [381] = 381, @@ -1881,9 +1986,51 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [408] = 408, [409] = 409, [410] = 410, - [411] = 371, + [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] = 433, + [434] = 434, + [435] = 435, + [436] = 436, + [437] = 437, + [438] = 438, + [439] = 439, + [440] = 440, + [441] = 441, + [442] = 442, + [443] = 443, + [444] = 444, + [445] = 445, + [446] = 446, + [447] = 447, + [448] = 448, + [449] = 449, + [450] = 450, + [451] = 451, + [452] = 452, + [453] = 427, + [454] = 454, + [455] = 455, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { @@ -1891,868 +2038,866 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(138); + if (eof) ADVANCE(136); ADVANCE_MAP( - '!', 170, - '"', 5, - '#', 21, - '%', 168, - '&', 160, - '\'', 6, - '(', 151, - ')', 153, - '*', 166, - '+', 163, - ',', 152, - '-', 165, - '.', 174, - '/', 167, - '0', 184, - ':', 154, - ';', 139, - '<', 145, - '=', 147, - '>', 143, - '[', 171, - ']', 172, - '^', 140, - 'c', 211, - 't', 205, - '{', 149, - '|', 159, - '}', 150, - '~', 141, + '!', 172, + '"', 3, + '#', 20, + '%', 170, + '&', 162, + '\'', 4, + '(', 153, + ')', 155, + '*', 168, + '+', 165, + ',', 154, + '-', 167, + '.', 152, + '/', 169, + '0', 183, + ':', 156, + ';', 137, + '<', 143, + '=', 145, + '>', 141, + '[', 173, + ']', 150, + '^', 138, + '_', 180, + 'c', 210, + 't', 204, + '{', 147, + '|', 161, + '}', 148, + '~', 139, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(0); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(182); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(181); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 1: ADVANCE_MAP( - '!', 13, - '#', 21, - '%', 168, - '&', 160, - '(', 151, - ')', 153, - '*', 166, - '+', 163, - ',', 152, - '-', 164, - '.', 174, - '/', 167, - ';', 139, - '<', 145, - '=', 14, - '>', 143, - '[', 171, - ']', 172, - '^', 140, - '|', 159, - '}', 150, + '!', 171, + '"', 3, + '\'', 4, + '(', 153, + ')', 155, + '-', 167, + '/', 7, + '0', 183, + '[', 173, + ']', 150, + 't', 205, + '{', 147, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(1); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(183); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(184); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 2: ADVANCE_MAP( - '!', 169, - '"', 5, - '\'', 6, - '(', 151, - ')', 153, - '-', 165, - '/', 8, - '0', 184, - '[', 171, - ']', 172, - 't', 206, - '{', 149, + '!', 171, + '"', 3, + '\'', 4, + '(', 153, + ',', 154, + '-', 167, + '.', 151, + '/', 7, + '0', 183, + ';', 137, + '=', 144, + '[', 173, + ']', 150, + 't', 204, + '{', 147, ); if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') SKIP(2); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(185); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(184); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 3: - ADVANCE_MAP( - '!', 169, - '"', 5, - '\'', 6, - '(', 151, - ',', 152, - '-', 165, - '.', 173, - '/', 8, - '0', 184, - ';', 139, - '=', 146, - '[', 171, - 't', 205, - '{', 149, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(3); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(185); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + if (lookahead == '"') ADVANCE(186); + if (lookahead == '\\') ADVANCE(133); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(3); END_STATE(); case 4: - ADVANCE_MAP( - '"', 5, - '\'', 6, - '(', 151, - ')', 153, - '-', 131, - '.', 90, - '/', 8, - '0', 184, - ':', 154, - '=', 146, - '[', 171, - ); - if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(4); - if (('1' <= lookahead && lookahead <= '9')) ADVANCE(185); - if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + if (lookahead == '\'') ADVANCE(186); + if (lookahead == '\\') ADVANCE(134); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(4); END_STATE(); case 5: - if (lookahead == '"') ADVANCE(187); - if (lookahead == '\\') ADVANCE(136); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(5); + if (lookahead == '(') ADVANCE(153); + if (lookahead == '.') ADVANCE(88); + if (lookahead == '/') ADVANCE(7); + if (lookahead == ':') ADVANCE(156); + if (lookahead == '=') ADVANCE(144); + if (lookahead == '[') ADVANCE(173); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(5); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 6: - if (lookahead == '\'') ADVANCE(187); - if (lookahead == '\\') ADVANCE(137); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(6); - END_STATE(); - case 7: ADVANCE_MAP( - '(', 151, - '/', 8, - ';', 139, - '<', 145, - '=', 146, - '>', 143, - '^', 140, - 'c', 211, - '{', 149, - '}', 150, - '~', 141, + '(', 153, + '/', 7, + ';', 137, + '<', 143, + '=', 144, + '>', 141, + '^', 138, + 'c', 210, + '{', 147, + '}', 148, + '~', 139, ); if (('\t' <= lookahead && lookahead <= '\r') || - lookahead == ' ') SKIP(7); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(11); + lookahead == ' ') SKIP(6); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(10); if (('A' <= lookahead && lookahead <= 'Z') || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); + END_STATE(); + case 7: + if (lookahead == '*') ADVANCE(9); + if (lookahead == '/') ADVANCE(217); END_STATE(); case 8: - if (lookahead == '*') ADVANCE(10); - if (lookahead == '/') ADVANCE(218); + if (lookahead == '*') ADVANCE(8); + if (lookahead == '/') ADVANCE(216); + if (lookahead != 0) ADVANCE(9); END_STATE(); case 9: - if (lookahead == '*') ADVANCE(9); - if (lookahead == '/') ADVANCE(217); - if (lookahead != 0) ADVANCE(10); + if (lookahead == '*') ADVANCE(8); + if (lookahead != 0) ADVANCE(9); END_STATE(); case 10: - if (lookahead == '*') ADVANCE(9); - if (lookahead != 0) ADVANCE(10); + if (lookahead == '.') ADVANCE(132); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(10); END_STATE(); case 11: - if (lookahead == '.') ADVANCE(134); + if (lookahead == '.') ADVANCE(131); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(11); END_STATE(); case 12: - if (lookahead == '.') ADVANCE(133); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(12); + if (lookahead == '=') ADVANCE(164); END_STATE(); case 13: - if (lookahead == '=') ADVANCE(162); + if (lookahead == '=') ADVANCE(163); END_STATE(); case 14: - if (lookahead == '=') ADVANCE(161); + if (lookahead == 'I') ADVANCE(81); END_STATE(); case 15: - if (lookahead == 'I') ADVANCE(83); + if (lookahead == 'I') ADVANCE(84); + if (lookahead == 'S') ADVANCE(31); END_STATE(); case 16: - if (lookahead == 'I') ADVANCE(86); - if (lookahead == 'S') ADVANCE(33); + if (lookahead == 'K') ADVANCE(44); END_STATE(); case 17: - if (lookahead == 'K') ADVANCE(46); + if (lookahead == 'P') ADVANCE(117); END_STATE(); case 18: - if (lookahead == 'P') ADVANCE(119); + if (lookahead == 'P') ADVANCE(97); END_STATE(); case 19: - if (lookahead == 'P') ADVANCE(99); + if (lookahead == 'S') ADVANCE(60); END_STATE(); case 20: - if (lookahead == 'S') ADVANCE(62); + if (lookahead == '[') ADVANCE(149); END_STATE(); case 21: - if (lookahead == '[') ADVANCE(135); + if (lookahead == 'a') ADVANCE(30); + if (lookahead == 's') ADVANCE(27); END_STATE(); case 22: - if (lookahead == ']') ADVANCE(181); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(22); + if (lookahead == 'a') ADVANCE(18); END_STATE(); case 23: - if (lookahead == 'a') ADVANCE(32); - if (lookahead == 's') ADVANCE(29); + if (lookahead == 'a') ADVANCE(29); + if (lookahead == 's') ADVANCE(27); END_STATE(); case 24: - if (lookahead == 'a') ADVANCE(19); + if (lookahead == 'a') ADVANCE(110); END_STATE(); case 25: - if (lookahead == 'a') ADVANCE(31); - if (lookahead == 's') ADVANCE(29); + if (lookahead == 'b') ADVANCE(16); END_STATE(); case 26: - if (lookahead == 'a') ADVANCE(112); + if (lookahead == 'c') ADVANCE(70); END_STATE(); case 27: - if (lookahead == 'b') ADVANCE(17); + if (lookahead == 'c') ADVANCE(96); END_STATE(); case 28: - if (lookahead == 'c') ADVANCE(72); + if (lookahead == 'c') ADVANCE(36); END_STATE(); case 29: - if (lookahead == 'c') ADVANCE(98); + if (lookahead == 'c') ADVANCE(114); END_STATE(); case 30: - if (lookahead == 'c') ADVANCE(38); + if (lookahead == 'c') ADVANCE(114); + if (lookahead == 'g') ADVANCE(39); END_STATE(); case 31: - if (lookahead == 'c') ADVANCE(116); + if (lookahead == 'c') ADVANCE(98); END_STATE(); case 32: - if (lookahead == 'c') ADVANCE(116); - if (lookahead == 'g') ADVANCE(41); + if (lookahead == 'd') ADVANCE(43); END_STATE(); case 33: - if (lookahead == 'c') ADVANCE(100); + if (lookahead == 'e') ADVANCE(78); END_STATE(); case 34: - if (lookahead == 'd') ADVANCE(45); + if (lookahead == 'e') ADVANCE(123); END_STATE(); case 35: - if (lookahead == 'e') ADVANCE(80); + if (lookahead == 'e') ADVANCE(94); END_STATE(); case 36: - if (lookahead == 'e') ADVANCE(125); + if (lookahead == 'e') ADVANCE(176); END_STATE(); case 37: - if (lookahead == 'e') ADVANCE(96); + if (lookahead == 'e') ADVANCE(189); END_STATE(); case 38: if (lookahead == 'e') ADVANCE(177); END_STATE(); case 39: - if (lookahead == 'e') ADVANCE(190); + if (lookahead == 'e') ADVANCE(188); END_STATE(); case 40: - if (lookahead == 'e') ADVANCE(178); + if (lookahead == 'e') ADVANCE(15); END_STATE(); case 41: - if (lookahead == 'e') ADVANCE(189); + if (lookahead == 'e') ADVANCE(197); END_STATE(); case 42: - if (lookahead == 'e') ADVANCE(16); + if (lookahead == 'e') ADVANCE(193); END_STATE(); case 43: - if (lookahead == 'e') ADVANCE(198); + if (lookahead == 'e') ADVANCE(125); END_STATE(); case 44: - if (lookahead == 'e') ADVANCE(194); + if (lookahead == 'e') ADVANCE(127); END_STATE(); case 45: - if (lookahead == 'e') ADVANCE(127); + if (lookahead == 'e') ADVANCE(49); END_STATE(); case 46: - if (lookahead == 'e') ADVANCE(129); + if (lookahead == 'e') ADVANCE(95); END_STATE(); case 47: - if (lookahead == 'e') ADVANCE(51); + if (lookahead == 'e') ADVANCE(82); END_STATE(); case 48: - if (lookahead == 'e') ADVANCE(97); + if (lookahead == 'e') ADVANCE(83); END_STATE(); case 49: - if (lookahead == 'e') ADVANCE(84); + if (lookahead == 'f') ADVANCE(66); END_STATE(); case 50: - if (lookahead == 'e') ADVANCE(85); + if (lookahead == 'g') ADVANCE(104); END_STATE(); case 51: - if (lookahead == 'f') ADVANCE(68); + if (lookahead == 'g') ADVANCE(158); END_STATE(); case 52: - if (lookahead == 'g') ADVANCE(106); + if (lookahead == 'g') ADVANCE(109); END_STATE(); case 53: - if (lookahead == 'g') ADVANCE(156); + if (lookahead == 'g') ADVANCE(111); END_STATE(); case 54: - if (lookahead == 'g') ADVANCE(111); + if (lookahead == 'h') ADVANCE(174); END_STATE(); case 55: - if (lookahead == 'g') ADVANCE(113); + if (lookahead == 'h') ADVANCE(194); END_STATE(); case 56: - if (lookahead == 'h') ADVANCE(175); + if (lookahead == 'h') ADVANCE(195); END_STATE(); case 57: - if (lookahead == 'h') ADVANCE(195); + if (lookahead == 'h') ADVANCE(157); END_STATE(); case 58: - if (lookahead == 'h') ADVANCE(196); + if (lookahead == 'i') ADVANCE(28); END_STATE(); case 59: - if (lookahead == 'h') ADVANCE(155); + if (lookahead == 'i') ADVANCE(76); END_STATE(); case 60: - if (lookahead == 'i') ADVANCE(30); + if (lookahead == 'i') ADVANCE(128); END_STATE(); case 61: - if (lookahead == 'i') ADVANCE(78); + if (lookahead == 'i') ADVANCE(79); + if (lookahead == 'l') ADVANCE(86); + if (lookahead == 'o') ADVANCE(118); + if (lookahead == 't') ADVANCE(59); + if (lookahead == 'v') ADVANCE(46); END_STATE(); case 62: - if (lookahead == 'i') ADVANCE(130); + if (lookahead == 'i') ADVANCE(79); + if (lookahead == 'l') ADVANCE(86); + if (lookahead == 'o') ADVANCE(118); + if (lookahead == 'v') ADVANCE(46); END_STATE(); case 63: - if (lookahead == 'i') ADVANCE(81); - if (lookahead == 'l') ADVANCE(88); - if (lookahead == 'o') ADVANCE(120); - if (lookahead == 't') ADVANCE(61); - if (lookahead == 'v') ADVANCE(48); + if (lookahead == 'i') ADVANCE(87); END_STATE(); case 64: - if (lookahead == 'i') ADVANCE(81); - if (lookahead == 'l') ADVANCE(88); - if (lookahead == 'o') ADVANCE(120); - if (lookahead == 'v') ADVANCE(48); + if (lookahead == 'i') ADVANCE(105); END_STATE(); case 65: if (lookahead == 'i') ADVANCE(89); END_STATE(); case 66: - if (lookahead == 'i') ADVANCE(107); + if (lookahead == 'i') ADVANCE(126); END_STATE(); case 67: - if (lookahead == 'i') ADVANCE(91); + if (lookahead == 'i') ADVANCE(124); END_STATE(); case 68: - if (lookahead == 'i') ADVANCE(128); + if (lookahead == 'i') ADVANCE(77); END_STATE(); case 69: - if (lookahead == 'i') ADVANCE(126); + if (lookahead == 'i') ADVANCE(90); END_STATE(); case 70: - if (lookahead == 'i') ADVANCE(79); + if (lookahead == 'k') ADVANCE(115); END_STATE(); case 71: - if (lookahead == 'i') ADVANCE(92); + if (lookahead == 'l') ADVANCE(58); + if (lookahead == 'p') ADVANCE(72); END_STATE(); case 72: - if (lookahead == 'k') ADVANCE(117); + if (lookahead == 'l') ADVANCE(64); END_STATE(); case 73: - if (lookahead == 'l') ADVANCE(60); - if (lookahead == 'p') ADVANCE(74); + if (lookahead == 'l') ADVANCE(85); END_STATE(); case 74: - if (lookahead == 'l') ADVANCE(66); + if (lookahead == 'l') ADVANCE(47); END_STATE(); case 75: - if (lookahead == 'l') ADVANCE(87); + if (lookahead == 'l') ADVANCE(48); END_STATE(); case 76: - if (lookahead == 'l') ADVANCE(49); + if (lookahead == 'm') ADVANCE(37); END_STATE(); case 77: - if (lookahead == 'l') ADVANCE(50); + if (lookahead == 'm') ADVANCE(41); END_STATE(); case 78: - if (lookahead == 'm') ADVANCE(39); + if (lookahead == 'n') ADVANCE(50); END_STATE(); case 79: - if (lookahead == 'm') ADVANCE(43); + if (lookahead == 'n') ADVANCE(91); END_STATE(); case 80: - if (lookahead == 'n') ADVANCE(52); + if (lookahead == 'n') ADVANCE(196); END_STATE(); case 81: - if (lookahead == 'n') ADVANCE(93); + if (lookahead == 'n') ADVANCE(32); END_STATE(); case 82: - if (lookahead == 'n') ADVANCE(197); + if (lookahead == 'n') ADVANCE(52); END_STATE(); case 83: - if (lookahead == 'n') ADVANCE(34); + if (lookahead == 'n') ADVANCE(53); END_STATE(); case 84: - if (lookahead == 'n') ADVANCE(54); + if (lookahead == 'n') ADVANCE(93); END_STATE(); case 85: - if (lookahead == 'n') ADVANCE(55); + if (lookahead == 'o') ADVANCE(51); END_STATE(); case 86: - if (lookahead == 'n') ADVANCE(95); + if (lookahead == 'o') ADVANCE(26); END_STATE(); case 87: - if (lookahead == 'o') ADVANCE(53); + if (lookahead == 'o') ADVANCE(80); END_STATE(); case 88: - if (lookahead == 'o') ADVANCE(28); + if (lookahead == 'p') ADVANCE(120); END_STATE(); case 89: - if (lookahead == 'o') ADVANCE(82); + if (lookahead == 'p') ADVANCE(106); END_STATE(); case 90: - if (lookahead == 'p') ADVANCE(122); + if (lookahead == 'p') ADVANCE(108); END_STATE(); case 91: - if (lookahead == 'p') ADVANCE(108); + if (lookahead == 'p') ADVANCE(119); END_STATE(); case 92: - if (lookahead == 'p') ADVANCE(110); + if (lookahead == 'p') ADVANCE(121); END_STATE(); case 93: - if (lookahead == 'p') ADVANCE(121); + if (lookahead == 'p') ADVANCE(122); END_STATE(); case 94: - if (lookahead == 'p') ADVANCE(123); + if (lookahead == 'r') ADVANCE(103); END_STATE(); case 95: - if (lookahead == 'p') ADVANCE(124); + if (lookahead == 'r') ADVANCE(101); END_STATE(); case 96: - if (lookahead == 'r') ADVANCE(105); + if (lookahead == 'r') ADVANCE(65); END_STATE(); case 97: - if (lookahead == 'r') ADVANCE(103); + if (lookahead == 'r') ADVANCE(45); END_STATE(); case 98: - if (lookahead == 'r') ADVANCE(67); + if (lookahead == 'r') ADVANCE(69); END_STATE(); case 99: - if (lookahead == 'r') ADVANCE(47); + if (lookahead == 's') ADVANCE(179); END_STATE(); case 100: - if (lookahead == 'r') ADVANCE(71); + if (lookahead == 's') ADVANCE(178); END_STATE(); case 101: - if (lookahead == 's') ADVANCE(180); + if (lookahead == 's') ADVANCE(63); END_STATE(); case 102: - if (lookahead == 's') ADVANCE(179); + if (lookahead == 's') ADVANCE(57); END_STATE(); case 103: - if (lookahead == 's') ADVANCE(65); + if (lookahead == 's') ADVANCE(38); END_STATE(); case 104: - if (lookahead == 's') ADVANCE(59); + if (lookahead == 't') ADVANCE(54); END_STATE(); case 105: - if (lookahead == 's') ADVANCE(40); + if (lookahead == 't') ADVANCE(175); END_STATE(); case 106: - if (lookahead == 't') ADVANCE(56); + if (lookahead == 't') ADVANCE(19); END_STATE(); case 107: - if (lookahead == 't') ADVANCE(176); + if (lookahead == 't') ADVANCE(14); END_STATE(); case 108: - if (lookahead == 't') ADVANCE(20); + if (lookahead == 't') ADVANCE(17); END_STATE(); case 109: - if (lookahead == 't') ADVANCE(15); + if (lookahead == 't') ADVANCE(55); END_STATE(); case 110: - if (lookahead == 't') ADVANCE(18); + if (lookahead == 't') ADVANCE(22); END_STATE(); case 111: - if (lookahead == 't') ADVANCE(57); + if (lookahead == 't') ADVANCE(56); END_STATE(); case 112: - if (lookahead == 't') ADVANCE(24); + if (lookahead == 't') ADVANCE(99); END_STATE(); case 113: - if (lookahead == 't') ADVANCE(58); + if (lookahead == 't') ADVANCE(100); END_STATE(); case 114: - if (lookahead == 't') ADVANCE(101); + if (lookahead == 't') ADVANCE(67); END_STATE(); case 115: - if (lookahead == 't') ADVANCE(102); + if (lookahead == 't') ADVANCE(68); END_STATE(); case 116: - if (lookahead == 't') ADVANCE(69); + if (lookahead == 't') ADVANCE(92); END_STATE(); case 117: - if (lookahead == 't') ADVANCE(70); + if (lookahead == 'u') ADVANCE(25); END_STATE(); case 118: - if (lookahead == 't') ADVANCE(94); + if (lookahead == 'u') ADVANCE(116); END_STATE(); case 119: - if (lookahead == 'u') ADVANCE(27); + if (lookahead == 'u') ADVANCE(112); END_STATE(); case 120: - if (lookahead == 'u') ADVANCE(118); + if (lookahead == 'u') ADVANCE(102); END_STATE(); case 121: - if (lookahead == 'u') ADVANCE(114); + if (lookahead == 'u') ADVANCE(113); END_STATE(); case 122: - if (lookahead == 'u') ADVANCE(104); + if (lookahead == 'u') ADVANCE(107); END_STATE(); case 123: - if (lookahead == 'u') ADVANCE(115); + if (lookahead == 'v') ADVANCE(35); END_STATE(); case 124: - if (lookahead == 'u') ADVANCE(109); + if (lookahead == 'v') ADVANCE(40); END_STATE(); case 125: - if (lookahead == 'v') ADVANCE(37); + if (lookahead == 'x') ADVANCE(190); END_STATE(); case 126: - if (lookahead == 'v') ADVANCE(42); + if (lookahead == 'x') ADVANCE(192); END_STATE(); case 127: - if (lookahead == 'x') ADVANCE(191); + if (lookahead == 'y') ADVANCE(191); END_STATE(); case 128: - if (lookahead == 'x') ADVANCE(193); + if (lookahead == 'z') ADVANCE(42); END_STATE(); case 129: - if (lookahead == 'y') ADVANCE(192); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(184); END_STATE(); case 130: - if (lookahead == 'z') ADVANCE(44); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(185); END_STATE(); case 131: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(185); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(146); END_STATE(); case 132: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(186); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(11); END_STATE(); case 133: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(148); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(3); END_STATE(); case 134: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(12); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(4); END_STATE(); case 135: - if (lookahead != 0 && - lookahead != '\n' && - lookahead != ']') ADVANCE(22); + if (eof) ADVANCE(136); + ADVANCE_MAP( + '!', 12, + '#', 20, + '%', 170, + '&', 162, + '(', 153, + ')', 155, + '*', 168, + '+', 165, + ',', 154, + '-', 166, + '.', 152, + '/', 169, + ';', 137, + '<', 143, + '=', 13, + '>', 141, + '[', 173, + ']', 150, + '^', 138, + '_', 180, + '{', 147, + '|', 161, + '}', 148, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(135); + if (('1' <= lookahead && lookahead <= '9')) ADVANCE(182); + if (('A' <= lookahead && lookahead <= 'Z') || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 136: - if (lookahead != 0 && - lookahead != '\n') ADVANCE(5); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 137: - if (lookahead != 0 && - lookahead != '\n') ADVANCE(6); + ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); case 138: - ACCEPT_TOKEN(ts_builtin_sym_end); + ACCEPT_TOKEN(anon_sym_CARET); END_STATE(); case 139: - ACCEPT_TOKEN(anon_sym_SEMI); + ACCEPT_TOKEN(anon_sym_TILDE); END_STATE(); case 140: - ACCEPT_TOKEN(anon_sym_CARET); + ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 141: - ACCEPT_TOKEN(anon_sym_TILDE); + ACCEPT_TOKEN(anon_sym_GT); + if (lookahead == '=') ADVANCE(140); END_STATE(); case 142: - ACCEPT_TOKEN(anon_sym_GT_EQ); + ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 143: - ACCEPT_TOKEN(anon_sym_GT); + ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '=') ADVANCE(142); END_STATE(); case 144: - ACCEPT_TOKEN(anon_sym_LT_EQ); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 145: - ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '=') ADVANCE(144); + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '=') ADVANCE(163); END_STATE(); case 146: - ACCEPT_TOKEN(anon_sym_EQ); + ACCEPT_TOKEN(sym_version_literal); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(146); END_STATE(); case 147: - ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '=') ADVANCE(161); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 148: - ACCEPT_TOKEN(sym_version_literal); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(148); + ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 149: - ACCEPT_TOKEN(anon_sym_LBRACE); + ACCEPT_TOKEN(anon_sym_POUND_LBRACK); END_STATE(); case 150: - ACCEPT_TOKEN(anon_sym_RBRACE); + ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 151: - ACCEPT_TOKEN(anon_sym_LPAREN); + ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); case 152: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == 'l') ADVANCE(33); + if (lookahead == 'r') ADVANCE(34); + if (lookahead == 's') ADVANCE(71); END_STATE(); case 153: - ACCEPT_TOKEN(anon_sym_RPAREN); + ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 154: - ACCEPT_TOKEN(anon_sym_COLON); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 155: - ACCEPT_TOKEN(anon_sym_DOTpush); + ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 156: - ACCEPT_TOKEN(anon_sym_console_DOTlog); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 157: - ACCEPT_TOKEN(anon_sym_PIPE_PIPE); + ACCEPT_TOKEN(anon_sym_DOTpush); END_STATE(); case 158: - ACCEPT_TOKEN(anon_sym_AMP_AMP); + ACCEPT_TOKEN(anon_sym_console_DOTlog); END_STATE(); case 159: - ACCEPT_TOKEN(anon_sym_PIPE); - if (lookahead == '|') ADVANCE(157); + ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); case 160: - ACCEPT_TOKEN(anon_sym_AMP); - if (lookahead == '&') ADVANCE(158); + ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); case 161: - ACCEPT_TOKEN(anon_sym_EQ_EQ); + ACCEPT_TOKEN(anon_sym_PIPE); + if (lookahead == '|') ADVANCE(159); END_STATE(); case 162: - ACCEPT_TOKEN(anon_sym_BANG_EQ); + ACCEPT_TOKEN(anon_sym_AMP); + if (lookahead == '&') ADVANCE(160); END_STATE(); case 163: - ACCEPT_TOKEN(anon_sym_PLUS); + ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); case 164: - ACCEPT_TOKEN(anon_sym_DASH); + ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); case 165: - ACCEPT_TOKEN(anon_sym_DASH); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(185); + ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); case 166: - ACCEPT_TOKEN(anon_sym_STAR); + ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); case 167: - ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '*') ADVANCE(10); - if (lookahead == '/') ADVANCE(218); + ACCEPT_TOKEN(anon_sym_DASH); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(184); END_STATE(); case 168: - ACCEPT_TOKEN(anon_sym_PERCENT); + ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 169: - ACCEPT_TOKEN(anon_sym_BANG); + ACCEPT_TOKEN(anon_sym_SLASH); + if (lookahead == '*') ADVANCE(9); + if (lookahead == '/') ADVANCE(217); END_STATE(); case 170: - ACCEPT_TOKEN(anon_sym_BANG); - if (lookahead == '=') ADVANCE(162); + ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); case 171: - ACCEPT_TOKEN(anon_sym_LBRACK); + ACCEPT_TOKEN(anon_sym_BANG); END_STATE(); case 172: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(anon_sym_BANG); + if (lookahead == '=') ADVANCE(164); END_STATE(); case 173: - ACCEPT_TOKEN(anon_sym_DOT); + ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); case 174: - ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == 'l') ADVANCE(35); - if (lookahead == 'r') ADVANCE(36); - if (lookahead == 's') ADVANCE(73); + ACCEPT_TOKEN(sym_unary_suffix); END_STATE(); case 175: - ACCEPT_TOKEN(sym_unary_suffix); + ACCEPT_TOKEN(anon_sym_DOTsplit); END_STATE(); case 176: - ACCEPT_TOKEN(anon_sym_DOTsplit); + ACCEPT_TOKEN(anon_sym_DOTslice); END_STATE(); case 177: - ACCEPT_TOKEN(anon_sym_DOTslice); + ACCEPT_TOKEN(anon_sym_DOTreverse); END_STATE(); case 178: - ACCEPT_TOKEN(anon_sym_DOTreverse); + ACCEPT_TOKEN(sym_output_root); + if (lookahead == '.') ADVANCE(75); END_STATE(); case 179: - ACCEPT_TOKEN(sym_output_root); - if (lookahead == '.') ADVANCE(77); + ACCEPT_TOKEN(sym_input_root); + if (lookahead == '.') ADVANCE(74); END_STATE(); case 180: - ACCEPT_TOKEN(sym_input_root); - if (lookahead == '.') ADVANCE(76); + ACCEPT_TOKEN(anon_sym__); END_STATE(); case 181: - ACCEPT_TOKEN(sym_attribute); + ACCEPT_TOKEN(sym_array_bound); + if (lookahead == '_') ADVANCE(129); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(130); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(181); END_STATE(); case 182: ACCEPT_TOKEN(sym_array_bound); - if (lookahead == '_') ADVANCE(131); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(132); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(182); END_STATE(); case 183: - ACCEPT_TOKEN(sym_array_bound); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(183); + ACCEPT_TOKEN(sym_number); + if (lookahead == '_') ADVANCE(129); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(130); + if (lookahead == 'X' || + lookahead == 'x') ADVANCE(187); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(184); END_STATE(); case 184: ACCEPT_TOKEN(sym_number); - if (lookahead == '_') ADVANCE(131); + if (lookahead == '_') ADVANCE(129); if (lookahead == 'E' || - lookahead == 'e') ADVANCE(132); - if (lookahead == 'X' || - lookahead == 'x') ADVANCE(188); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(185); + lookahead == 'e') ADVANCE(130); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(184); END_STATE(); case 185: ACCEPT_TOKEN(sym_number); - if (lookahead == '_') ADVANCE(131); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(132); + if (lookahead == '_') ADVANCE(130); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(185); END_STATE(); case 186: - ACCEPT_TOKEN(sym_number); - if (lookahead == '_') ADVANCE(132); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(186); - END_STATE(); - case 187: ACCEPT_TOKEN(sym_string_literal); END_STATE(); - case 188: + case 187: ACCEPT_TOKEN(sym_hex_literal); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(188); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(187); END_STATE(); - case 189: + case 188: ACCEPT_TOKEN(anon_sym_this_DOTage); END_STATE(); - case 190: + case 189: ACCEPT_TOKEN(anon_sym_tx_DOTtime); END_STATE(); - case 191: + case 190: ACCEPT_TOKEN(anon_sym_this_DOTactiveInputIndex); END_STATE(); - case 192: + case 191: ACCEPT_TOKEN(anon_sym_this_DOTactiveScriptPubKey); END_STATE(); - case 193: + case 192: ACCEPT_TOKEN(anon_sym_this_DOTscriptSizeDataPrefix); END_STATE(); - case 194: + case 193: ACCEPT_TOKEN(anon_sym_this_DOTscriptSize); - if (lookahead == 'D') ADVANCE(26); + if (lookahead == 'D') ADVANCE(24); END_STATE(); - case 195: + case 194: ACCEPT_TOKEN(anon_sym_tx_DOTinputs_DOTlength); END_STATE(); - case 196: + case 195: ACCEPT_TOKEN(anon_sym_tx_DOToutputs_DOTlength); END_STATE(); - case 197: + case 196: ACCEPT_TOKEN(anon_sym_tx_DOTversion); END_STATE(); - case 198: + case 197: ACCEPT_TOKEN(anon_sym_tx_DOTlocktime); END_STATE(); + case 198: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == '.') ADVANCE(61); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'Z') || + lookahead == '_' || + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); + END_STATE(); case 199: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '.') ADVANCE(63); + if (lookahead == '.') ADVANCE(21); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 200: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '.') ADVANCE(23); + if (lookahead == '.') ADVANCE(62); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 201: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '.') ADVANCE(64); + if (lookahead == '.') ADVANCE(73); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 202: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '.') ADVANCE(75); + if (lookahead == '.') ADVANCE(23); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 203: ACCEPT_TOKEN(sym_identifier); - if (lookahead == '.') ADVANCE(25); + if (lookahead == 'e') ADVANCE(201); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 204: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(202); + if (lookahead == 'h') ADVANCE(206); + if (lookahead == 'x') ADVANCE(198); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 205: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'h') ADVANCE(207); - if (lookahead == 'x') ADVANCE(199); + if (lookahead == 'x') ADVANCE(200); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 206: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'h') ADVANCE(208); - if (lookahead == 'x') ADVANCE(201); + if (lookahead == 'i') ADVANCE(213); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 207: ACCEPT_TOKEN(sym_identifier); @@ -2760,86 +2905,78 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 208: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'i') ADVANCE(215); + if (lookahead == 'l') ADVANCE(203); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 209: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(204); + if (lookahead == 'n') ADVANCE(212); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 210: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'n') ADVANCE(213); + if (lookahead == 'o') ADVANCE(209); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 211: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(210); + if (lookahead == 'o') ADVANCE(208); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 212: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'o') ADVANCE(209); + if (lookahead == 's') ADVANCE(211); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 213: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(212); + if (lookahead == 's') ADVANCE(199); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 214: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(200); + if (lookahead == 's') ADVANCE(202); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 215: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(203); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(215); END_STATE(); case 216: - ACCEPT_TOKEN(sym_identifier); - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'Z') || - lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(216); - END_STATE(); - case 217: ACCEPT_TOKEN(sym_comment); END_STATE(); - case 218: + case 217: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(218); + lookahead != '\n') ADVANCE(217); END_STATE(); default: return false; @@ -3496,388 +3633,388 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 1}, - [2] = {.lex_state = 3}, - [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 = 2}, - [11] = {.lex_state = 2}, - [12] = {.lex_state = 2}, - [13] = {.lex_state = 2}, - [14] = {.lex_state = 2}, - [15] = {.lex_state = 2}, - [16] = {.lex_state = 2}, - [17] = {.lex_state = 2}, - [18] = {.lex_state = 2}, - [19] = {.lex_state = 2}, - [20] = {.lex_state = 2}, - [21] = {.lex_state = 2}, - [22] = {.lex_state = 2}, - [23] = {.lex_state = 2}, - [24] = {.lex_state = 2}, - [25] = {.lex_state = 2}, - [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}, + [1] = {.lex_state = 135}, + [2] = {.lex_state = 2}, + [3] = {.lex_state = 1}, + [4] = {.lex_state = 1}, + [5] = {.lex_state = 1}, + [6] = {.lex_state = 1}, + [7] = {.lex_state = 1}, + [8] = {.lex_state = 1}, + [9] = {.lex_state = 1}, + [10] = {.lex_state = 1}, + [11] = {.lex_state = 1}, + [12] = {.lex_state = 1}, + [13] = {.lex_state = 1}, + [14] = {.lex_state = 1}, + [15] = {.lex_state = 1}, + [16] = {.lex_state = 1}, + [17] = {.lex_state = 1}, + [18] = {.lex_state = 1}, + [19] = {.lex_state = 1}, + [20] = {.lex_state = 1}, + [21] = {.lex_state = 1}, + [22] = {.lex_state = 1}, + [23] = {.lex_state = 1}, + [24] = {.lex_state = 1}, + [25] = {.lex_state = 1}, + [26] = {.lex_state = 1}, + [27] = {.lex_state = 1}, + [28] = {.lex_state = 1}, + [29] = {.lex_state = 1}, + [30] = {.lex_state = 1}, + [31] = {.lex_state = 1}, + [32] = {.lex_state = 1}, + [33] = {.lex_state = 1}, + [34] = {.lex_state = 1}, + [35] = {.lex_state = 1}, + [36] = {.lex_state = 1}, + [37] = {.lex_state = 1}, + [38] = {.lex_state = 1}, + [39] = {.lex_state = 1}, + [40] = {.lex_state = 1}, [41] = {.lex_state = 1}, - [42] = {.lex_state = 7}, - [43] = {.lex_state = 7}, - [44] = {.lex_state = 7}, - [45] = {.lex_state = 7}, - [46] = {.lex_state = 7}, - [47] = {.lex_state = 7}, - [48] = {.lex_state = 7}, - [49] = {.lex_state = 7}, - [50] = {.lex_state = 7}, + [42] = {.lex_state = 1}, + [43] = {.lex_state = 1}, + [44] = {.lex_state = 1}, + [45] = {.lex_state = 1}, + [46] = {.lex_state = 1}, + [47] = {.lex_state = 1}, + [48] = {.lex_state = 1}, + [49] = {.lex_state = 1}, + [50] = {.lex_state = 1}, [51] = {.lex_state = 1}, - [52] = {.lex_state = 7}, - [53] = {.lex_state = 7}, - [54] = {.lex_state = 7}, - [55] = {.lex_state = 7}, - [56] = {.lex_state = 7}, - [57] = {.lex_state = 7}, - [58] = {.lex_state = 1}, - [59] = {.lex_state = 1}, - [60] = {.lex_state = 7}, - [61] = {.lex_state = 7}, - [62] = {.lex_state = 7}, - [63] = {.lex_state = 2}, - [64] = {.lex_state = 2}, - [65] = {.lex_state = 1}, + [52] = {.lex_state = 1}, + [53] = {.lex_state = 1}, + [54] = {.lex_state = 6}, + [55] = {.lex_state = 6}, + [56] = {.lex_state = 6}, + [57] = {.lex_state = 6}, + [58] = {.lex_state = 6}, + [59] = {.lex_state = 135}, + [60] = {.lex_state = 6}, + [61] = {.lex_state = 6}, + [62] = {.lex_state = 6}, + [63] = {.lex_state = 135}, + [64] = {.lex_state = 135}, + [65] = {.lex_state = 135}, [66] = {.lex_state = 1}, [67] = {.lex_state = 1}, - [68] = {.lex_state = 1}, - [69] = {.lex_state = 1}, - [70] = {.lex_state = 1}, - [71] = {.lex_state = 1}, - [72] = {.lex_state = 1}, - [73] = {.lex_state = 1}, - [74] = {.lex_state = 1}, - [75] = {.lex_state = 1}, - [76] = {.lex_state = 1}, - [77] = {.lex_state = 1}, - [78] = {.lex_state = 1}, - [79] = {.lex_state = 1}, - [80] = {.lex_state = 1}, - [81] = {.lex_state = 1}, - [82] = {.lex_state = 1}, - [83] = {.lex_state = 1}, - [84] = {.lex_state = 1}, - [85] = {.lex_state = 1}, - [86] = {.lex_state = 1}, - [87] = {.lex_state = 1}, - [88] = {.lex_state = 1}, - [89] = {.lex_state = 1}, - [90] = {.lex_state = 1}, - [91] = {.lex_state = 1}, - [92] = {.lex_state = 1}, - [93] = {.lex_state = 1}, - [94] = {.lex_state = 1}, - [95] = {.lex_state = 1}, - [96] = {.lex_state = 1}, - [97] = {.lex_state = 1}, - [98] = {.lex_state = 1}, - [99] = {.lex_state = 1}, - [100] = {.lex_state = 1}, - [101] = {.lex_state = 1}, - [102] = {.lex_state = 1}, - [103] = {.lex_state = 1}, - [104] = {.lex_state = 1}, - [105] = {.lex_state = 1}, - [106] = {.lex_state = 1}, - [107] = {.lex_state = 1}, - [108] = {.lex_state = 1}, - [109] = {.lex_state = 1}, - [110] = {.lex_state = 1}, - [111] = {.lex_state = 1}, - [112] = {.lex_state = 1}, - [113] = {.lex_state = 1}, - [114] = {.lex_state = 1}, - [115] = {.lex_state = 1}, - [116] = {.lex_state = 7}, - [117] = {.lex_state = 7}, - [118] = {.lex_state = 7}, - [119] = {.lex_state = 1}, - [120] = {.lex_state = 7}, - [121] = {.lex_state = 1}, - [122] = {.lex_state = 1}, - [123] = {.lex_state = 7}, - [124] = {.lex_state = 7}, - [125] = {.lex_state = 7}, - [126] = {.lex_state = 7}, - [127] = {.lex_state = 7}, - [128] = {.lex_state = 7}, - [129] = {.lex_state = 7}, - [130] = {.lex_state = 7}, - [131] = {.lex_state = 7}, - [132] = {.lex_state = 7}, - [133] = {.lex_state = 7}, - [134] = {.lex_state = 7}, - [135] = {.lex_state = 7}, - [136] = {.lex_state = 7}, - [137] = {.lex_state = 7}, - [138] = {.lex_state = 7}, - [139] = {.lex_state = 7}, - [140] = {.lex_state = 7}, - [141] = {.lex_state = 7}, - [142] = {.lex_state = 7}, - [143] = {.lex_state = 7}, - [144] = {.lex_state = 7}, - [145] = {.lex_state = 7}, - [146] = {.lex_state = 1}, - [147] = {.lex_state = 1}, - [148] = {.lex_state = 1}, - [149] = {.lex_state = 1}, - [150] = {.lex_state = 1}, - [151] = {.lex_state = 1}, - [152] = {.lex_state = 1}, - [153] = {.lex_state = 1}, - [154] = {.lex_state = 1}, - [155] = {.lex_state = 4}, - [156] = {.lex_state = 1}, - [157] = {.lex_state = 4}, - [158] = {.lex_state = 1}, - [159] = {.lex_state = 4}, - [160] = {.lex_state = 1}, - [161] = {.lex_state = 1}, - [162] = {.lex_state = 1}, - [163] = {.lex_state = 1}, - [164] = {.lex_state = 1}, - [165] = {.lex_state = 1}, - [166] = {.lex_state = 1}, - [167] = {.lex_state = 1}, - [168] = {.lex_state = 1}, - [169] = {.lex_state = 1}, - [170] = {.lex_state = 1}, - [171] = {.lex_state = 1}, - [172] = {.lex_state = 1}, - [173] = {.lex_state = 1}, - [174] = {.lex_state = 1}, - [175] = {.lex_state = 4}, - [176] = {.lex_state = 1}, - [177] = {.lex_state = 1}, - [178] = {.lex_state = 1}, - [179] = {.lex_state = 1}, - [180] = {.lex_state = 0}, - [181] = {.lex_state = 1}, - [182] = {.lex_state = 7}, - [183] = {.lex_state = 0}, - [184] = {.lex_state = 0}, - [185] = {.lex_state = 1}, - [186] = {.lex_state = 1}, - [187] = {.lex_state = 7}, - [188] = {.lex_state = 0}, - [189] = {.lex_state = 1}, - [190] = {.lex_state = 1}, + [68] = {.lex_state = 135}, + [69] = {.lex_state = 135}, + [70] = {.lex_state = 135}, + [71] = {.lex_state = 135}, + [72] = {.lex_state = 135}, + [73] = {.lex_state = 135}, + [74] = {.lex_state = 135}, + [75] = {.lex_state = 135}, + [76] = {.lex_state = 135}, + [77] = {.lex_state = 135}, + [78] = {.lex_state = 135}, + [79] = {.lex_state = 135}, + [80] = {.lex_state = 135}, + [81] = {.lex_state = 135}, + [82] = {.lex_state = 135}, + [83] = {.lex_state = 135}, + [84] = {.lex_state = 135}, + [85] = {.lex_state = 135}, + [86] = {.lex_state = 135}, + [87] = {.lex_state = 135}, + [88] = {.lex_state = 135}, + [89] = {.lex_state = 135}, + [90] = {.lex_state = 135}, + [91] = {.lex_state = 135}, + [92] = {.lex_state = 135}, + [93] = {.lex_state = 135}, + [94] = {.lex_state = 135}, + [95] = {.lex_state = 135}, + [96] = {.lex_state = 135}, + [97] = {.lex_state = 135}, + [98] = {.lex_state = 135}, + [99] = {.lex_state = 135}, + [100] = {.lex_state = 135}, + [101] = {.lex_state = 135}, + [102] = {.lex_state = 135}, + [103] = {.lex_state = 135}, + [104] = {.lex_state = 135}, + [105] = {.lex_state = 135}, + [106] = {.lex_state = 135}, + [107] = {.lex_state = 135}, + [108] = {.lex_state = 135}, + [109] = {.lex_state = 135}, + [110] = {.lex_state = 135}, + [111] = {.lex_state = 135}, + [112] = {.lex_state = 135}, + [113] = {.lex_state = 135}, + [114] = {.lex_state = 135}, + [115] = {.lex_state = 135}, + [116] = {.lex_state = 135}, + [117] = {.lex_state = 135}, + [118] = {.lex_state = 135}, + [119] = {.lex_state = 135}, + [120] = {.lex_state = 135}, + [121] = {.lex_state = 135}, + [122] = {.lex_state = 135}, + [123] = {.lex_state = 6}, + [124] = {.lex_state = 6}, + [125] = {.lex_state = 6}, + [126] = {.lex_state = 6}, + [127] = {.lex_state = 135}, + [128] = {.lex_state = 135}, + [129] = {.lex_state = 6}, + [130] = {.lex_state = 6}, + [131] = {.lex_state = 6}, + [132] = {.lex_state = 6}, + [133] = {.lex_state = 6}, + [134] = {.lex_state = 6}, + [135] = {.lex_state = 6}, + [136] = {.lex_state = 6}, + [137] = {.lex_state = 6}, + [138] = {.lex_state = 6}, + [139] = {.lex_state = 6}, + [140] = {.lex_state = 6}, + [141] = {.lex_state = 6}, + [142] = {.lex_state = 6}, + [143] = {.lex_state = 6}, + [144] = {.lex_state = 6}, + [145] = {.lex_state = 6}, + [146] = {.lex_state = 6}, + [147] = {.lex_state = 6}, + [148] = {.lex_state = 6}, + [149] = {.lex_state = 6}, + [150] = {.lex_state = 6}, + [151] = {.lex_state = 6}, + [152] = {.lex_state = 6}, + [153] = {.lex_state = 6}, + [154] = {.lex_state = 135}, + [155] = {.lex_state = 135}, + [156] = {.lex_state = 135}, + [157] = {.lex_state = 135}, + [158] = {.lex_state = 135}, + [159] = {.lex_state = 135}, + [160] = {.lex_state = 135}, + [161] = {.lex_state = 135}, + [162] = {.lex_state = 135}, + [163] = {.lex_state = 135}, + [164] = {.lex_state = 135}, + [165] = {.lex_state = 135}, + [166] = {.lex_state = 135}, + [167] = {.lex_state = 135}, + [168] = {.lex_state = 135}, + [169] = {.lex_state = 135}, + [170] = {.lex_state = 135}, + [171] = {.lex_state = 135}, + [172] = {.lex_state = 135}, + [173] = {.lex_state = 135}, + [174] = {.lex_state = 135}, + [175] = {.lex_state = 135}, + [176] = {.lex_state = 135}, + [177] = {.lex_state = 135}, + [178] = {.lex_state = 135}, + [179] = {.lex_state = 135}, + [180] = {.lex_state = 135}, + [181] = {.lex_state = 135}, + [182] = {.lex_state = 135}, + [183] = {.lex_state = 135}, + [184] = {.lex_state = 135}, + [185] = {.lex_state = 135}, + [186] = {.lex_state = 135}, + [187] = {.lex_state = 0}, + [188] = {.lex_state = 135}, + [189] = {.lex_state = 135}, + [190] = {.lex_state = 135}, [191] = {.lex_state = 0}, - [192] = {.lex_state = 0}, + [192] = {.lex_state = 6}, [193] = {.lex_state = 0}, - [194] = {.lex_state = 1}, + [194] = {.lex_state = 6}, [195] = {.lex_state = 0}, - [196] = {.lex_state = 1}, - [197] = {.lex_state = 0}, + [196] = {.lex_state = 0}, + [197] = {.lex_state = 135}, [198] = {.lex_state = 0}, - [199] = {.lex_state = 7}, - [200] = {.lex_state = 7}, - [201] = {.lex_state = 0}, - [202] = {.lex_state = 0}, + [199] = {.lex_state = 0}, + [200] = {.lex_state = 6}, + [201] = {.lex_state = 135}, + [202] = {.lex_state = 135}, [203] = {.lex_state = 0}, - [204] = {.lex_state = 0}, - [205] = {.lex_state = 0}, - [206] = {.lex_state = 1}, - [207] = {.lex_state = 1}, - [208] = {.lex_state = 4}, - [209] = {.lex_state = 1}, + [204] = {.lex_state = 135}, + [205] = {.lex_state = 6}, + [206] = {.lex_state = 0}, + [207] = {.lex_state = 0}, + [208] = {.lex_state = 0}, + [209] = {.lex_state = 135}, [210] = {.lex_state = 0}, [211] = {.lex_state = 0}, [212] = {.lex_state = 0}, - [213] = {.lex_state = 4}, - [214] = {.lex_state = 0}, - [215] = {.lex_state = 0}, - [216] = {.lex_state = 1}, - [217] = {.lex_state = 1}, - [218] = {.lex_state = 1}, - [219] = {.lex_state = 1}, + [213] = {.lex_state = 135}, + [214] = {.lex_state = 5}, + [215] = {.lex_state = 135}, + [216] = {.lex_state = 0}, + [217] = {.lex_state = 0}, + [218] = {.lex_state = 135}, + [219] = {.lex_state = 0}, [220] = {.lex_state = 0}, - [221] = {.lex_state = 1}, - [222] = {.lex_state = 1}, + [221] = {.lex_state = 0}, + [222] = {.lex_state = 5}, [223] = {.lex_state = 0}, - [224] = {.lex_state = 1}, - [225] = {.lex_state = 1}, - [226] = {.lex_state = 1}, - [227] = {.lex_state = 1}, - [228] = {.lex_state = 1}, - [229] = {.lex_state = 1}, - [230] = {.lex_state = 0}, + [224] = {.lex_state = 135}, + [225] = {.lex_state = 135}, + [226] = {.lex_state = 0}, + [227] = {.lex_state = 135}, + [228] = {.lex_state = 135}, + [229] = {.lex_state = 135}, + [230] = {.lex_state = 2}, [231] = {.lex_state = 0}, - [232] = {.lex_state = 0}, - [233] = {.lex_state = 0}, - [234] = {.lex_state = 1}, - [235] = {.lex_state = 1}, + [232] = {.lex_state = 135}, + [233] = {.lex_state = 135}, + [234] = {.lex_state = 135}, + [235] = {.lex_state = 135}, [236] = {.lex_state = 0}, - [237] = {.lex_state = 0}, + [237] = {.lex_state = 135}, [238] = {.lex_state = 0}, - [239] = {.lex_state = 0}, - [240] = {.lex_state = 0}, + [239] = {.lex_state = 135}, + [240] = {.lex_state = 2}, [241] = {.lex_state = 0}, - [242] = {.lex_state = 0}, + [242] = {.lex_state = 2}, [243] = {.lex_state = 0}, [244] = {.lex_state = 0}, - [245] = {.lex_state = 1}, + [245] = {.lex_state = 135}, [246] = {.lex_state = 0}, - [247] = {.lex_state = 0}, - [248] = {.lex_state = 3}, + [247] = {.lex_state = 135}, + [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 = 1}, + [253] = {.lex_state = 135}, + [254] = {.lex_state = 135}, + [255] = {.lex_state = 0}, [256] = {.lex_state = 0}, [257] = {.lex_state = 0}, [258] = {.lex_state = 0}, [259] = {.lex_state = 0}, - [260] = {.lex_state = 1}, - [261] = {.lex_state = 1}, - [262] = {.lex_state = 0}, + [260] = {.lex_state = 0}, + [261] = {.lex_state = 135}, + [262] = {.lex_state = 135}, [263] = {.lex_state = 0}, [264] = {.lex_state = 0}, [265] = {.lex_state = 0}, [266] = {.lex_state = 0}, [267] = {.lex_state = 0}, - [268] = {.lex_state = 0}, + [268] = {.lex_state = 2}, [269] = {.lex_state = 0}, [270] = {.lex_state = 0}, - [271] = {.lex_state = 0}, + [271] = {.lex_state = 135}, [272] = {.lex_state = 0}, [273] = {.lex_state = 0}, - [274] = {.lex_state = 1}, + [274] = {.lex_state = 0}, [275] = {.lex_state = 0}, [276] = {.lex_state = 0}, - [277] = {.lex_state = 1}, - [278] = {.lex_state = 0}, + [277] = {.lex_state = 0}, + [278] = {.lex_state = 135}, [279] = {.lex_state = 0}, - [280] = {.lex_state = 0}, + [280] = {.lex_state = 135}, [281] = {.lex_state = 0}, - [282] = {.lex_state = 1}, - [283] = {.lex_state = 3}, + [282] = {.lex_state = 0}, + [283] = {.lex_state = 0}, [284] = {.lex_state = 0}, - [285] = {.lex_state = 3}, - [286] = {.lex_state = 0}, - [287] = {.lex_state = 0}, - [288] = {.lex_state = 1}, - [289] = {.lex_state = 1}, - [290] = {.lex_state = 1}, + [285] = {.lex_state = 0}, + [286] = {.lex_state = 135}, + [287] = {.lex_state = 135}, + [288] = {.lex_state = 0}, + [289] = {.lex_state = 0}, + [290] = {.lex_state = 2}, [291] = {.lex_state = 0}, [292] = {.lex_state = 0}, [293] = {.lex_state = 0}, [294] = {.lex_state = 0}, - [295] = {.lex_state = 0}, - [296] = {.lex_state = 1}, - [297] = {.lex_state = 1}, - [298] = {.lex_state = 3}, - [299] = {.lex_state = 1}, - [300] = {.lex_state = 0}, + [295] = {.lex_state = 135}, + [296] = {.lex_state = 0}, + [297] = {.lex_state = 0}, + [298] = {.lex_state = 2}, + [299] = {.lex_state = 0}, + [300] = {.lex_state = 135}, [301] = {.lex_state = 0}, [302] = {.lex_state = 0}, [303] = {.lex_state = 0}, - [304] = {.lex_state = 1}, + [304] = {.lex_state = 0}, [305] = {.lex_state = 0}, - [306] = {.lex_state = 1}, + [306] = {.lex_state = 0}, [307] = {.lex_state = 0}, - [308] = {.lex_state = 1}, - [309] = {.lex_state = 0}, + [308] = {.lex_state = 0}, + [309] = {.lex_state = 135}, [310] = {.lex_state = 0}, [311] = {.lex_state = 0}, - [312] = {.lex_state = 0}, + [312] = {.lex_state = 135}, [313] = {.lex_state = 0}, - [314] = {.lex_state = 1}, + [314] = {.lex_state = 135}, [315] = {.lex_state = 0}, [316] = {.lex_state = 0}, - [317] = {.lex_state = 1}, - [318] = {.lex_state = 1}, - [319] = {.lex_state = 0}, + [317] = {.lex_state = 0}, + [318] = {.lex_state = 2}, + [319] = {.lex_state = 2}, [320] = {.lex_state = 0}, [321] = {.lex_state = 0}, - [322] = {.lex_state = 1}, - [323] = {.lex_state = 7}, - [324] = {.lex_state = 3}, + [322] = {.lex_state = 135}, + [323] = {.lex_state = 135}, + [324] = {.lex_state = 0}, [325] = {.lex_state = 0}, [326] = {.lex_state = 0}, - [327] = {.lex_state = 1}, - [328] = {.lex_state = 1}, + [327] = {.lex_state = 135}, + [328] = {.lex_state = 0}, [329] = {.lex_state = 0}, [330] = {.lex_state = 0}, [331] = {.lex_state = 0}, - [332] = {.lex_state = 1}, + [332] = {.lex_state = 0}, [333] = {.lex_state = 0}, [334] = {.lex_state = 0}, - [335] = {.lex_state = 0}, + [335] = {.lex_state = 135}, [336] = {.lex_state = 0}, - [337] = {.lex_state = 0}, + [337] = {.lex_state = 135}, [338] = {.lex_state = 0}, - [339] = {.lex_state = 0}, - [340] = {.lex_state = 3}, - [341] = {.lex_state = 7}, - [342] = {.lex_state = 1}, - [343] = {.lex_state = 1}, - [344] = {.lex_state = 3}, + [339] = {.lex_state = 135}, + [340] = {.lex_state = 0}, + [341] = {.lex_state = 0}, + [342] = {.lex_state = 0}, + [343] = {.lex_state = 0}, + [344] = {.lex_state = 135}, [345] = {.lex_state = 0}, [346] = {.lex_state = 0}, [347] = {.lex_state = 0}, [348] = {.lex_state = 0}, [349] = {.lex_state = 0}, [350] = {.lex_state = 0}, - [351] = {.lex_state = 1}, - [352] = {.lex_state = 1}, + [351] = {.lex_state = 135}, + [352] = {.lex_state = 0}, [353] = {.lex_state = 0}, [354] = {.lex_state = 0}, - [355] = {.lex_state = 1}, + [355] = {.lex_state = 0}, [356] = {.lex_state = 0}, - [357] = {.lex_state = 0}, - [358] = {.lex_state = 0}, + [357] = {.lex_state = 135}, + [358] = {.lex_state = 135}, [359] = {.lex_state = 0}, - [360] = {.lex_state = 3}, + [360] = {.lex_state = 0}, [361] = {.lex_state = 0}, - [362] = {.lex_state = 0}, - [363] = {.lex_state = 1}, + [362] = {.lex_state = 2}, + [363] = {.lex_state = 0}, [364] = {.lex_state = 0}, - [365] = {.lex_state = 1}, - [366] = {.lex_state = 0}, + [365] = {.lex_state = 135}, + [366] = {.lex_state = 2}, [367] = {.lex_state = 0}, - [368] = {.lex_state = 3}, - [369] = {.lex_state = 3}, + [368] = {.lex_state = 0}, + [369] = {.lex_state = 0}, [370] = {.lex_state = 0}, [371] = {.lex_state = 0}, - [372] = {.lex_state = 0}, - [373] = {.lex_state = 0}, - [374] = {.lex_state = 0}, + [372] = {.lex_state = 6}, + [373] = {.lex_state = 135}, + [374] = {.lex_state = 2}, [375] = {.lex_state = 0}, - [376] = {.lex_state = 3}, + [376] = {.lex_state = 0}, [377] = {.lex_state = 0}, - [378] = {.lex_state = 3}, - [379] = {.lex_state = 3}, + [378] = {.lex_state = 0}, + [379] = {.lex_state = 2}, [380] = {.lex_state = 0}, [381] = {.lex_state = 0}, - [382] = {.lex_state = 3}, + [382] = {.lex_state = 0}, [383] = {.lex_state = 0}, [384] = {.lex_state = 0}, [385] = {.lex_state = 0}, @@ -3886,29 +4023,71 @@ static const TSLexerMode ts_lex_modes[STATE_COUNT] = { [388] = {.lex_state = 0}, [389] = {.lex_state = 0}, [390] = {.lex_state = 0}, - [391] = {.lex_state = 0}, + [391] = {.lex_state = 135}, [392] = {.lex_state = 0}, [393] = {.lex_state = 0}, - [394] = {.lex_state = 1}, - [395] = {.lex_state = 0}, + [394] = {.lex_state = 0}, + [395] = {.lex_state = 2}, [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}, + [402] = {.lex_state = 135}, [403] = {.lex_state = 0}, - [404] = {.lex_state = 1}, - [405] = {.lex_state = 0}, + [404] = {.lex_state = 135}, + [405] = {.lex_state = 135}, [406] = {.lex_state = 0}, - [407] = {.lex_state = 0}, + [407] = {.lex_state = 2}, [408] = {.lex_state = 0}, - [409] = {.lex_state = 1}, + [409] = {.lex_state = 6}, [410] = {.lex_state = 0}, - [411] = {.lex_state = 0}, + [411] = {.lex_state = 2}, [412] = {.lex_state = 0}, [413] = {.lex_state = 0}, + [414] = {.lex_state = 0}, + [415] = {.lex_state = 0}, + [416] = {.lex_state = 2}, + [417] = {.lex_state = 0}, + [418] = {.lex_state = 0}, + [419] = {.lex_state = 135}, + [420] = {.lex_state = 0}, + [421] = {.lex_state = 135}, + [422] = {.lex_state = 0}, + [423] = {.lex_state = 0}, + [424] = {.lex_state = 0}, + [425] = {.lex_state = 0}, + [426] = {.lex_state = 0}, + [427] = {.lex_state = 0}, + [428] = {.lex_state = 0}, + [429] = {.lex_state = 0}, + [430] = {.lex_state = 0}, + [431] = {.lex_state = 2}, + [432] = {.lex_state = 135}, + [433] = {.lex_state = 0}, + [434] = {.lex_state = 0}, + [435] = {.lex_state = 2}, + [436] = {.lex_state = 0}, + [437] = {.lex_state = 0}, + [438] = {.lex_state = 2}, + [439] = {.lex_state = 135}, + [440] = {.lex_state = 0}, + [441] = {.lex_state = 0}, + [442] = {.lex_state = 0}, + [443] = {.lex_state = 135}, + [444] = {.lex_state = 0}, + [445] = {.lex_state = 135}, + [446] = {.lex_state = 0}, + [447] = {.lex_state = 0}, + [448] = {.lex_state = 135}, + [449] = {.lex_state = 0}, + [450] = {.lex_state = 0}, + [451] = {.lex_state = 135}, + [452] = {.lex_state = 0}, + [453] = {.lex_state = 0}, + [454] = {.lex_state = 135}, + [455] = {.lex_state = 135}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -3931,10 +4110,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_struct] = ACTIONS(1), [anon_sym_entrypoint] = ACTIONS(1), [anon_sym_function] = ACTIONS(1), - [anon_sym_constant] = ACTIONS(1), + [anon_sym_POUND_LBRACK] = ACTIONS(1), + [anon_sym_RBRACK] = ACTIONS(1), + [anon_sym_DOT] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), + [anon_sym_constant] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), [anon_sym_return] = ACTIONS(1), [anon_sym_require] = ACTIONS(1), @@ -3955,8 +4137,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_PERCENT] = ACTIONS(1), [anon_sym_BANG] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), - [anon_sym_RBRACK] = ACTIONS(1), - [anon_sym_DOT] = ACTIONS(1), [sym_unary_suffix] = ACTIONS(1), [anon_sym_DOTsplit] = ACTIONS(1), [anon_sym_DOTslice] = ACTIONS(1), @@ -3976,7 +4156,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_sig] = ACTIONS(1), [anon_sym_datasig] = ACTIONS(1), [anon_sym_byte] = ACTIONS(1), - [sym_attribute] = ACTIONS(1), + [anon_sym__] = ACTIONS(1), [sym_array_bound] = ACTIONS(1), [anon_sym_true] = ACTIONS(1), [anon_sym_false] = ACTIONS(1), @@ -4005,12 +4185,17 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), }, [STATE(1)] = { - [sym_source_file] = STATE(406), - [sym_pragma_directive] = STATE(221), - [sym_contract_definition] = STATE(326), - [aux_sym_source_file_repeat1] = STATE(221), + [sym_source_file] = STATE(394), + [sym_contract_source_file] = STATE(428), + [sym_declaration_source_file] = STATE(428), + [sym_pragma_directive] = STATE(225), + [sym_contract_definition] = STATE(440), + [sym_builtin_function_declaration] = STATE(232), + [aux_sym_contract_source_file_repeat1] = STATE(225), + [aux_sym_declaration_source_file_repeat1] = STATE(232), [anon_sym_pragma] = ACTIONS(5), [anon_sym_contract] = ACTIONS(7), + [anon_sym_function] = ACTIONS(9), [sym_comment] = ACTIONS(3), }, }; @@ -4019,79 +4204,79 @@ static const uint16_t ts_small_parse_table[] = { [0] = 37, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(303), 1, + STATE(236), 1, + sym_builtin_type, + STATE(316), 1, sym_expression, - STATE(335), 1, - sym_type_name, - STATE(387), 1, + STATE(345), 1, + sym_cast_type_name, + STATE(401), 1, sym_tx_var, - ACTIONS(29), 2, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - ACTIONS(37), 2, + ACTIONS(39), 2, anon_sym_this_DOTage, anon_sym_tx_DOTtime, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -4099,7 +4284,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -4107,7 +4292,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4117,79 +4302,81 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [138] = 36, + [138] = 37, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, - anon_sym_this_DOTscriptSize, ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + ACTIONS(45), 1, anon_sym_RPAREN, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(231), 1, + STATE(236), 1, + sym_builtin_type, + STATE(251), 1, + sym_console_parameter, + STATE(293), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -4197,7 +4384,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -4205,7 +4392,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4215,79 +4402,81 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [272] = 36, + [275] = 37, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - ACTIONS(45), 1, - anon_sym_RBRACK, - STATE(58), 1, + ACTIONS(47), 1, + anon_sym_RPAREN, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(254), 1, + STATE(236), 1, + sym_builtin_type, + STATE(293), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(328), 1, + sym_console_parameter, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -4295,7 +4484,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -4303,7 +4492,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4313,79 +4502,81 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [406] = 36, + [412] = 37, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - ACTIONS(47), 1, - anon_sym_RBRACK, - STATE(58), 1, + ACTIONS(49), 1, + anon_sym_RPAREN, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(252), 1, + STATE(236), 1, + sym_builtin_type, + STATE(293), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(328), 1, + sym_console_parameter, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -4393,7 +4584,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -4401,7 +4592,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4411,79 +4602,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [540] = 36, + [549] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - ACTIONS(49), 1, - anon_sym_RBRACK, - STATE(58), 1, + ACTIONS(51), 1, + anon_sym_RPAREN, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(252), 1, + STATE(236), 1, + sym_builtin_type, + STATE(257), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -4491,7 +4682,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -4499,7 +4690,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4509,79 +4700,78 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [674] = 36, + [683] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LBRACE, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - ACTIONS(51), 1, - anon_sym_RPAREN, - STATE(58), 1, + ACTIONS(53), 1, + anon_sym_LPAREN, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(252), 1, - sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(450), 2, + sym_return_expression_list, + sym_expression, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -4589,7 +4779,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -4597,7 +4787,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4607,79 +4797,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [808] = 36, + [815] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - ACTIONS(53), 1, - anon_sym_RPAREN, - STATE(58), 1, + ACTIONS(55), 1, + anon_sym_RBRACK, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(284), 1, + STATE(236), 1, + sym_builtin_type, + STATE(257), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -4687,7 +4877,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -4695,7 +4885,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4705,79 +4895,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [942] = 36, + [949] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - ACTIONS(55), 1, - anon_sym_RPAREN, - STATE(58), 1, + ACTIONS(57), 1, + anon_sym_RBRACK, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(252), 1, + STATE(236), 1, + sym_builtin_type, + STATE(269), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -4785,7 +4975,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -4793,7 +4983,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4803,77 +4993,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1076] = 35, + [1083] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + ACTIONS(59), 1, + anon_sym_RPAREN, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(389), 1, + STATE(236), 1, + sym_builtin_type, + STATE(258), 1, sym_expression, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -4881,7 +5073,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -4889,7 +5081,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4899,77 +5091,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1207] = 35, + [1217] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + ACTIONS(61), 1, + anon_sym_RBRACK, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(349), 1, + STATE(236), 1, + sym_builtin_type, + STATE(257), 1, sym_expression, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -4977,7 +5171,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -4985,7 +5179,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -4995,77 +5189,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1338] = 35, + [1351] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + ACTIONS(63), 1, + anon_sym_RPAREN, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(398), 1, + STATE(236), 1, + sym_builtin_type, + STATE(272), 1, sym_expression, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -5073,7 +5269,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -5081,7 +5277,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5091,77 +5287,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1469] = 35, + [1485] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + ACTIONS(65), 1, + anon_sym_RPAREN, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(411), 1, + STATE(236), 1, + sym_builtin_type, + STATE(257), 1, sym_expression, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -5169,7 +5367,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -5177,7 +5375,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5187,77 +5385,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1600] = 35, + [1619] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + ACTIONS(67), 1, + anon_sym_RPAREN, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(293), 1, + STATE(236), 1, + sym_builtin_type, + STATE(320), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -5265,7 +5465,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -5273,7 +5473,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5283,77 +5483,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1731] = 35, + [1753] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + ACTIONS(69), 1, + anon_sym_RPAREN, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(385), 1, + STATE(236), 1, + sym_builtin_type, + STATE(257), 1, sym_expression, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -5361,7 +5563,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -5369,7 +5571,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5379,77 +5581,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1862] = 35, + [1887] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + ACTIONS(71), 1, + anon_sym_RPAREN, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(266), 1, + STATE(236), 1, + sym_builtin_type, + STATE(257), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -5457,7 +5661,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -5465,7 +5669,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5475,77 +5679,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [1993] = 35, + [2021] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(334), 1, + STATE(236), 1, + sym_builtin_type, + STATE(293), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(328), 1, + sym_console_parameter, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -5553,7 +5759,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -5561,7 +5767,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5571,77 +5777,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2124] = 35, + [2155] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(336), 1, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(359), 1, sym_expression, - ACTIONS(29), 2, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -5649,7 +5855,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -5657,7 +5863,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5667,77 +5873,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2255] = 35, + [2286] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(315), 1, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(446), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -5745,7 +5951,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -5753,7 +5959,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5763,77 +5969,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2386] = 35, + [2417] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(316), 1, + STATE(236), 1, + sym_builtin_type, + STATE(299), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -5841,7 +6047,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -5849,7 +6055,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5859,77 +6065,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2517] = 35, + [2548] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(361), 1, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(427), 1, sym_expression, - ACTIONS(29), 2, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -5937,7 +6143,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -5945,7 +6151,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -5955,77 +6161,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2648] = 35, + [2679] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(371), 1, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(453), 1, sym_expression, - ACTIONS(29), 2, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -6033,7 +6239,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -6041,7 +6247,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6051,77 +6257,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2779] = 35, + [2810] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(350), 1, + STATE(236), 1, + sym_builtin_type, + STATE(332), 1, sym_expression, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -6129,7 +6335,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -6137,7 +6343,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6147,77 +6353,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [2910] = 35, + [2941] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(291), 1, + STATE(236), 1, + sym_builtin_type, + STATE(343), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -6225,7 +6431,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -6233,7 +6439,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6243,77 +6449,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3041] = 35, + [3072] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, STATE(353), 1, sym_expression, - ACTIONS(29), 2, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -6321,7 +6527,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -6329,7 +6535,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6339,77 +6545,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3172] = 35, + [3203] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(413), 1, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(348), 1, sym_expression, - ACTIONS(29), 2, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -6417,7 +6623,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -6425,7 +6631,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6435,77 +6641,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3303] = 35, + [3334] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(252), 1, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(385), 1, sym_expression, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -6513,7 +6719,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -6521,7 +6727,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6531,77 +6737,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3434] = 35, + [3465] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(399), 1, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(354), 1, sym_expression, - ACTIONS(29), 2, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -6609,7 +6815,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -6617,7 +6823,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6627,77 +6833,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3565] = 35, + [3596] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(400), 1, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(386), 1, sym_expression, - ACTIONS(29), 2, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -6705,7 +6911,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -6713,7 +6919,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6723,77 +6929,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3696] = 35, + [3727] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(212), 1, + STATE(221), 1, sym_logical_and, - STATE(220), 1, + STATE(226), 1, sym_logical_or, - STATE(335), 1, - sym_type_name, - STATE(407), 1, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(387), 1, sym_expression, - ACTIONS(29), 2, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -6801,7 +7007,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -6809,7 +7015,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6819,73 +7025,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3827] = 33, + [3858] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(205), 1, + STATE(216), 1, sym_bit_or, - STATE(207), 1, - sym_base_type, - STATE(215), 1, + STATE(221), 1, sym_logical_and, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(226), 1, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(355), 1, + sym_expression, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -6893,7 +7103,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -6901,7 +7111,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -6911,71 +7121,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [3952] = 32, + [3989] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, - STATE(198), 1, + STATE(203), 1, sym_bit_xor, - STATE(207), 1, - sym_base_type, - STATE(211), 1, + STATE(216), 1, sym_bit_or, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(221), 1, + sym_logical_and, + STATE(226), 1, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(356), 1, + sym_expression, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -6983,7 +7199,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -6991,7 +7207,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7001,69 +7217,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4074] = 31, + [4120] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(110), 1, + sym_function_call, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(188), 1, + STATE(196), 1, sym_bit_and, STATE(203), 1, sym_bit_xor, - STATE(207), 1, - sym_base_type, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(216), 1, + sym_bit_or, + STATE(221), 1, + sym_logical_and, + STATE(226), 1, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(371), 1, + sym_expression, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7071,7 +7297,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -7079,77 +7305,86 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 8, sym_parenthesized, sym_cast, - sym_function_call, sym_instantiation, sym_state_object, sym_introspection, sym_array, sym_literal, sym_nullary_op, - [4193] = 30, + [4253] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(180), 1, + STATE(187), 1, sym_equality, - STATE(197), 1, + STATE(196), 1, sym_bit_and, - STATE(207), 1, - sym_base_type, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(203), 1, + sym_bit_xor, + STATE(216), 1, + sym_bit_or, + STATE(221), 1, + sym_logical_and, + STATE(226), 1, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(326), 1, + sym_expression, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7157,7 +7392,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -7165,7 +7400,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7175,65 +7410,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4309] = 29, + [4384] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(149), 1, + STATE(165), 1, sym_comparison, - STATE(192), 1, + STATE(187), 1, sym_equality, - STATE(207), 1, - sym_base_type, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(196), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(216), 1, + sym_bit_or, + STATE(221), 1, + sym_logical_and, + STATE(226), 1, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(388), 1, + sym_expression, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7241,7 +7488,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -7249,7 +7496,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7259,63 +7506,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4422] = 28, + [4515] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(121), 1, + STATE(128), 1, sym_term, - STATE(176), 1, + STATE(165), 1, sym_comparison, - STATE(207), 1, - sym_base_type, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(187), 1, + sym_equality, + STATE(196), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(216), 1, + sym_bit_or, + STATE(221), 1, + sym_logical_and, + STATE(226), 1, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(396), 1, + sym_expression, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7323,7 +7584,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -7331,7 +7592,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7341,61 +7602,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4532] = 27, + [4646] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(114), 1, + STATE(118), 1, sym_factor, - STATE(146), 1, + STATE(128), 1, sym_term, - STATE(207), 1, - sym_base_type, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(165), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(196), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(216), 1, + sym_bit_or, + STATE(221), 1, + sym_logical_and, + STATE(226), 1, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(257), 1, + sym_expression, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7403,7 +7680,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -7411,7 +7688,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7421,59 +7698,77 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4639] = 26, + [4777] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(105), 1, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(115), 1, + STATE(118), 1, sym_factor, - STATE(207), 1, - sym_base_type, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(128), 1, + sym_term, + STATE(165), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(196), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(216), 1, + sym_bit_or, + STATE(221), 1, + sym_logical_and, + STATE(226), 1, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(398), 1, + sym_expression, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7481,7 +7776,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -7489,7 +7784,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 9, sym_parenthesized, sym_cast, sym_function_call, @@ -7499,57 +7794,79 @@ static const uint16_t ts_small_parse_table[] = { sym_array, sym_literal, sym_nullary_op, - [4743] = 25, + [4908] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(110), 1, + STATE(109), 1, + sym_function_call, + STATE(114), 1, sym_unary, - STATE(111), 1, + STATE(116), 1, sym_postfix, - STATE(207), 1, - sym_base_type, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(118), 1, + sym_factor, + STATE(128), 1, + sym_term, + STATE(165), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(196), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(216), 1, + sym_bit_or, + STATE(221), 1, + sym_logical_and, + STATE(226), 1, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(403), 1, + sym_expression, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(40), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7557,7 +7874,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -7565,65 +7882,88 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 8, sym_parenthesized, sym_cast, - sym_function_call, sym_instantiation, sym_state_object, sym_introspection, sym_array, sym_literal, sym_nullary_op, - [4844] = 24, + [5041] = 36, ACTIONS(3), 1, sym_comment, - ACTIONS(9), 1, - sym_identifier, ACTIONS(11), 1, - anon_sym_LBRACE, + sym_identifier, ACTIONS(13), 1, - anon_sym_LPAREN, + anon_sym_LBRACE, ACTIONS(15), 1, - anon_sym_DASH, + anon_sym_LPAREN, ACTIONS(17), 1, - anon_sym_BANG, + anon_sym_DASH, ACTIONS(19), 1, - anon_sym_LBRACK, + anon_sym_BANG, ACTIONS(21), 1, - anon_sym_new, + anon_sym_LBRACK, ACTIONS(23), 1, - sym_output_root, + anon_sym_new, ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, sym_input_root, - ACTIONS(31), 1, + ACTIONS(33), 1, sym_number, - ACTIONS(35), 1, + ACTIONS(37), 1, anon_sym_date, - ACTIONS(41), 1, + ACTIONS(43), 1, anon_sym_this_DOTscriptSize, - STATE(58), 1, + STATE(65), 1, sym_primary, - STATE(109), 1, + STATE(111), 1, + sym_function_call, + STATE(114), 1, + sym_unary, + STATE(116), 1, sym_postfix, - STATE(207), 1, - sym_base_type, - STATE(335), 1, - sym_type_name, - ACTIONS(29), 2, + STATE(118), 1, + sym_factor, + STATE(128), 1, + sym_term, + STATE(165), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(196), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(216), 1, + sym_bit_or, + STATE(221), 1, + sym_logical_and, + STATE(226), 1, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(426), 1, + sym_expression, + ACTIONS(31), 2, anon_sym_true, anon_sym_false, - ACTIONS(33), 2, + ACTIONS(35), 2, sym_string_literal, sym_hex_literal, - STATE(63), 2, + STATE(53), 2, sym_unary_op, aux_sym_unary_repeat1, - STATE(102), 3, + STATE(81), 3, sym_boolean_literal, sym_number_literal, sym_date_literal, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7631,7 +7971,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - ACTIONS(39), 7, + ACTIONS(41), 7, anon_sym_this_DOTactiveInputIndex, anon_sym_this_DOTactiveScriptPubKey, anon_sym_this_DOTscriptSizeDataPrefix, @@ -7639,92 +7979,86 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - STATE(67), 9, + STATE(102), 8, sym_parenthesized, sym_cast, - sym_function_call, sym_instantiation, sym_state_object, sym_introspection, sym_array, sym_literal, sym_nullary_op, - [4942] = 5, - ACTIONS(3), 1, - sym_comment, - STATE(72), 1, - sym_number_unit, - ACTIONS(59), 6, - anon_sym_GT, - anon_sym_LT, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_SLASH, - anon_sym_DOT, - ACTIONS(61), 8, - anon_sym_litras, - anon_sym_grains, - anon_sym_kas, - anon_sym_seconds, - anon_sym_minutes, - anon_sym_hours, - anon_sym_days, - anon_sym_weeks, - ACTIONS(57), 21, - anon_sym_SEMI, - anon_sym_CARET, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_LBRACK, - anon_sym_RBRACK, - sym_unary_suffix, - anon_sym_DOTsplit, - anon_sym_DOTslice, - anon_sym_DOTreverse, - [4990] = 17, + [5174] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(63), 1, + ACTIONS(11), 1, sym_identifier, - ACTIONS(65), 1, + ACTIONS(13), 1, anon_sym_LBRACE, - ACTIONS(67), 1, - anon_sym_RBRACE, - ACTIONS(69), 1, + ACTIONS(15), 1, anon_sym_LPAREN, - ACTIONS(71), 1, - anon_sym_return, - ACTIONS(73), 1, - anon_sym_require, - ACTIONS(75), 1, - anon_sym_if, - ACTIONS(77), 1, - anon_sym_for, - ACTIONS(79), 1, - anon_sym_console_DOTlog, - STATE(207), 1, - sym_base_type, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(114), 1, + sym_unary, + STATE(116), 1, + sym_postfix, + STATE(118), 1, + sym_factor, + STATE(128), 1, + sym_term, + STATE(165), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(196), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(216), 1, + sym_bit_or, + STATE(221), 1, + sym_logical_and, STATE(226), 1, - sym_type_name, - STATE(238), 1, - sym_state_typed_binding, - STATE(313), 1, - sym_function_call, - STATE(43), 2, - sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(436), 1, + sym_expression, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, + STATE(53), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7732,51 +8066,95 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, - sym_variable_definition, - sym_tuple_assignment, - sym_push_statement, - sym_function_call_assignment, - sym_state_function_call_assignment, - sym_call_statement, - sym_return_statement, - sym_assign_statement, - sym_time_op_statement, - sym_require_statement, - sym_if_statement, - sym_for_statement, - sym_console_statement, - [5061] = 16, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [5305] = 35, ACTIONS(3), 1, sym_comment, - ACTIONS(65), 1, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, anon_sym_LBRACE, - ACTIONS(69), 1, + ACTIONS(15), 1, anon_sym_LPAREN, - ACTIONS(71), 1, - anon_sym_return, - ACTIONS(73), 1, - anon_sym_require, - ACTIONS(75), 1, - anon_sym_if, - ACTIONS(77), 1, - anon_sym_for, - ACTIONS(79), 1, - anon_sym_console_DOTlog, - ACTIONS(81), 1, - sym_identifier, - ACTIONS(83), 1, - anon_sym_RBRACE, - STATE(207), 1, - sym_base_type, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(114), 1, + sym_unary, + STATE(116), 1, + sym_postfix, + STATE(118), 1, + sym_factor, + STATE(128), 1, + sym_term, + STATE(165), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(196), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(216), 1, + sym_bit_or, + STATE(221), 1, + sym_logical_and, STATE(226), 1, - sym_type_name, - STATE(313), 1, - sym_function_call, - STATE(50), 2, - sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + STATE(437), 1, + sym_expression, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, + STATE(53), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7784,51 +8162,95 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, - sym_variable_definition, - sym_tuple_assignment, - sym_push_statement, - sym_function_call_assignment, - sym_state_function_call_assignment, - sym_call_statement, - sym_return_statement, - sym_assign_statement, - sym_time_op_statement, - sym_require_statement, - sym_if_statement, - sym_for_statement, - sym_console_statement, - [5129] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(65), 1, - anon_sym_LBRACE, - ACTIONS(69), 1, - anon_sym_LPAREN, - ACTIONS(71), 1, - anon_sym_return, - ACTIONS(73), 1, - anon_sym_require, - ACTIONS(75), 1, - anon_sym_if, - ACTIONS(77), 1, - anon_sym_for, - ACTIONS(79), 1, - anon_sym_console_DOTlog, - ACTIONS(81), 1, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [5436] = 35, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, sym_identifier, - ACTIONS(85), 1, - anon_sym_RBRACE, - STATE(207), 1, - sym_base_type, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(114), 1, + sym_unary, + STATE(116), 1, + sym_postfix, + STATE(118), 1, + sym_factor, + STATE(128), 1, + sym_term, + STATE(165), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(196), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(216), 1, + sym_bit_or, + STATE(221), 1, + sym_logical_and, STATE(226), 1, - sym_type_name, - STATE(313), 1, - sym_function_call, + sym_logical_or, + STATE(236), 1, + sym_builtin_type, + STATE(301), 1, + sym_expression, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, STATE(53), 2, - sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7836,51 +8258,91 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, - sym_variable_definition, - sym_tuple_assignment, - sym_push_statement, - sym_function_call_assignment, - sym_state_function_call_assignment, - sym_call_statement, - sym_return_statement, - sym_assign_statement, - sym_time_op_statement, - sym_require_statement, - sym_if_statement, - sym_for_statement, - sym_console_statement, - [5197] = 16, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [5567] = 33, ACTIONS(3), 1, sym_comment, - ACTIONS(65), 1, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, anon_sym_LBRACE, - ACTIONS(69), 1, + ACTIONS(15), 1, anon_sym_LPAREN, - ACTIONS(71), 1, - anon_sym_return, - ACTIONS(73), 1, - anon_sym_require, - ACTIONS(75), 1, - anon_sym_if, - ACTIONS(77), 1, - anon_sym_for, - ACTIONS(79), 1, - anon_sym_console_DOTlog, - ACTIONS(81), 1, - sym_identifier, - ACTIONS(87), 1, - anon_sym_RBRACE, - STATE(207), 1, - sym_base_type, - STATE(226), 1, - sym_type_name, - STATE(313), 1, - sym_function_call, - STATE(50), 2, - sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(114), 1, + sym_unary, + STATE(116), 1, + sym_postfix, + STATE(118), 1, + sym_factor, + STATE(128), 1, + sym_term, + STATE(165), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(196), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(216), 1, + sym_bit_or, + STATE(223), 1, + sym_logical_and, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, + STATE(53), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7888,51 +8350,587 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, - sym_variable_definition, - sym_tuple_assignment, - sym_push_statement, - sym_function_call_assignment, - sym_state_function_call_assignment, - sym_call_statement, - sym_return_statement, - sym_assign_statement, - sym_time_op_statement, - sym_require_statement, - sym_if_statement, - sym_for_statement, - sym_console_statement, - [5265] = 16, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [5692] = 32, ACTIONS(3), 1, sym_comment, - ACTIONS(65), 1, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, anon_sym_LBRACE, - ACTIONS(69), 1, + ACTIONS(15), 1, anon_sym_LPAREN, - ACTIONS(71), 1, - anon_sym_return, - ACTIONS(73), 1, - anon_sym_require, - ACTIONS(75), 1, - anon_sym_if, - ACTIONS(77), 1, - anon_sym_for, - ACTIONS(79), 1, - anon_sym_console_DOTlog, - ACTIONS(81), 1, - sym_identifier, - ACTIONS(85), 1, - anon_sym_RBRACE, - STATE(207), 1, - sym_base_type, - STATE(226), 1, - sym_type_name, - STATE(313), 1, - sym_function_call, - STATE(50), 2, - sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(114), 1, + sym_unary, + STATE(116), 1, + sym_postfix, + STATE(118), 1, + sym_factor, + STATE(128), 1, + sym_term, + STATE(165), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(196), 1, + sym_bit_and, + STATE(203), 1, + sym_bit_xor, + STATE(219), 1, + sym_bit_or, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, + STATE(53), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [5814] = 31, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(114), 1, + sym_unary, + STATE(116), 1, + sym_postfix, + STATE(118), 1, + sym_factor, + STATE(128), 1, + sym_term, + STATE(165), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(196), 1, + sym_bit_and, + STATE(212), 1, + sym_bit_xor, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, + STATE(53), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [5933] = 30, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(114), 1, + sym_unary, + STATE(116), 1, + sym_postfix, + STATE(118), 1, + sym_factor, + STATE(128), 1, + sym_term, + STATE(165), 1, + sym_comparison, + STATE(187), 1, + sym_equality, + STATE(207), 1, + sym_bit_and, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, + STATE(53), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [6049] = 29, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(114), 1, + sym_unary, + STATE(116), 1, + sym_postfix, + STATE(118), 1, + sym_factor, + STATE(128), 1, + sym_term, + STATE(165), 1, + sym_comparison, + STATE(195), 1, + sym_equality, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, + STATE(53), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [6162] = 28, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(114), 1, + sym_unary, + STATE(116), 1, + sym_postfix, + STATE(118), 1, + sym_factor, + STATE(128), 1, + sym_term, + STATE(182), 1, + sym_comparison, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, + STATE(53), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [6272] = 27, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(114), 1, + sym_unary, + STATE(116), 1, + sym_postfix, + STATE(118), 1, + sym_factor, + STATE(154), 1, + sym_term, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, + STATE(53), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [6379] = 26, + ACTIONS(3), 1, + sym_comment, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_LBRACE, + ACTIONS(15), 1, + anon_sym_LPAREN, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(114), 1, + sym_unary, + STATE(116), 1, + sym_postfix, + STATE(121), 1, + sym_factor, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, + STATE(53), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7940,51 +8938,75 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, - sym_variable_definition, - sym_tuple_assignment, - sym_push_statement, - sym_function_call_assignment, - sym_state_function_call_assignment, - sym_call_statement, - sym_return_statement, - sym_assign_statement, - sym_time_op_statement, - sym_require_statement, - sym_if_statement, - sym_for_statement, - sym_console_statement, - [5333] = 16, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [6483] = 25, ACTIONS(3), 1, sym_comment, - ACTIONS(65), 1, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, anon_sym_LBRACE, - ACTIONS(69), 1, + ACTIONS(15), 1, anon_sym_LPAREN, - ACTIONS(71), 1, - anon_sym_return, - ACTIONS(73), 1, - anon_sym_require, - ACTIONS(75), 1, - anon_sym_if, - ACTIONS(77), 1, - anon_sym_for, - ACTIONS(79), 1, - anon_sym_console_DOTlog, - ACTIONS(81), 1, - sym_identifier, - ACTIONS(89), 1, - anon_sym_RBRACE, - STATE(207), 1, - sym_base_type, - STATE(226), 1, - sym_type_name, - STATE(313), 1, - sym_function_call, - STATE(45), 2, - sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(116), 1, + sym_postfix, + STATE(117), 1, + sym_unary, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, + STATE(53), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -7992,51 +9014,73 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, - sym_variable_definition, - sym_tuple_assignment, - sym_push_statement, - sym_function_call_assignment, - sym_state_function_call_assignment, - sym_call_statement, - sym_return_statement, - sym_assign_statement, - sym_time_op_statement, - sym_require_statement, - sym_if_statement, - sym_for_statement, - sym_console_statement, - [5401] = 16, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [6584] = 24, ACTIONS(3), 1, sym_comment, - ACTIONS(65), 1, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, anon_sym_LBRACE, - ACTIONS(69), 1, + ACTIONS(15), 1, anon_sym_LPAREN, - ACTIONS(71), 1, - anon_sym_return, - ACTIONS(73), 1, - anon_sym_require, - ACTIONS(75), 1, - anon_sym_if, - ACTIONS(77), 1, - anon_sym_for, - ACTIONS(79), 1, - anon_sym_console_DOTlog, - ACTIONS(81), 1, - sym_identifier, - ACTIONS(91), 1, - anon_sym_RBRACE, - STATE(207), 1, - sym_base_type, - STATE(226), 1, - sym_type_name, - STATE(313), 1, - sym_function_call, - STATE(46), 2, - sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + ACTIONS(17), 1, + anon_sym_DASH, + ACTIONS(19), 1, + anon_sym_BANG, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(23), 1, + anon_sym_new, + ACTIONS(25), 1, + sym_output_root, + ACTIONS(27), 1, + sym_input_root, + ACTIONS(33), 1, + sym_number, + ACTIONS(37), 1, + anon_sym_date, + ACTIONS(43), 1, + anon_sym_this_DOTscriptSize, + STATE(65), 1, + sym_primary, + STATE(115), 1, + sym_postfix, + STATE(236), 1, + sym_builtin_type, + STATE(345), 1, + sym_cast_type_name, + ACTIONS(31), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(35), 2, + sym_string_literal, + sym_hex_literal, + STATE(66), 2, + sym_unary_op, + aux_sym_unary_repeat1, + STATE(81), 3, + sym_boolean_literal, + sym_number_literal, + sym_date_literal, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -8044,51 +9088,59 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, - sym_variable_definition, - sym_tuple_assignment, - sym_push_statement, - sym_function_call_assignment, - sym_state_function_call_assignment, - sym_call_statement, - sym_return_statement, - sym_assign_statement, - sym_time_op_statement, - sym_require_statement, - sym_if_statement, - sym_for_statement, - sym_console_statement, - [5469] = 16, + ACTIONS(41), 7, + anon_sym_this_DOTactiveInputIndex, + anon_sym_this_DOTactiveScriptPubKey, + anon_sym_this_DOTscriptSizeDataPrefix, + anon_sym_tx_DOTinputs_DOTlength, + anon_sym_tx_DOToutputs_DOTlength, + anon_sym_tx_DOTversion, + anon_sym_tx_DOTlocktime, + STATE(102), 9, + sym_parenthesized, + sym_cast, + sym_function_call, + sym_instantiation, + sym_state_object, + sym_introspection, + sym_array, + sym_literal, + sym_nullary_op, + [6682] = 18, ACTIONS(3), 1, sym_comment, - ACTIONS(65), 1, + ACTIONS(73), 1, + sym_identifier, + ACTIONS(75), 1, anon_sym_LBRACE, - ACTIONS(69), 1, + ACTIONS(77), 1, + anon_sym_RBRACE, + ACTIONS(79), 1, anon_sym_LPAREN, - ACTIONS(71), 1, + ACTIONS(81), 1, anon_sym_return, - ACTIONS(73), 1, + ACTIONS(83), 1, anon_sym_require, - ACTIONS(75), 1, + ACTIONS(85), 1, anon_sym_if, - ACTIONS(77), 1, + ACTIONS(87), 1, anon_sym_for, - ACTIONS(79), 1, - anon_sym_console_DOTlog, - ACTIONS(81), 1, - sym_identifier, ACTIONS(89), 1, - anon_sym_RBRACE, - STATE(207), 1, + anon_sym_console_DOTlog, + STATE(201), 1, sym_base_type, - STATE(226), 1, + STATE(218), 1, + sym_builtin_type, + STATE(239), 1, sym_type_name, - STATE(313), 1, + STATE(288), 1, + sym_state_typed_binding, + STATE(377), 1, sym_function_call, - STATE(50), 2, + STATE(57), 2, sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + aux_sym_braced_block_repeat1, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -8096,12 +9148,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, + STATE(138), 15, + sym_braced_block, sym_variable_definition, sym_tuple_assignment, sym_push_statement, sym_function_call_assignment, sym_state_function_call_assignment, + sym_struct_destructure_assignment, sym_call_statement, sym_return_statement, sym_assign_statement, @@ -8110,37 +9164,39 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5537] = 16, + [6758] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(93), 1, - sym_identifier, - ACTIONS(96), 1, + ACTIONS(75), 1, anon_sym_LBRACE, - ACTIONS(99), 1, - anon_sym_RBRACE, - ACTIONS(101), 1, + ACTIONS(79), 1, anon_sym_LPAREN, - ACTIONS(104), 1, + ACTIONS(81), 1, anon_sym_return, - ACTIONS(107), 1, + ACTIONS(83), 1, anon_sym_require, - ACTIONS(110), 1, + ACTIONS(85), 1, anon_sym_if, - ACTIONS(113), 1, + ACTIONS(87), 1, anon_sym_for, - ACTIONS(116), 1, + ACTIONS(89), 1, anon_sym_console_DOTlog, - STATE(207), 1, + ACTIONS(91), 1, + sym_identifier, + ACTIONS(93), 1, + anon_sym_RBRACE, + STATE(201), 1, sym_base_type, - STATE(226), 1, + STATE(218), 1, + sym_builtin_type, + STATE(239), 1, sym_type_name, - STATE(313), 1, + STATE(377), 1, sym_function_call, - STATE(50), 2, + STATE(58), 2, sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(119), 7, + aux_sym_braced_block_repeat1, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -8148,12 +9204,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, + STATE(138), 15, + sym_braced_block, sym_variable_definition, sym_tuple_assignment, sym_push_statement, sym_function_call_assignment, sym_state_function_call_assignment, + sym_struct_destructure_assignment, sym_call_statement, sym_return_statement, sym_assign_statement, @@ -8162,84 +9220,39 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5605] = 11, - ACTIONS(3), 1, - sym_comment, - ACTIONS(126), 1, - anon_sym_LBRACK, - ACTIONS(129), 1, - anon_sym_DOT, - ACTIONS(132), 1, - sym_unary_suffix, - ACTIONS(135), 1, - anon_sym_DOTsplit, - ACTIONS(138), 1, - anon_sym_DOTslice, - ACTIONS(141), 1, - anon_sym_DOTreverse, - STATE(51), 2, - sym_postfix_op, - aux_sym_postfix_repeat1, - ACTIONS(124), 5, - anon_sym_GT, - anon_sym_LT, - anon_sym_PIPE, - anon_sym_AMP, - anon_sym_SLASH, - STATE(99), 5, - sym_tuple_index, - sym_member_access, - sym_split_call, - sym_slice_call, - sym_reverse_call, - ACTIONS(122), 16, - anon_sym_SEMI, - anon_sym_CARET, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_PERCENT, - anon_sym_RBRACK, - [5663] = 16, + [6831] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_LBRACE, - ACTIONS(69), 1, + ACTIONS(79), 1, anon_sym_LPAREN, - ACTIONS(71), 1, + ACTIONS(81), 1, anon_sym_return, - ACTIONS(73), 1, + ACTIONS(83), 1, anon_sym_require, - ACTIONS(75), 1, + ACTIONS(85), 1, anon_sym_if, - ACTIONS(77), 1, + ACTIONS(87), 1, anon_sym_for, - ACTIONS(79), 1, + ACTIONS(89), 1, anon_sym_console_DOTlog, - ACTIONS(81), 1, + ACTIONS(91), 1, sym_identifier, - ACTIONS(144), 1, + ACTIONS(95), 1, anon_sym_RBRACE, - STATE(207), 1, + STATE(201), 1, sym_base_type, - STATE(226), 1, + STATE(218), 1, + sym_builtin_type, + STATE(239), 1, sym_type_name, - STATE(313), 1, + STATE(377), 1, sym_function_call, STATE(55), 2, sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + aux_sym_braced_block_repeat1, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -8247,12 +9260,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, + STATE(138), 15, + sym_braced_block, sym_variable_definition, sym_tuple_assignment, sym_push_statement, sym_function_call_assignment, sym_state_function_call_assignment, + sym_struct_destructure_assignment, sym_call_statement, sym_return_statement, sym_assign_statement, @@ -8261,37 +9276,39 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5731] = 16, + [6904] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_LBRACE, - ACTIONS(69), 1, + ACTIONS(79), 1, anon_sym_LPAREN, - ACTIONS(71), 1, + ACTIONS(81), 1, anon_sym_return, - ACTIONS(73), 1, + ACTIONS(83), 1, anon_sym_require, - ACTIONS(75), 1, + ACTIONS(85), 1, anon_sym_if, - ACTIONS(77), 1, + ACTIONS(87), 1, anon_sym_for, - ACTIONS(79), 1, + ACTIONS(89), 1, anon_sym_console_DOTlog, - ACTIONS(81), 1, + ACTIONS(91), 1, sym_identifier, - ACTIONS(146), 1, + ACTIONS(97), 1, anon_sym_RBRACE, - STATE(207), 1, + STATE(201), 1, sym_base_type, - STATE(226), 1, + STATE(218), 1, + sym_builtin_type, + STATE(239), 1, sym_type_name, - STATE(313), 1, + STATE(377), 1, sym_function_call, - STATE(50), 2, + STATE(58), 2, sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + aux_sym_braced_block_repeat1, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -8299,12 +9316,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, + STATE(138), 15, + sym_braced_block, sym_variable_definition, sym_tuple_assignment, sym_push_statement, sym_function_call_assignment, sym_state_function_call_assignment, + sym_struct_destructure_assignment, sym_call_statement, sym_return_statement, sym_assign_statement, @@ -8313,37 +9332,39 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5799] = 16, + [6977] = 17, ACTIONS(3), 1, sym_comment, - ACTIONS(65), 1, + ACTIONS(99), 1, + sym_identifier, + ACTIONS(102), 1, anon_sym_LBRACE, - ACTIONS(69), 1, + ACTIONS(105), 1, + anon_sym_RBRACE, + ACTIONS(107), 1, anon_sym_LPAREN, - ACTIONS(71), 1, + ACTIONS(110), 1, anon_sym_return, - ACTIONS(73), 1, + ACTIONS(113), 1, anon_sym_require, - ACTIONS(75), 1, + ACTIONS(116), 1, anon_sym_if, - ACTIONS(77), 1, + ACTIONS(119), 1, anon_sym_for, - ACTIONS(79), 1, + ACTIONS(122), 1, anon_sym_console_DOTlog, - ACTIONS(81), 1, - sym_identifier, - ACTIONS(148), 1, - anon_sym_RBRACE, - STATE(207), 1, + STATE(201), 1, sym_base_type, - STATE(226), 1, + STATE(218), 1, + sym_builtin_type, + STATE(239), 1, sym_type_name, - STATE(313), 1, + STATE(377), 1, sym_function_call, - STATE(49), 2, + STATE(58), 2, sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + aux_sym_braced_block_repeat1, + ACTIONS(125), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -8351,12 +9372,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, + STATE(138), 15, + sym_braced_block, sym_variable_definition, sym_tuple_assignment, sym_push_statement, sym_function_call_assignment, sym_state_function_call_assignment, + sym_struct_destructure_assignment, sym_call_statement, sym_return_statement, sym_assign_statement, @@ -8365,37 +9388,79 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5867] = 16, + [7050] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(65), 1, + STATE(85), 1, + sym_number_unit, + ACTIONS(130), 6, + anon_sym_GT, + anon_sym_LT, + anon_sym_DOT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(132), 8, + anon_sym_litras, + anon_sym_grains, + anon_sym_kas, + anon_sym_seconds, + anon_sym_minutes, + anon_sym_hours, + anon_sym_days, + anon_sym_weeks, + ACTIONS(128), 21, + anon_sym_SEMI, + anon_sym_CARET, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LBRACK, + sym_unary_suffix, + anon_sym_DOTsplit, + anon_sym_DOTslice, + anon_sym_DOTreverse, + [7098] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(75), 1, anon_sym_LBRACE, - ACTIONS(69), 1, + ACTIONS(79), 1, anon_sym_LPAREN, - ACTIONS(71), 1, + ACTIONS(81), 1, anon_sym_return, - ACTIONS(73), 1, + ACTIONS(83), 1, anon_sym_require, - ACTIONS(75), 1, + ACTIONS(85), 1, anon_sym_if, - ACTIONS(77), 1, + ACTIONS(87), 1, anon_sym_for, - ACTIONS(79), 1, + ACTIONS(89), 1, anon_sym_console_DOTlog, - ACTIONS(81), 1, + ACTIONS(91), 1, sym_identifier, - ACTIONS(150), 1, - anon_sym_RBRACE, - STATE(207), 1, + STATE(153), 1, + sym_statement, + STATE(201), 1, sym_base_type, - STATE(226), 1, + STATE(218), 1, + sym_builtin_type, + STATE(239), 1, sym_type_name, - STATE(313), 1, + STATE(377), 1, sym_function_call, - STATE(50), 2, - sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -8403,12 +9468,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, + STATE(138), 15, + sym_braced_block, sym_variable_definition, sym_tuple_assignment, sym_push_statement, sym_function_call_assignment, sym_state_function_call_assignment, + sym_struct_destructure_assignment, sym_call_statement, sym_return_statement, sym_assign_statement, @@ -8417,37 +9484,36 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [5935] = 16, + [7167] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_LBRACE, - ACTIONS(69), 1, + ACTIONS(79), 1, anon_sym_LPAREN, - ACTIONS(71), 1, + ACTIONS(81), 1, anon_sym_return, - ACTIONS(73), 1, + ACTIONS(83), 1, anon_sym_require, - ACTIONS(75), 1, + ACTIONS(85), 1, anon_sym_if, - ACTIONS(77), 1, + ACTIONS(87), 1, anon_sym_for, - ACTIONS(79), 1, + ACTIONS(89), 1, anon_sym_console_DOTlog, - ACTIONS(81), 1, + ACTIONS(91), 1, sym_identifier, - ACTIONS(150), 1, - anon_sym_RBRACE, - STATE(207), 1, + STATE(146), 1, + sym_statement, + STATE(201), 1, sym_base_type, - STATE(226), 1, + STATE(218), 1, + sym_builtin_type, + STATE(239), 1, sym_type_name, - STATE(313), 1, + STATE(377), 1, sym_function_call, - STATE(57), 2, - sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -8455,12 +9521,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, + STATE(138), 15, + sym_braced_block, sym_variable_definition, sym_tuple_assignment, sym_push_statement, sym_function_call_assignment, sym_state_function_call_assignment, + sym_struct_destructure_assignment, sym_call_statement, sym_return_statement, sym_assign_statement, @@ -8469,37 +9537,36 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [6003] = 16, + [7236] = 16, ACTIONS(3), 1, sym_comment, - ACTIONS(65), 1, + ACTIONS(75), 1, anon_sym_LBRACE, - ACTIONS(69), 1, + ACTIONS(79), 1, anon_sym_LPAREN, - ACTIONS(71), 1, + ACTIONS(81), 1, anon_sym_return, - ACTIONS(73), 1, + ACTIONS(83), 1, anon_sym_require, - ACTIONS(75), 1, + ACTIONS(85), 1, anon_sym_if, - ACTIONS(77), 1, + ACTIONS(87), 1, anon_sym_for, - ACTIONS(79), 1, + ACTIONS(89), 1, anon_sym_console_DOTlog, - ACTIONS(81), 1, + ACTIONS(91), 1, sym_identifier, - ACTIONS(152), 1, - anon_sym_RBRACE, - STATE(207), 1, + STATE(152), 1, + sym_statement, + STATE(201), 1, sym_base_type, - STATE(226), 1, + STATE(218), 1, + sym_builtin_type, + STATE(239), 1, sym_type_name, - STATE(313), 1, + STATE(377), 1, sym_function_call, - STATE(50), 2, - sym_statement, - aux_sym_function_definition_repeat2, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -8507,12 +9574,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - STATE(118), 13, + STATE(138), 15, + sym_braced_block, sym_variable_definition, sym_tuple_assignment, sym_push_statement, sym_function_call_assignment, sym_state_function_call_assignment, + sym_struct_destructure_assignment, sym_call_statement, sym_return_statement, sym_assign_statement, @@ -8521,42 +9590,90 @@ static const uint16_t ts_small_parse_table[] = { sym_if_statement, sym_for_statement, sym_console_statement, - [6071] = 11, + [7305] = 11, + ACTIONS(3), 1, + sym_comment, + ACTIONS(138), 1, + anon_sym_DOT, + ACTIONS(141), 1, + anon_sym_LBRACK, + ACTIONS(144), 1, + sym_unary_suffix, + ACTIONS(147), 1, + anon_sym_DOTsplit, + ACTIONS(150), 1, + anon_sym_DOTslice, + ACTIONS(153), 1, + anon_sym_DOTreverse, + STATE(63), 2, + sym_postfix_op, + aux_sym_postfix_repeat1, + ACTIONS(136), 5, + anon_sym_GT, + anon_sym_LT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_SLASH, + STATE(83), 5, + sym_tuple_index, + sym_split_call, + sym_slice_call, + sym_reverse_call, + sym_field_access, + ACTIONS(134), 16, + anon_sym_SEMI, + anon_sym_CARET, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + [7363] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(158), 1, - anon_sym_LBRACK, ACTIONS(160), 1, anon_sym_DOT, ACTIONS(162), 1, - sym_unary_suffix, + anon_sym_LBRACK, ACTIONS(164), 1, - anon_sym_DOTsplit, + sym_unary_suffix, ACTIONS(166), 1, - anon_sym_DOTslice, + anon_sym_DOTsplit, ACTIONS(168), 1, + anon_sym_DOTslice, + ACTIONS(170), 1, anon_sym_DOTreverse, - STATE(59), 2, + STATE(63), 2, sym_postfix_op, aux_sym_postfix_repeat1, - ACTIONS(156), 5, + ACTIONS(158), 5, anon_sym_GT, anon_sym_LT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - STATE(99), 5, + STATE(83), 5, sym_tuple_index, - sym_member_access, sym_split_call, sym_slice_call, sym_reverse_call, - ACTIONS(154), 16, + sym_field_access, + ACTIONS(156), 16, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -8567,43 +9684,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, - anon_sym_RBRACK, - [6129] = 11, + [7421] = 11, ACTIONS(3), 1, sym_comment, - ACTIONS(158), 1, - anon_sym_LBRACK, ACTIONS(160), 1, anon_sym_DOT, ACTIONS(162), 1, - sym_unary_suffix, + anon_sym_LBRACK, ACTIONS(164), 1, - anon_sym_DOTsplit, + sym_unary_suffix, ACTIONS(166), 1, - anon_sym_DOTslice, + anon_sym_DOTsplit, ACTIONS(168), 1, + anon_sym_DOTslice, + ACTIONS(170), 1, anon_sym_DOTreverse, - STATE(51), 2, + STATE(64), 2, sym_postfix_op, aux_sym_postfix_repeat1, - ACTIONS(172), 5, + ACTIONS(174), 5, anon_sym_GT, anon_sym_LT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - STATE(99), 5, + STATE(83), 5, sym_tuple_index, - sym_member_access, sym_split_call, sym_slice_call, sym_reverse_call, - ACTIONS(170), 16, + sym_field_access, + ACTIONS(172), 16, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -8614,168 +9731,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, - anon_sym_RBRACK, - [6187] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(69), 1, - anon_sym_LPAREN, - ACTIONS(71), 1, - anon_sym_return, - ACTIONS(73), 1, - anon_sym_require, - ACTIONS(75), 1, - anon_sym_if, - ACTIONS(77), 1, - anon_sym_for, - ACTIONS(79), 1, - anon_sym_console_DOTlog, - ACTIONS(81), 1, - sym_identifier, - ACTIONS(174), 1, - anon_sym_LBRACE, - STATE(117), 1, - sym_block, - STATE(130), 1, - sym_statement, - STATE(207), 1, - sym_base_type, - STATE(226), 1, - sym_type_name, - STATE(313), 1, - sym_function_call, - ACTIONS(27), 7, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - STATE(118), 13, - sym_variable_definition, - sym_tuple_assignment, - sym_push_statement, - sym_function_call_assignment, - sym_state_function_call_assignment, - sym_call_statement, - sym_return_statement, - sym_assign_statement, - sym_time_op_statement, - sym_require_statement, - sym_if_statement, - sym_for_statement, - sym_console_statement, - [6254] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(69), 1, - anon_sym_LPAREN, - ACTIONS(71), 1, - anon_sym_return, - ACTIONS(73), 1, - anon_sym_require, - ACTIONS(75), 1, - anon_sym_if, - ACTIONS(77), 1, - anon_sym_for, - ACTIONS(79), 1, - anon_sym_console_DOTlog, - ACTIONS(81), 1, - sym_identifier, - ACTIONS(174), 1, - anon_sym_LBRACE, - STATE(116), 1, - sym_block, - STATE(130), 1, - sym_statement, - STATE(207), 1, - sym_base_type, - STATE(226), 1, - sym_type_name, - STATE(313), 1, - sym_function_call, - ACTIONS(27), 7, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - STATE(118), 13, - sym_variable_definition, - sym_tuple_assignment, - sym_push_statement, - sym_function_call_assignment, - sym_state_function_call_assignment, - sym_call_statement, - sym_return_statement, - sym_assign_statement, - sym_time_op_statement, - sym_require_statement, - sym_if_statement, - sym_for_statement, - sym_console_statement, - [6321] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(69), 1, - anon_sym_LPAREN, - ACTIONS(71), 1, - anon_sym_return, - ACTIONS(73), 1, - anon_sym_require, - ACTIONS(75), 1, - anon_sym_if, - ACTIONS(77), 1, - anon_sym_for, - ACTIONS(79), 1, - anon_sym_console_DOTlog, - ACTIONS(81), 1, - sym_identifier, - ACTIONS(174), 1, - anon_sym_LBRACE, - STATE(129), 1, - sym_block, - STATE(130), 1, - sym_statement, - STATE(207), 1, - sym_base_type, - STATE(226), 1, - sym_type_name, - STATE(313), 1, - sym_function_call, - ACTIONS(27), 7, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - STATE(118), 13, - sym_variable_definition, - sym_tuple_assignment, - sym_push_statement, - sym_function_call_assignment, - sym_state_function_call_assignment, - sym_call_statement, - sym_return_statement, - sym_assign_statement, - sym_time_op_statement, - sym_require_statement, - sym_if_statement, - sym_for_statement, - sym_console_statement, - [6388] = 6, + [7479] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(180), 1, anon_sym_DASH, ACTIONS(183), 1, anon_sym_BANG, - STATE(63), 2, + STATE(66), 2, sym_unary_op, aux_sym_unary_repeat1, ACTIONS(176), 5, @@ -8808,7 +9771,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - [6434] = 3, + [7525] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(186), 6, @@ -8843,28 +9806,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_tx_DOToutputs_DOTlength, anon_sym_tx_DOTversion, anon_sym_tx_DOTlocktime, - [6472] = 6, + [7563] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(194), 1, anon_sym_LPAREN, - ACTIONS(197), 1, - anon_sym_LBRACK, - STATE(81), 1, + STATE(70), 1, sym_expression_list, ACTIONS(192), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, - ACTIONS(190), 20, + ACTIONS(190), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -8875,27 +9837,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, - anon_sym_RBRACK, + anon_sym_LBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6515] = 3, + [7604] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(202), 6, + ACTIONS(198), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, - ACTIONS(200), 21, + ACTIONS(196), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -8907,27 +9870,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6550] = 3, + [7639] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(192), 6, + ACTIONS(202), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, - ACTIONS(190), 21, + ACTIONS(200), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -8939,27 +9902,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6585] = 3, + [7674] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(206), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(204), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -8971,27 +9934,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6620] = 3, + [7709] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(210), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(208), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9003,27 +9966,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6655] = 3, + [7744] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(214), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(212), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9035,27 +9998,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6690] = 3, + [7779] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(218), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(216), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9067,27 +10030,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6725] = 3, + [7814] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(222), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(220), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9099,27 +10062,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6760] = 3, + [7849] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(226), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(224), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9131,27 +10094,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6795] = 3, + [7884] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(230), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(228), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9163,27 +10126,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6830] = 3, + [7919] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(234), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(232), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9195,27 +10158,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6865] = 3, + [7954] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(238), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(236), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9227,27 +10190,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6900] = 3, + [7989] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(242), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(240), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9259,27 +10222,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6935] = 3, + [8024] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(246), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(244), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9291,27 +10254,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [6970] = 3, + [8059] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(250), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(248), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9323,27 +10286,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7005] = 3, + [8094] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(254), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(252), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9355,27 +10318,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7040] = 3, + [8129] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(258), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(256), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9387,27 +10350,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7075] = 3, + [8164] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(262), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(260), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9419,27 +10382,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7110] = 3, + [8199] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(266), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(264), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9451,27 +10414,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7145] = 3, + [8234] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(270), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(268), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9483,27 +10446,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7180] = 3, + [8269] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(274), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(272), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9515,27 +10478,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7215] = 3, + [8304] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(278), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(276), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9547,27 +10510,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7250] = 3, + [8339] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(282), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(280), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9579,27 +10542,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7285] = 3, + [8374] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(286), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(284), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9611,27 +10574,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7320] = 3, + [8409] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(290), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(288), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9643,27 +10606,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7355] = 3, + [8444] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(294), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(292), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9675,27 +10638,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7390] = 3, + [8479] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(298), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(296), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9707,27 +10670,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7425] = 3, + [8514] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(302), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(300), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9739,27 +10702,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7460] = 3, + [8549] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(306), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(304), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9771,27 +10734,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7495] = 3, + [8584] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(310), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(308), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9803,27 +10766,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7530] = 3, + [8619] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(314), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(312), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9835,27 +10798,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7565] = 3, + [8654] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(318), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(316), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9867,27 +10830,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7600] = 3, + [8689] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(322), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(320), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9899,27 +10862,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7635] = 3, + [8724] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(326), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, ACTIONS(324), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9931,27 +10894,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7670] = 3, + [8759] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(330), 6, + ACTIONS(192), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, - ACTIONS(328), 21, + ACTIONS(190), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9963,27 +10926,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7705] = 3, + [8794] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(334), 6, + ACTIONS(330), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, - ACTIONS(332), 21, + ACTIONS(328), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -9995,27 +10958,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7740] = 3, + [8829] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(338), 6, + ACTIONS(334), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, - ACTIONS(336), 21, + ACTIONS(332), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -10027,27 +10990,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7775] = 3, + [8864] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(342), 6, + ACTIONS(338), 6, anon_sym_GT, anon_sym_LT, + anon_sym_DOT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - anon_sym_DOT, - ACTIONS(340), 21, + ACTIONS(336), 21, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -10059,41 +11022,43 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, anon_sym_PERCENT, anon_sym_LBRACK, - anon_sym_RBRACK, sym_unary_suffix, anon_sym_DOTsplit, anon_sym_DOTslice, anon_sym_DOTreverse, - [7810] = 13, + [8899] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(340), 1, sym_identifier, - ACTIONS(346), 1, + ACTIONS(343), 1, anon_sym_RBRACE, - ACTIONS(348), 1, + ACTIONS(345), 1, anon_sym_struct, - ACTIONS(350), 1, + ACTIONS(348), 1, anon_sym_entrypoint, - ACTIONS(352), 1, + ACTIONS(351), 1, anon_sym_function, ACTIONS(354), 1, - sym_attribute, - STATE(207), 1, + anon_sym_POUND_LBRACK, + STATE(201), 1, sym_base_type, - STATE(225), 1, - aux_sym_function_definition_repeat1, - STATE(306), 1, + STATE(218), 1, + sym_builtin_type, + STATE(314), 1, sym_type_name, - STATE(104), 2, + STATE(106), 2, sym_contract_item, aux_sym_contract_definition_repeat1, - STATE(147), 4, + STATE(228), 2, + sym_function_attribute, + aux_sym_function_definition_repeat1, + STATE(177), 4, sym_struct_definition, sym_function_definition, sym_constant_definition, sym_contract_field_definition, - ACTIONS(27), 7, + ACTIONS(357), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -10101,36 +11066,79 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [7860] = 13, + [8953] = 14, ACTIONS(3), 1, sym_comment, - ACTIONS(356), 1, + ACTIONS(360), 1, sym_identifier, - ACTIONS(359), 1, + ACTIONS(362), 1, anon_sym_RBRACE, - ACTIONS(361), 1, - anon_sym_struct, ACTIONS(364), 1, + anon_sym_struct, + ACTIONS(366), 1, anon_sym_entrypoint, - ACTIONS(367), 1, + ACTIONS(368), 1, anon_sym_function, - ACTIONS(373), 1, - sym_attribute, - STATE(207), 1, + ACTIONS(370), 1, + anon_sym_POUND_LBRACK, + STATE(201), 1, sym_base_type, - STATE(225), 1, + STATE(218), 1, + sym_builtin_type, + STATE(314), 1, + sym_type_name, + STATE(106), 2, + sym_contract_item, + aux_sym_contract_definition_repeat1, + STATE(228), 2, + sym_function_attribute, aux_sym_function_definition_repeat1, - STATE(306), 1, + STATE(177), 4, + sym_struct_definition, + sym_function_definition, + sym_constant_definition, + sym_contract_field_definition, + ACTIONS(29), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + [9007] = 14, + ACTIONS(3), 1, + sym_comment, + ACTIONS(360), 1, + sym_identifier, + ACTIONS(364), 1, + anon_sym_struct, + ACTIONS(366), 1, + anon_sym_entrypoint, + ACTIONS(368), 1, + anon_sym_function, + ACTIONS(370), 1, + anon_sym_POUND_LBRACK, + ACTIONS(372), 1, + anon_sym_RBRACE, + STATE(201), 1, + sym_base_type, + STATE(218), 1, + sym_builtin_type, + STATE(314), 1, sym_type_name, - STATE(104), 2, + STATE(107), 2, sym_contract_item, aux_sym_contract_definition_repeat1, - STATE(147), 4, + STATE(228), 2, + sym_function_attribute, + aux_sym_function_definition_repeat1, + STATE(177), 4, sym_struct_definition, sym_function_definition, sym_constant_definition, sym_contract_field_definition, - ACTIONS(370), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -10138,27 +11146,115 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [7910] = 6, + [9061] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(374), 1, + anon_sym_SEMI, + ACTIONS(192), 6, + anon_sym_GT, + anon_sym_LT, + anon_sym_DOT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(190), 16, + anon_sym_CARET, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LBRACK, + sym_unary_suffix, + anon_sym_DOTsplit, + anon_sym_DOTslice, + anon_sym_DOTreverse, + [9094] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(376), 1, + anon_sym_SEMI, + ACTIONS(192), 6, + anon_sym_GT, + anon_sym_LT, + anon_sym_DOT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(190), 16, + anon_sym_CARET, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LBRACK, + sym_unary_suffix, + anon_sym_DOTsplit, + anon_sym_DOTslice, + anon_sym_DOTreverse, + [9127] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(378), 1, + anon_sym_SEMI, + ACTIONS(192), 6, + anon_sym_GT, + anon_sym_LT, + anon_sym_DOT, + anon_sym_PIPE, + anon_sym_AMP, + anon_sym_SLASH, + ACTIONS(190), 16, + anon_sym_CARET, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_PLUS, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_PERCENT, + anon_sym_LBRACK, + sym_unary_suffix, + anon_sym_DOTsplit, + anon_sym_DOTslice, + anon_sym_DOTreverse, + [9160] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(382), 1, + ACTIONS(386), 1, anon_sym_SLASH, - STATE(108), 1, + STATE(113), 1, aux_sym_factor_repeat1, - ACTIONS(380), 2, + ACTIONS(384), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(378), 4, + ACTIONS(382), 4, anon_sym_GT, anon_sym_LT, anon_sym_PIPE, anon_sym_AMP, - ACTIONS(376), 14, + ACTIONS(380), 14, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -10167,65 +11263,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_PLUS, anon_sym_DASH, - anon_sym_RBRACK, - [7946] = 13, - ACTIONS(3), 1, - sym_comment, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(348), 1, - anon_sym_struct, - ACTIONS(350), 1, - anon_sym_entrypoint, - ACTIONS(352), 1, - anon_sym_function, - ACTIONS(354), 1, - sym_attribute, - ACTIONS(384), 1, - anon_sym_RBRACE, - STATE(207), 1, - sym_base_type, - STATE(225), 1, - aux_sym_function_definition_repeat1, - STATE(306), 1, - sym_type_name, - STATE(103), 2, - sym_contract_item, - aux_sym_contract_definition_repeat1, - STATE(147), 4, - sym_struct_definition, - sym_function_definition, - sym_constant_definition, - sym_contract_field_definition, - ACTIONS(27), 7, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - [7996] = 6, + [9196] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(393), 1, + ACTIONS(395), 1, anon_sym_SLASH, - STATE(107), 1, + STATE(113), 1, aux_sym_factor_repeat1, - ACTIONS(390), 2, + ACTIONS(392), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(388), 4, + ACTIONS(390), 4, anon_sym_GT, anon_sym_LT, anon_sym_PIPE, anon_sym_AMP, - ACTIONS(386), 14, + ACTIONS(388), 14, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -10234,28 +11293,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_PLUS, anon_sym_DASH, - anon_sym_RBRACK, - [8032] = 6, + [9232] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(382), 1, + ACTIONS(386), 1, anon_sym_SLASH, - STATE(107), 1, + STATE(112), 1, aux_sym_factor_repeat1, - ACTIONS(380), 2, + ACTIONS(384), 2, anon_sym_STAR, anon_sym_PERCENT, - ACTIONS(398), 4, + ACTIONS(400), 4, anon_sym_GT, anon_sym_LT, anon_sym_PIPE, anon_sym_AMP, - ACTIONS(396), 14, + ACTIONS(398), 14, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -10264,22 +11323,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_PLUS, anon_sym_DASH, - anon_sym_RBRACK, - [8068] = 3, + [9268] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(402), 5, + ACTIONS(404), 5, anon_sym_GT, anon_sym_LT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - ACTIONS(400), 16, + ACTIONS(402), 16, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -10290,22 +11349,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, - anon_sym_RBRACK, - [8097] = 3, + [9297] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(388), 5, + ACTIONS(408), 5, anon_sym_GT, anon_sym_LT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - ACTIONS(386), 16, + ACTIONS(406), 16, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -10316,22 +11375,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, - anon_sym_RBRACK, - [8126] = 3, + [9326] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(406), 5, + ACTIONS(390), 5, anon_sym_GT, anon_sym_LT, anon_sym_PIPE, anon_sym_AMP, anon_sym_SLASH, - ACTIONS(404), 16, + ACTIONS(388), 16, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, @@ -10342,114 +11401,138 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_STAR, anon_sym_PERCENT, - anon_sym_RBRACK, - [8155] = 5, + [9355] = 5, ACTIONS(3), 1, sym_comment, - STATE(113), 1, + STATE(120), 1, aux_sym_term_repeat1, - ACTIONS(412), 2, + ACTIONS(414), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(410), 4, + ACTIONS(412), 4, anon_sym_GT, anon_sym_LT, anon_sym_PIPE, anon_sym_AMP, - ACTIONS(408), 12, + ACTIONS(410), 12, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, + [9386] = 5, + ACTIONS(3), 1, + sym_comment, + STATE(119), 1, + aux_sym_term_repeat1, + ACTIONS(420), 2, + anon_sym_PLUS, + anon_sym_DASH, + ACTIONS(418), 4, + anon_sym_GT, + anon_sym_LT, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(416), 12, + anon_sym_SEMI, + anon_sym_CARET, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_RBRACE, anon_sym_RBRACK, - [8186] = 5, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [9417] = 5, ACTIONS(3), 1, sym_comment, - STATE(113), 1, + STATE(119), 1, aux_sym_term_repeat1, - ACTIONS(418), 2, + ACTIONS(414), 2, anon_sym_PLUS, anon_sym_DASH, - ACTIONS(416), 4, + ACTIONS(425), 4, anon_sym_GT, anon_sym_LT, anon_sym_PIPE, anon_sym_AMP, - ACTIONS(414), 12, + ACTIONS(423), 12, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_RBRACK, - [8217] = 5, + [9448] = 3, ACTIONS(3), 1, sym_comment, - STATE(112), 1, - aux_sym_term_repeat1, - ACTIONS(412), 2, - anon_sym_PLUS, - anon_sym_DASH, - ACTIONS(423), 4, + ACTIONS(418), 4, anon_sym_GT, anon_sym_LT, anon_sym_PIPE, anon_sym_AMP, - ACTIONS(421), 12, + ACTIONS(416), 14, anon_sym_SEMI, anon_sym_CARET, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_RBRACK, - [8248] = 3, + anon_sym_PLUS, + anon_sym_DASH, + [9474] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(416), 4, + STATE(122), 1, + aux_sym_comparison_repeat1, + ACTIONS(429), 2, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + ACTIONS(432), 2, anon_sym_GT, anon_sym_LT, + ACTIONS(435), 2, anon_sym_PIPE, anon_sym_AMP, - ACTIONS(414), 14, + ACTIONS(427), 10, anon_sym_SEMI, anon_sym_CARET, - anon_sym_GT_EQ, - anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_PLUS, - anon_sym_DASH, - anon_sym_RBRACK, - [8274] = 3, + [9505] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(425), 1, + ACTIONS(437), 1, sym_identifier, - ACTIONS(427), 16, + ACTIONS(439), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10466,12 +11549,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8299] = 3, + [9530] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(429), 1, + ACTIONS(441), 1, sym_identifier, - ACTIONS(431), 16, + ACTIONS(443), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10488,12 +11571,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8324] = 3, + [9555] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(433), 1, + ACTIONS(445), 1, sym_identifier, - ACTIONS(435), 16, + ACTIONS(447), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10510,37 +11593,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8349] = 6, - ACTIONS(3), 1, - sym_comment, - STATE(122), 1, - aux_sym_comparison_repeat1, - ACTIONS(439), 2, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - ACTIONS(441), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(443), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(437), 10, - anon_sym_SEMI, - anon_sym_CARET, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_RBRACK, - [8380] = 3, + [9580] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(445), 1, + ACTIONS(449), 1, sym_identifier, - ACTIONS(447), 16, + ACTIONS(451), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10557,62 +11615,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8405] = 6, + [9605] = 6, ACTIONS(3), 1, sym_comment, - STATE(119), 1, + STATE(122), 1, aux_sym_comparison_repeat1, - ACTIONS(439), 2, + ACTIONS(455), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(441), 2, + ACTIONS(457), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(451), 2, + ACTIONS(459), 2, anon_sym_PIPE, anon_sym_AMP, - ACTIONS(449), 10, + ACTIONS(453), 10, anon_sym_SEMI, anon_sym_CARET, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_RBRACK, - [8436] = 6, + [9636] = 6, ACTIONS(3), 1, sym_comment, - STATE(122), 1, + STATE(127), 1, aux_sym_comparison_repeat1, ACTIONS(455), 2, anon_sym_GT_EQ, anon_sym_LT_EQ, - ACTIONS(458), 2, + ACTIONS(457), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(461), 2, + ACTIONS(463), 2, anon_sym_PIPE, anon_sym_AMP, - ACTIONS(453), 10, + ACTIONS(461), 10, anon_sym_SEMI, anon_sym_CARET, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - anon_sym_RBRACK, - [8467] = 3, + [9667] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(463), 1, + ACTIONS(465), 1, sym_identifier, - ACTIONS(465), 16, + ACTIONS(467), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10629,12 +11687,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8492] = 3, + [9692] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(467), 1, + ACTIONS(469), 1, sym_identifier, - ACTIONS(469), 16, + ACTIONS(471), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10651,12 +11709,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8517] = 3, + [9717] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(471), 1, + ACTIONS(473), 1, sym_identifier, - ACTIONS(473), 16, + ACTIONS(475), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10673,12 +11731,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8542] = 3, + [9742] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(475), 1, + ACTIONS(477), 1, sym_identifier, - ACTIONS(477), 16, + ACTIONS(479), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10695,12 +11753,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8567] = 3, + [9767] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(479), 1, + ACTIONS(481), 1, sym_identifier, - ACTIONS(481), 16, + ACTIONS(483), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10717,12 +11775,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8592] = 3, + [9792] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(483), 1, + ACTIONS(485), 1, sym_identifier, - ACTIONS(485), 16, + ACTIONS(487), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, @@ -10739,20 +11797,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8617] = 4, + [9817] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(487), 1, + ACTIONS(489), 1, sym_identifier, - ACTIONS(491), 1, - anon_sym_else, - ACTIONS(489), 15, + ACTIONS(491), 16, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_LPAREN, anon_sym_return, anon_sym_require, anon_sym_if, + anon_sym_else, anon_sym_for, anon_sym_console_DOTlog, anon_sym_int, @@ -10762,7 +11819,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8644] = 3, + [9842] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(493), 1, @@ -10784,7 +11841,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8669] = 3, + [9867] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(497), 1, @@ -10806,7 +11863,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8694] = 3, + [9892] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(501), 1, @@ -10828,7 +11885,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8719] = 3, + [9917] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(505), 1, @@ -10850,7 +11907,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8744] = 3, + [9942] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(509), 1, @@ -10872,7 +11929,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8769] = 3, + [9967] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(513), 1, @@ -10894,7 +11951,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8794] = 3, + [9992] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(517), 1, @@ -10916,7 +11973,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8819] = 3, + [10017] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(521), 1, @@ -10938,7 +11995,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8844] = 3, + [10042] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(525), 1, @@ -10960,7 +12017,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8869] = 3, + [10067] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(529), 1, @@ -10982,7 +12039,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8894] = 3, + [10092] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(533), 1, @@ -11004,7 +12061,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8919] = 3, + [10117] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(537), 1, @@ -11026,7 +12083,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8944] = 3, + [10142] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(541), 1, @@ -11048,7 +12105,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8969] = 3, + [10167] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(545), 1, @@ -11070,7 +12127,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [8994] = 3, + [10192] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(549), 1, @@ -11092,7 +12149,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9019] = 3, + [10217] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(553), 1, @@ -11114,37 +12171,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9044] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(461), 4, - anon_sym_GT, - anon_sym_LT, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(453), 12, - anon_sym_SEMI, - anon_sym_CARET, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_RBRACK, - [9068] = 3, + [10242] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(557), 1, sym_identifier, - ACTIONS(559), 12, + ACTIONS(559), 16, + anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_struct, - anon_sym_entrypoint, - anon_sym_function, + anon_sym_LPAREN, + anon_sym_return, + anon_sym_require, + anon_sym_if, + anon_sym_else, + anon_sym_for, + anon_sym_console_DOTlog, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11152,17 +12193,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9089] = 3, + [10267] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(561), 1, sym_identifier, - ACTIONS(563), 12, + ACTIONS(565), 1, + anon_sym_else, + ACTIONS(563), 15, + anon_sym_LBRACE, anon_sym_RBRACE, - anon_sym_struct, - anon_sym_entrypoint, - anon_sym_function, + anon_sym_LPAREN, + anon_sym_return, + anon_sym_require, + anon_sym_if, + anon_sym_for, + anon_sym_console_DOTlog, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11170,57 +12216,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9110] = 5, + [10294] = 3, ACTIONS(3), 1, sym_comment, - STATE(150), 1, - aux_sym_equality_repeat1, - ACTIONS(567), 2, + ACTIONS(435), 4, + anon_sym_GT, + anon_sym_LT, anon_sym_PIPE, anon_sym_AMP, - ACTIONS(569), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(565), 8, + ACTIONS(427), 12, anon_sym_SEMI, anon_sym_CARET, + anon_sym_GT_EQ, + anon_sym_LT_EQ, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_RBRACK, - [9135] = 5, - ACTIONS(3), 1, - sym_comment, - STATE(165), 1, - aux_sym_equality_repeat1, - ACTIONS(569), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - ACTIONS(573), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(571), 8, - anon_sym_SEMI, - anon_sym_CARET, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_RBRACK, - [9160] = 3, + [10318] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(575), 1, + ACTIONS(360), 1, sym_identifier, - ACTIONS(577), 12, + ACTIONS(567), 1, anon_sym_RBRACE, - anon_sym_struct, - anon_sym_entrypoint, - anon_sym_function, + STATE(201), 1, + sym_base_type, + STATE(218), 1, + sym_builtin_type, + STATE(432), 1, + sym_type_name, + STATE(157), 2, + sym_struct_field_definition, + aux_sym_struct_definition_repeat1, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11228,17 +12261,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9181] = 3, + [10350] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(579), 1, + ACTIONS(569), 1, sym_identifier, - ACTIONS(581), 12, + ACTIONS(572), 1, anon_sym_RBRACE, - anon_sym_struct, - anon_sym_entrypoint, - anon_sym_function, + STATE(201), 1, + sym_base_type, + STATE(218), 1, + sym_builtin_type, + STATE(432), 1, + sym_type_name, + STATE(156), 2, + sym_struct_field_definition, + aux_sym_struct_definition_repeat1, + ACTIONS(574), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11246,17 +12285,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9202] = 3, + [10382] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(583), 1, + ACTIONS(360), 1, sym_identifier, - ACTIONS(585), 12, + ACTIONS(577), 1, anon_sym_RBRACE, - anon_sym_struct, - anon_sym_entrypoint, - anon_sym_function, + STATE(201), 1, + sym_base_type, + STATE(218), 1, + sym_builtin_type, + STATE(432), 1, + sym_type_name, + STATE(156), 2, + sym_struct_field_definition, + aux_sym_struct_definition_repeat1, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11264,17 +12309,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9223] = 3, + [10414] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(587), 1, + ACTIONS(579), 1, sym_identifier, - ACTIONS(589), 12, + ACTIONS(581), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11282,42 +12327,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9244] = 10, + [10435] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(31), 1, - sym_number, - ACTIONS(35), 1, - anon_sym_date, - ACTIONS(591), 1, - sym_identifier, - ACTIONS(593), 1, + STATE(159), 1, + aux_sym_equality_repeat1, + ACTIONS(585), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(587), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(583), 8, + anon_sym_SEMI, + anon_sym_CARET, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COMMA, anon_sym_RPAREN, - STATE(294), 1, - sym_console_parameter, - STATE(305), 1, - sym_literal, - ACTIONS(29), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(33), 2, - sym_string_literal, - sym_hex_literal, - STATE(102), 3, - sym_boolean_literal, - sym_number_literal, - sym_date_literal, - [9279] = 3, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [10460] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(595), 1, + ACTIONS(590), 1, sym_identifier, - ACTIONS(597), 12, + ACTIONS(592), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11325,42 +12365,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9300] = 10, + [10481] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(31), 1, - sym_number, - ACTIONS(35), 1, - anon_sym_date, - ACTIONS(591), 1, - sym_identifier, - ACTIONS(599), 1, + STATE(159), 1, + aux_sym_equality_repeat1, + ACTIONS(596), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(598), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(594), 8, + anon_sym_SEMI, + anon_sym_CARET, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COMMA, anon_sym_RPAREN, - STATE(251), 1, - sym_console_parameter, - STATE(305), 1, - sym_literal, - ACTIONS(29), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(33), 2, - sym_string_literal, - sym_hex_literal, - STATE(102), 3, - sym_boolean_literal, - sym_number_literal, - sym_date_literal, - [9335] = 3, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [10506] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(601), 1, + ACTIONS(437), 1, sym_identifier, - ACTIONS(603), 12, + ACTIONS(439), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11368,42 +12403,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9356] = 10, - ACTIONS(3), 1, - sym_comment, - ACTIONS(31), 1, - sym_number, - ACTIONS(35), 1, - anon_sym_date, - ACTIONS(591), 1, - sym_identifier, - ACTIONS(605), 1, - anon_sym_RPAREN, - STATE(294), 1, - sym_console_parameter, - STATE(305), 1, - sym_literal, - ACTIONS(29), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(33), 2, - sym_string_literal, - sym_hex_literal, - STATE(102), 3, - sym_boolean_literal, - sym_number_literal, - sym_date_literal, - [9391] = 3, + [10527] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(607), 1, + ACTIONS(600), 1, sym_identifier, - ACTIONS(609), 12, + ACTIONS(602), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11411,17 +12421,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9412] = 3, + [10548] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(611), 1, + ACTIONS(360), 1, sym_identifier, - ACTIONS(613), 12, - anon_sym_RBRACE, - anon_sym_struct, - anon_sym_entrypoint, - anon_sym_function, + ACTIONS(604), 1, + anon_sym_RPAREN, + STATE(201), 1, + sym_base_type, + STATE(218), 1, + sym_builtin_type, + STATE(308), 1, + sym_typed_binding, + STATE(448), 1, + sym_type_name, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11429,22 +12444,60 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9433] = 7, + [10579] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, - sym_identifier, - ACTIONS(615), 1, + STATE(161), 1, + aux_sym_equality_repeat1, + ACTIONS(598), 2, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + ACTIONS(608), 2, + anon_sym_PIPE, + anon_sym_AMP, + ACTIONS(606), 8, + anon_sym_SEMI, + anon_sym_CARET, anon_sym_RBRACE, - STATE(207), 1, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [10604] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(360), 1, + sym_identifier, + ACTIONS(610), 1, + anon_sym_RPAREN, + STATE(201), 1, sym_base_type, - STATE(332), 1, + STATE(218), 1, + sym_builtin_type, + STATE(297), 1, + sym_parameter, + STATE(439), 1, sym_type_name, - STATE(168), 2, - sym_struct_field_definition, - aux_sym_struct_definition_repeat1, - ACTIONS(27), 7, + ACTIONS(29), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + [10635] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(612), 1, + sym_identifier, + ACTIONS(614), 12, + anon_sym_RBRACE, + anon_sym_struct, + anon_sym_entrypoint, + anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11452,16 +12505,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9462] = 3, + [10656] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(617), 1, + ACTIONS(616), 1, sym_identifier, - ACTIONS(619), 12, + ACTIONS(618), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11469,22 +12523,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9483] = 7, + [10677] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(621), 1, + ACTIONS(360), 1, sym_identifier, - ACTIONS(624), 1, - anon_sym_RBRACE, - STATE(207), 1, + ACTIONS(620), 1, + anon_sym_RPAREN, + STATE(201), 1, sym_base_type, - STATE(332), 1, + STATE(218), 1, + sym_builtin_type, + STATE(297), 1, + sym_parameter, + STATE(439), 1, sym_type_name, - STATE(164), 2, - sym_struct_field_definition, - aux_sym_struct_definition_repeat1, - ACTIONS(626), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11492,36 +12546,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9512] = 5, - ACTIONS(3), 1, - sym_comment, - STATE(165), 1, - aux_sym_equality_repeat1, - ACTIONS(631), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(633), 2, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - ACTIONS(629), 8, - anon_sym_SEMI, - anon_sym_CARET, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_RBRACK, - [9537] = 3, + [10708] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(636), 1, + ACTIONS(360), 1, sym_identifier, - ACTIONS(638), 12, - anon_sym_RBRACE, - anon_sym_struct, - anon_sym_entrypoint, - anon_sym_function, + ACTIONS(622), 1, + anon_sym_RPAREN, + STATE(201), 1, + sym_base_type, + STATE(218), 1, + sym_builtin_type, + STATE(308), 1, + sym_typed_binding, + STATE(448), 1, + sym_type_name, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11529,17 +12569,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9558] = 3, + [10739] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(640), 1, + ACTIONS(624), 1, sym_identifier, - ACTIONS(642), 12, + ACTIONS(626), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11547,22 +12587,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9579] = 7, + [10760] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(628), 1, sym_identifier, - ACTIONS(644), 1, + ACTIONS(630), 12, anon_sym_RBRACE, - STATE(207), 1, - sym_base_type, - STATE(332), 1, - sym_type_name, - STATE(164), 2, - sym_struct_field_definition, - aux_sym_struct_definition_repeat1, - ACTIONS(27), 7, + anon_sym_struct, + anon_sym_entrypoint, + anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11570,16 +12605,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9608] = 3, + [10781] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(646), 1, + ACTIONS(632), 1, sym_identifier, - ACTIONS(648), 12, + ACTIONS(634), 12, anon_sym_RBRACE, anon_sym_struct, anon_sym_entrypoint, anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11587,21 +12623,22 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - sym_attribute, - [9629] = 7, + [10802] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(360), 1, sym_identifier, - ACTIONS(650), 1, + ACTIONS(636), 1, anon_sym_RPAREN, - STATE(207), 1, + STATE(201), 1, sym_base_type, - STATE(276), 1, - sym_typed_binding, - STATE(318), 1, + STATE(218), 1, + sym_builtin_type, + STATE(246), 1, + sym_parameter, + STATE(439), 1, sym_type_name, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11609,20 +12646,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9657] = 7, + [10833] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(638), 1, sym_identifier, - ACTIONS(652), 1, - anon_sym_RPAREN, - STATE(207), 1, - sym_base_type, - STATE(269), 1, - sym_parameter, - STATE(342), 1, - sym_type_name, - ACTIONS(27), 7, + ACTIONS(640), 12, + anon_sym_RBRACE, + anon_sym_struct, + anon_sym_entrypoint, + anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11630,20 +12664,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9685] = 7, + [10854] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(481), 1, sym_identifier, - ACTIONS(654), 1, - anon_sym_RPAREN, - STATE(207), 1, - sym_base_type, - STATE(269), 1, - sym_parameter, - STATE(342), 1, - sym_type_name, - ACTIONS(27), 7, + ACTIONS(483), 12, + anon_sym_RBRACE, + anon_sym_struct, + anon_sym_entrypoint, + anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11651,20 +12682,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9713] = 7, + [10875] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(642), 1, sym_identifier, - ACTIONS(656), 1, - anon_sym_RPAREN, - STATE(207), 1, - sym_base_type, - STATE(276), 1, - sym_typed_binding, - STATE(318), 1, - sym_type_name, - ACTIONS(27), 7, + ACTIONS(644), 12, + anon_sym_RBRACE, + anon_sym_struct, + anon_sym_entrypoint, + anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11672,20 +12700,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9741] = 7, + [10896] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(646), 1, sym_identifier, - ACTIONS(658), 1, - anon_sym_RPAREN, - STATE(207), 1, - sym_base_type, - STATE(250), 1, - sym_parameter, - STATE(342), 1, - sym_type_name, - ACTIONS(27), 7, + ACTIONS(648), 12, + anon_sym_RBRACE, + anon_sym_struct, + anon_sym_entrypoint, + anon_sym_function, + anon_sym_POUND_LBRACK, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11693,58 +12718,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9769] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(31), 1, - sym_number, - ACTIONS(35), 1, - anon_sym_date, - ACTIONS(591), 1, - sym_identifier, - STATE(294), 1, - sym_console_parameter, - STATE(305), 1, - sym_literal, - ACTIONS(29), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(33), 2, - sym_string_literal, - sym_hex_literal, - STATE(102), 3, - sym_boolean_literal, - sym_number_literal, - sym_date_literal, - [9801] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(631), 2, - anon_sym_PIPE, - anon_sym_AMP, - ACTIONS(629), 10, - anon_sym_SEMI, - anon_sym_CARET, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_RBRACK, - [9821] = 6, + [10917] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(360), 1, sym_identifier, - ACTIONS(660), 1, - anon_sym_RPAREN, - STATE(207), 1, + STATE(201), 1, sym_base_type, - STATE(253), 1, + STATE(218), 1, + sym_builtin_type, + STATE(297), 1, + sym_parameter, + STATE(439), 1, sym_type_name, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11752,18 +12739,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9846] = 6, + [10945] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(360), 1, sym_identifier, - ACTIONS(662), 1, - anon_sym_RPAREN, - STATE(207), 1, + STATE(201), 1, sym_base_type, - STATE(280), 1, + STATE(218), 1, + sym_builtin_type, + STATE(308), 1, + sym_typed_binding, + STATE(448), 1, sym_type_name, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11771,18 +12760,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9871] = 6, + [10973] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(360), 1, sym_identifier, - ACTIONS(664), 1, + ACTIONS(650), 1, anon_sym_RPAREN, - STATE(207), 1, + STATE(201), 1, sym_base_type, - STATE(280), 1, + STATE(218), 1, + sym_builtin_type, + STATE(273), 1, sym_type_name, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11790,36 +12781,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9896] = 5, + [11001] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(668), 1, + ACTIONS(585), 2, anon_sym_PIPE, - ACTIONS(670), 1, anon_sym_AMP, - STATE(184), 1, - aux_sym_bit_and_repeat1, - ACTIONS(666), 8, + ACTIONS(583), 10, anon_sym_SEMI, anon_sym_CARET, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_RBRACK, - [9919] = 6, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + [11021] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(360), 1, sym_identifier, - STATE(207), 1, + STATE(201), 1, sym_base_type, - STATE(269), 1, - sym_parameter, - STATE(342), 1, + STATE(218), 1, + sym_builtin_type, + STATE(289), 1, + sym_typed_binding, + STATE(448), 1, sym_type_name, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11827,74 +12819,41 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [9944] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(676), 1, - sym_version_literal, - STATE(187), 1, - sym_version_constraint, - STATE(330), 1, - sym_pragma_value, - STATE(341), 1, - sym_version_operator, - ACTIONS(674), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(672), 5, - anon_sym_CARET, - anon_sym_TILDE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - [9971] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(680), 1, - anon_sym_PIPE, - ACTIONS(682), 1, - anon_sym_AMP, - STATE(183), 1, - aux_sym_bit_and_repeat1, - ACTIONS(678), 8, - anon_sym_SEMI, - anon_sym_CARET, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_RBRACK, - [9994] = 5, + [11049] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(670), 1, - anon_sym_AMP, - ACTIONS(687), 1, - anon_sym_PIPE, - STATE(183), 1, - aux_sym_bit_and_repeat1, - ACTIONS(685), 8, - anon_sym_SEMI, - anon_sym_CARET, - anon_sym_RBRACE, - anon_sym_COMMA, + ACTIONS(360), 1, + sym_identifier, + ACTIONS(652), 1, anon_sym_RPAREN, - anon_sym_PIPE_PIPE, - anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10017] = 6, + STATE(201), 1, + sym_base_type, + STATE(218), 1, + sym_builtin_type, + STATE(334), 1, + sym_type_name, + ACTIONS(29), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + [11077] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(360), 1, sym_identifier, - STATE(207), 1, + ACTIONS(654), 1, + anon_sym_RPAREN, + STATE(201), 1, sym_base_type, - STATE(276), 1, - sym_typed_binding, - STATE(318), 1, + STATE(218), 1, + sym_builtin_type, + STATE(334), 1, sym_type_name, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11902,18 +12861,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [10042] = 6, + [11105] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(360), 1, sym_identifier, - STATE(207), 1, + ACTIONS(656), 1, + anon_sym_LPAREN, + STATE(201), 1, sym_base_type, - STATE(239), 1, - sym_typed_binding, - STATE(318), 1, + STATE(218), 1, + sym_builtin_type, + STATE(294), 1, sym_type_name, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11921,53 +12882,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [10067] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(676), 1, - sym_version_literal, - ACTIONS(689), 1, - anon_sym_SEMI, - STATE(331), 1, - sym_version_constraint, - STATE(341), 1, - sym_version_operator, - ACTIONS(674), 2, - anon_sym_GT, - anon_sym_LT, - ACTIONS(672), 5, - anon_sym_CARET, - anon_sym_TILDE, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - [10094] = 5, + [11133] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(693), 1, - anon_sym_CARET, - ACTIONS(695), 1, + ACTIONS(660), 1, anon_sym_PIPE, - STATE(193), 1, - aux_sym_bit_xor_repeat1, - ACTIONS(691), 7, + ACTIONS(662), 1, + anon_sym_AMP, + STATE(191), 1, + aux_sym_bit_and_repeat1, + ACTIONS(658), 8, anon_sym_SEMI, + anon_sym_CARET, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10116] = 5, + [11156] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(360), 1, sym_identifier, - STATE(207), 1, + STATE(201), 1, sym_base_type, - STATE(280), 1, + STATE(218), 1, + sym_builtin_type, + STATE(402), 1, sym_type_name, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11975,16 +12919,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [10138] = 5, + [11181] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(344), 1, + ACTIONS(360), 1, sym_identifier, - STATE(207), 1, + STATE(201), 1, sym_base_type, - STATE(317), 1, + STATE(218), 1, + sym_builtin_type, + STATE(357), 1, sym_type_name, - ACTIONS(27), 7, + ACTIONS(29), 7, anon_sym_int, anon_sym_bool, anon_sym_string, @@ -11992,137 +12938,191 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_sig, anon_sym_datasig, anon_sym_byte, - [10160] = 5, + [11206] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(699), 1, - anon_sym_CARET, - ACTIONS(702), 1, + ACTIONS(360), 1, + sym_identifier, + STATE(201), 1, + sym_base_type, + STATE(218), 1, + sym_builtin_type, + STATE(334), 1, + sym_type_name, + ACTIONS(29), 7, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + [11231] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(662), 1, + anon_sym_AMP, + ACTIONS(666), 1, anon_sym_PIPE, - STATE(191), 1, - aux_sym_bit_xor_repeat1, - ACTIONS(697), 7, + STATE(193), 1, + aux_sym_bit_and_repeat1, + ACTIONS(664), 8, anon_sym_SEMI, + anon_sym_CARET, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10182] = 3, + [11254] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(672), 1, + sym_version_literal, + STATE(194), 1, + sym_version_constraint, + STATE(360), 1, + sym_pragma_value, + STATE(372), 1, + sym_version_operator, + ACTIONS(670), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(668), 5, + anon_sym_CARET, + anon_sym_TILDE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + [11281] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(680), 2, + ACTIONS(676), 1, anon_sym_PIPE, + ACTIONS(678), 1, anon_sym_AMP, - ACTIONS(678), 8, + STATE(193), 1, + aux_sym_bit_and_repeat1, + ACTIONS(674), 8, anon_sym_SEMI, anon_sym_CARET, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10200] = 5, + [11304] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(693), 1, + ACTIONS(672), 1, + sym_version_literal, + ACTIONS(681), 1, + anon_sym_SEMI, + STATE(372), 1, + sym_version_operator, + STATE(420), 1, + sym_version_constraint, + ACTIONS(670), 2, + anon_sym_GT, + anon_sym_LT, + ACTIONS(668), 5, anon_sym_CARET, - ACTIONS(706), 1, + anon_sym_TILDE, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + [11331] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(676), 2, anon_sym_PIPE, - STATE(191), 1, - aux_sym_bit_xor_repeat1, - ACTIONS(704), 7, + anon_sym_AMP, + ACTIONS(674), 8, anon_sym_SEMI, + anon_sym_CARET, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10222] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(344), 1, - sym_identifier, - STATE(207), 1, - sym_base_type, - STATE(355), 1, - sym_type_name, - ACTIONS(27), 7, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - [10244] = 4, + [11349] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(710), 1, + ACTIONS(685), 1, + anon_sym_CARET, + ACTIONS(687), 1, anon_sym_PIPE, - STATE(195), 1, - aux_sym_bit_or_repeat1, - ACTIONS(708), 7, + STATE(198), 1, + aux_sym_bit_xor_repeat1, + ACTIONS(683), 7, anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10263] = 3, + [11371] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(713), 1, + ACTIONS(689), 1, sym_identifier, - ACTIONS(715), 8, - anon_sym_RBRACE, - anon_sym_int, - anon_sym_bool, - anon_sym_string, - anon_sym_pubkey, - anon_sym_sig, - anon_sym_datasig, - anon_sym_byte, - [10280] = 3, + ACTIONS(693), 1, + anon_sym_LBRACK, + STATE(197), 2, + sym_array_suffix, + aux_sym_cast_type_name_repeat1, + ACTIONS(691), 6, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_constant, + [11393] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(702), 1, + ACTIONS(685), 1, + anon_sym_CARET, + ACTIONS(698), 1, anon_sym_PIPE, - ACTIONS(697), 8, + STATE(199), 1, + aux_sym_bit_xor_repeat1, + ACTIONS(696), 7, anon_sym_SEMI, - anon_sym_CARET, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10297] = 4, + [11415] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(719), 1, + ACTIONS(702), 1, + anon_sym_CARET, + ACTIONS(705), 1, anon_sym_PIPE, - STATE(201), 1, - aux_sym_bit_or_repeat1, - ACTIONS(717), 7, + STATE(199), 1, + aux_sym_bit_xor_repeat1, + ACTIONS(700), 7, anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10316] = 3, + [11437] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(723), 2, + ACTIONS(709), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(721), 7, + ACTIONS(707), 7, anon_sym_SEMI, anon_sym_CARET, anon_sym_TILDE, @@ -12130,13 +13130,74 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_EQ, sym_version_literal, - [10333] = 3, + [11454] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(711), 1, + sym_identifier, + ACTIONS(715), 1, + anon_sym_LBRACK, + STATE(202), 2, + sym_array_suffix, + aux_sym_cast_type_name_repeat1, + ACTIONS(713), 5, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_constant, + [11475] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(715), 1, + anon_sym_LBRACK, + ACTIONS(717), 1, + sym_identifier, + STATE(197), 2, + sym_array_suffix, + aux_sym_cast_type_name_repeat1, + ACTIONS(719), 5, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_constant, + [11496] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(723), 1, + anon_sym_PIPE, + STATE(206), 1, + aux_sym_bit_or_repeat1, + ACTIONS(721), 7, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [11515] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(725), 1, + sym_identifier, + ACTIONS(727), 8, + anon_sym_RBRACE, + anon_sym_int, + anon_sym_bool, + anon_sym_string, + anon_sym_pubkey, + anon_sym_sig, + anon_sym_datasig, + anon_sym_byte, + [11532] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(727), 2, + ACTIONS(731), 2, anon_sym_GT, anon_sym_LT, - ACTIONS(725), 7, + ACTIONS(729), 7, anon_sym_SEMI, anon_sym_CARET, anon_sym_TILDE, @@ -12144,2051 +13205,2388 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT_EQ, anon_sym_EQ, sym_version_literal, - [10350] = 4, + [11549] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(719), 1, + ACTIONS(723), 1, anon_sym_PIPE, - STATE(195), 1, + STATE(208), 1, aux_sym_bit_or_repeat1, - ACTIONS(729), 7, + ACTIONS(733), 7, anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10369] = 4, + [11568] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(733), 1, - anon_sym_AMP_AMP, - STATE(204), 1, - aux_sym_logical_and_repeat1, - ACTIONS(731), 6, + ACTIONS(705), 1, + anon_sym_PIPE, + ACTIONS(700), 8, anon_sym_SEMI, + anon_sym_CARET, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, - anon_sym_RBRACK, - [10387] = 3, + anon_sym_AMP_AMP, + [11585] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(735), 1, + ACTIONS(737), 1, anon_sym_PIPE, - ACTIONS(708), 7, + STATE(208), 1, + aux_sym_bit_or_repeat1, + ACTIONS(735), 7, anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10403] = 4, + [11604] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(740), 1, + sym_identifier, + ACTIONS(742), 7, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_LPAREN, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_constant, + anon_sym_LBRACK, + [11620] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(739), 1, + ACTIONS(746), 1, anon_sym_AMP_AMP, - STATE(204), 1, + STATE(210), 1, aux_sym_logical_and_repeat1, - ACTIONS(737), 6, + ACTIONS(744), 6, anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, - anon_sym_RBRACK, - [10421] = 4, + [11638] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(733), 1, + ACTIONS(751), 1, anon_sym_AMP_AMP, - STATE(202), 1, + STATE(210), 1, aux_sym_logical_and_repeat1, - ACTIONS(742), 6, + ACTIONS(749), 6, anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, - anon_sym_RBRACK, - [10439] = 5, + [11656] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(744), 1, - sym_identifier, - ACTIONS(748), 1, - anon_sym_LBRACK, - STATE(206), 2, - sym_array_suffix, - aux_sym_type_name_repeat1, - ACTIONS(746), 4, - anon_sym_constant, - anon_sym_LPAREN, + ACTIONS(753), 1, + anon_sym_PIPE, + ACTIONS(735), 7, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, - [10459] = 5, + anon_sym_PIPE_PIPE, + anon_sym_AMP_AMP, + [11672] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(751), 1, - sym_identifier, ACTIONS(755), 1, - anon_sym_LBRACK, - STATE(209), 2, - sym_array_suffix, - aux_sym_type_name_repeat1, - ACTIONS(753), 4, - anon_sym_constant, + sym_identifier, + ACTIONS(757), 7, + anon_sym_SEMI, + anon_sym_LBRACE, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, - [10479] = 8, + anon_sym_constant, + anon_sym_LBRACK, + [11688] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(757), 1, - sym_identifier, + ACTIONS(194), 1, + anon_sym_LPAREN, ACTIONS(759), 1, + sym_identifier, + ACTIONS(761), 1, anon_sym_EQ, - ACTIONS(763), 1, - anon_sym_LPAREN, ACTIONS(765), 1, anon_sym_COLON, ACTIONS(767), 1, anon_sym_DOTpush, - STATE(81), 1, + STATE(70), 1, sym_expression_list, - ACTIONS(761), 2, + ACTIONS(763), 2, anon_sym_constant, anon_sym_LBRACK, - [10505] = 5, + [11714] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(755), 1, - anon_sym_LBRACK, ACTIONS(769), 1, sym_identifier, - STATE(206), 2, - sym_array_suffix, - aux_sym_type_name_repeat1, - ACTIONS(771), 4, - anon_sym_constant, + ACTIONS(771), 7, + anon_sym_SEMI, + anon_sym_LBRACE, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_RPAREN, - [10525] = 4, + anon_sym_constant, + anon_sym_LBRACK, + [11730] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(751), 1, + anon_sym_AMP_AMP, + STATE(211), 1, + aux_sym_logical_and_repeat1, + ACTIONS(773), 6, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE_PIPE, + [11748] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(777), 1, + anon_sym_PIPE_PIPE, + STATE(217), 1, + aux_sym_logical_or_repeat1, + ACTIONS(775), 5, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + [11765] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(775), 1, - anon_sym_PIPE_PIPE, - STATE(210), 1, - aux_sym_logical_or_repeat1, - ACTIONS(773), 5, + ACTIONS(759), 1, + sym_identifier, + ACTIONS(763), 6, anon_sym_SEMI, - anon_sym_RBRACE, + anon_sym_LBRACE, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_RBRACK, - [10542] = 2, + anon_sym_constant, + anon_sym_LBRACK, + [11780] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(737), 7, + ACTIONS(744), 7, anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, anon_sym_AMP_AMP, - anon_sym_RBRACK, - [10555] = 4, + [11793] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(780), 1, + ACTIONS(782), 1, anon_sym_PIPE_PIPE, - STATE(214), 1, + STATE(217), 1, aux_sym_logical_or_repeat1, - ACTIONS(778), 5, + ACTIONS(780), 5, anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, + [11810] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(782), 1, + anon_sym_PIPE_PIPE, + STATE(220), 1, + aux_sym_logical_or_repeat1, + ACTIONS(784), 5, + anon_sym_SEMI, + anon_sym_RBRACE, anon_sym_RBRACK, - [10572] = 7, + anon_sym_COMMA, + anon_sym_RPAREN, + [11827] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(757), 1, - sym_identifier, + ACTIONS(194), 1, + anon_sym_LPAREN, ACTIONS(759), 1, + sym_identifier, + ACTIONS(761), 1, anon_sym_EQ, - ACTIONS(763), 1, - anon_sym_LPAREN, ACTIONS(767), 1, anon_sym_DOTpush, - STATE(81), 1, + STATE(70), 1, sym_expression_list, - ACTIONS(761), 2, + ACTIONS(763), 2, anon_sym_constant, anon_sym_LBRACK, - [10595] = 4, + [11850] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(780), 1, - anon_sym_PIPE_PIPE, - STATE(210), 1, - aux_sym_logical_or_repeat1, - ACTIONS(782), 5, + ACTIONS(775), 6, anon_sym_SEMI, anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, anon_sym_RBRACK, - [10612] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(773), 6, - anon_sym_SEMI, - anon_sym_RBRACE, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_PIPE_PIPE, - anon_sym_RBRACK, - [10624] = 3, + [11862] = 3, ACTIONS(3), 1, sym_comment, - STATE(79), 1, + STATE(77), 1, sym_input_field_name, - ACTIONS(784), 5, + ACTIONS(786), 5, anon_sym_value, anon_sym_scriptPubKey, anon_sym_outpointTransactionHash, anon_sym_outpointIndex, anon_sym_sigScript, - [10638] = 3, + [11876] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5), 1, + anon_sym_pragma, + ACTIONS(7), 1, + anon_sym_contract, + STATE(418), 1, + sym_contract_definition, + STATE(234), 2, + sym_pragma_directive, + aux_sym_contract_source_file_repeat1, + [11893] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(786), 1, - sym_identifier, ACTIONS(788), 5, - anon_sym_constant, - anon_sym_LPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_LBRACK, - [10652] = 3, + [11904] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(790), 1, + ACTIONS(792), 1, + anon_sym_RBRACK, + STATE(376), 1, + sym_array_size, + ACTIONS(790), 3, + anon_sym__, + sym_array_bound, sym_identifier, - ACTIONS(792), 5, - anon_sym_constant, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACK, - [10666] = 3, + [11919] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(757), 1, - sym_identifier, - ACTIONS(761), 5, - anon_sym_constant, - anon_sym_LPAREN, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_LBRACK, - [10680] = 2, + ACTIONS(370), 1, + anon_sym_POUND_LBRACK, + ACTIONS(794), 1, + anon_sym_entrypoint, + ACTIONS(796), 1, + anon_sym_function, + STATE(229), 2, + sym_function_attribute, + aux_sym_function_definition_repeat1, + [11936] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(794), 5, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(800), 1, + anon_sym_POUND_LBRACK, + ACTIONS(798), 2, + anon_sym_entrypoint, + anon_sym_function, + STATE(229), 2, + sym_function_attribute, + aux_sym_function_definition_repeat1, + [11951] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(805), 1, + anon_sym_DOT, + STATE(230), 1, + aux_sym_attribute_path_repeat1, + ACTIONS(803), 2, anon_sym_RBRACK, - [10691] = 5, + anon_sym_LPAREN, + [11965] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(5), 1, - anon_sym_pragma, - ACTIONS(7), 1, - anon_sym_contract, - STATE(364), 1, - sym_contract_definition, - STATE(222), 2, - sym_pragma_directive, - aux_sym_source_file_repeat1, - [10708] = 4, + ACTIONS(808), 1, + anon_sym_LBRACE, + ACTIONS(810), 1, + anon_sym_COLON, + STATE(178), 1, + sym_braced_block, + STATE(296), 1, + sym_return_type_list, + [11981] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(796), 1, + ACTIONS(9), 1, + anon_sym_function, + ACTIONS(812), 1, + ts_builtin_sym_end, + STATE(235), 2, + sym_builtin_function_declaration, + aux_sym_declaration_source_file_repeat1, + [11995] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(814), 1, + sym_identifier, + ACTIONS(816), 1, + anon_sym_constant, + STATE(237), 2, + sym_modifier, + aux_sym_variable_definition_repeat1, + [12009] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(818), 1, anon_sym_pragma, - ACTIONS(799), 1, + ACTIONS(821), 1, anon_sym_contract, - STATE(222), 2, + STATE(234), 2, sym_pragma_directive, - aux_sym_source_file_repeat1, - [10722] = 4, + aux_sym_contract_source_file_repeat1, + [12023] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(823), 1, + ts_builtin_sym_end, + ACTIONS(825), 1, + anon_sym_function, + STATE(235), 2, + sym_builtin_function_declaration, + aux_sym_declaration_source_file_repeat1, + [12037] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(715), 1, + anon_sym_LBRACK, + ACTIONS(828), 1, + anon_sym_LPAREN, + STATE(243), 2, + sym_array_suffix, + aux_sym_cast_type_name_repeat1, + [12051] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(830), 1, + sym_identifier, + ACTIONS(832), 1, + anon_sym_constant, + STATE(237), 2, + sym_modifier, + aux_sym_variable_definition_repeat1, + [12065] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(801), 1, + ACTIONS(837), 1, anon_sym_COMMA, - STATE(223), 1, - aux_sym_expression_list_repeat1, - ACTIONS(804), 2, + STATE(238), 1, + aux_sym_return_expression_list_repeat1, + ACTIONS(835), 2, + anon_sym_RBRACK, anon_sym_RPAREN, + [12079] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(816), 1, + anon_sym_constant, + ACTIONS(840), 1, + sym_identifier, + STATE(233), 2, + sym_modifier, + aux_sym_variable_definition_repeat1, + [12093] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(844), 1, + anon_sym_DOT, + STATE(242), 1, + aux_sym_attribute_path_repeat1, + ACTIONS(842), 2, anon_sym_RBRACK, - [10736] = 4, + anon_sym_LPAREN, + [12107] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(808), 1, + anon_sym_LBRACE, + ACTIONS(810), 1, + anon_sym_COLON, + STATE(175), 1, + sym_braced_block, + STATE(341), 1, + sym_return_type_list, + [12123] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(844), 1, + anon_sym_DOT, + STATE(230), 1, + aux_sym_attribute_path_repeat1, + ACTIONS(846), 2, anon_sym_RBRACK, - STATE(374), 1, - sym_array_size, - ACTIONS(806), 2, - sym_array_bound, - sym_identifier, - [10750] = 5, + anon_sym_LPAREN, + [12137] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(715), 1, + anon_sym_LBRACK, + ACTIONS(848), 1, + anon_sym_LPAREN, + STATE(197), 2, + sym_array_suffix, + aux_sym_cast_type_name_repeat1, + [12151] = 5, ACTIONS(3), 1, sym_comment, + ACTIONS(808), 1, + anon_sym_LBRACE, ACTIONS(810), 1, + anon_sym_COLON, + STATE(172), 1, + sym_braced_block, + STATE(333), 1, + sym_return_type_list, + [12167] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(850), 3, anon_sym_entrypoint, - ACTIONS(812), 1, anon_sym_function, - ACTIONS(814), 1, - sym_attribute, - STATE(229), 1, - aux_sym_function_definition_repeat1, - [10766] = 4, + anon_sym_POUND_LBRACK, + [12176] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(816), 1, - sym_identifier, - ACTIONS(818), 1, - anon_sym_constant, - STATE(227), 2, - sym_modifier, - aux_sym_variable_definition_repeat1, - [10780] = 4, + ACTIONS(852), 1, + anon_sym_COMMA, + ACTIONS(854), 1, + anon_sym_RPAREN, + STATE(277), 1, + aux_sym_parameter_list_repeat1, + [12189] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(818), 1, - anon_sym_constant, - ACTIONS(820), 1, + ACTIONS(856), 1, sym_identifier, - STATE(228), 2, - sym_modifier, - aux_sym_variable_definition_repeat1, - [10794] = 4, + ACTIONS(858), 1, + anon_sym_RBRACE, + STATE(307), 1, + sym_state_typed_binding, + [12202] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(822), 1, - sym_identifier, - ACTIONS(824), 1, - anon_sym_constant, - STATE(228), 2, - sym_modifier, - aux_sym_variable_definition_repeat1, - [10808] = 4, + ACTIONS(858), 1, + anon_sym_RBRACE, + ACTIONS(860), 1, + anon_sym_COMMA, + STATE(263), 1, + aux_sym_state_function_call_assignment_repeat1, + [12215] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(829), 1, - sym_attribute, - STATE(229), 1, - aux_sym_function_definition_repeat1, - ACTIONS(827), 2, + ACTIONS(862), 1, + anon_sym_COMMA, + ACTIONS(865), 1, + anon_sym_RPAREN, + STATE(249), 1, + aux_sym_return_type_list_repeat1, + [12228] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(622), 1, + anon_sym_RPAREN, + ACTIONS(867), 1, + anon_sym_COMMA, + STATE(264), 1, + aux_sym_function_call_assignment_repeat1, + [12241] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(869), 1, + anon_sym_COMMA, + ACTIONS(871), 1, + anon_sym_RPAREN, + STATE(267), 1, + aux_sym_console_parameter_list_repeat1, + [12254] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(873), 3, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COLON, + [12263] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(875), 3, anon_sym_entrypoint, anon_sym_function, - [10822] = 4, + anon_sym_POUND_LBRACK, + [12272] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(832), 1, + ACTIONS(877), 1, + sym_identifier, + ACTIONS(879), 1, + anon_sym_RBRACE, + STATE(302), 1, + sym_state_entry, + [12285] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(881), 1, anon_sym_RBRACE, - ACTIONS(834), 1, + ACTIONS(883), 1, anon_sym_COMMA, - STATE(257), 1, + STATE(255), 1, aux_sym_state_object_repeat1, - [10835] = 4, + [12298] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(886), 1, + anon_sym_COMMA, + ACTIONS(889), 1, + anon_sym_RPAREN, + STATE(256), 1, + aux_sym_parameter_list_repeat1, + [12311] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(835), 3, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + [12320] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(891), 1, + anon_sym_COMMA, + ACTIONS(893), 1, + anon_sym_RPAREN, + STATE(259), 1, + aux_sym_return_expression_list_repeat1, + [12333] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(836), 1, - anon_sym_COMMA, - ACTIONS(838), 1, + ACTIONS(65), 1, anon_sym_RPAREN, - STATE(256), 1, - aux_sym_expression_list_repeat1, - [10848] = 4, + ACTIONS(895), 1, + anon_sym_COMMA, + STATE(238), 1, + aux_sym_return_expression_list_repeat1, + [12346] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(840), 1, + ACTIONS(897), 3, + anon_sym_SEMI, anon_sym_LBRACE, - ACTIONS(842), 1, anon_sym_COLON, - STATE(356), 1, - sym_return_type_list, - [10861] = 4, + [12355] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(593), 1, + ACTIONS(899), 1, + sym_identifier, + ACTIONS(901), 1, anon_sym_RPAREN, - ACTIONS(844), 1, - anon_sym_COMMA, - STATE(237), 1, - aux_sym_console_parameter_list_repeat1, - [10874] = 3, - ACTIONS(3), 1, - sym_comment, - STATE(77), 1, - sym_output_field_name, - ACTIONS(846), 2, - anon_sym_value, - anon_sym_scriptPubKey, - [10885] = 4, + STATE(305), 1, + sym_attribute_arg, + [12368] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(848), 1, + ACTIONS(856), 1, sym_identifier, - ACTIONS(850), 1, + ACTIONS(903), 1, anon_sym_RBRACE, - STATE(275), 1, + STATE(307), 1, sym_state_typed_binding, - [10898] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(842), 1, - anon_sym_COLON, - ACTIONS(852), 1, - anon_sym_LBRACE, - STATE(401), 1, - sym_return_type_list, - [10911] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(854), 1, - anon_sym_COMMA, - ACTIONS(857), 1, - anon_sym_RPAREN, - STATE(237), 1, - aux_sym_console_parameter_list_repeat1, - [10924] = 4, + [12381] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(859), 1, + ACTIONS(905), 1, anon_sym_RBRACE, - ACTIONS(861), 1, + ACTIONS(907), 1, anon_sym_COMMA, - STATE(246), 1, + STATE(263), 1, aux_sym_state_function_call_assignment_repeat1, - [10937] = 4, + [12394] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(863), 1, + ACTIONS(910), 1, anon_sym_COMMA, - ACTIONS(865), 1, + ACTIONS(913), 1, anon_sym_RPAREN, - STATE(249), 1, + STATE(264), 1, aux_sym_function_call_assignment_repeat1, - [10950] = 4, + [12407] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(842), 1, - anon_sym_COLON, - ACTIONS(867), 1, - anon_sym_LBRACE, - STATE(386), 1, - sym_return_type_list, - [10963] = 4, + ACTIONS(915), 1, + anon_sym_COMMA, + ACTIONS(918), 1, + anon_sym_RPAREN, + STATE(265), 1, + aux_sym_attribute_args_repeat1, + [12420] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(869), 1, + ACTIONS(920), 1, anon_sym_RBRACE, - ACTIONS(871), 1, + ACTIONS(922), 1, anon_sym_COMMA, - STATE(241), 1, - aux_sym_state_function_call_assignment_repeat1, - [10976] = 4, + STATE(283), 1, + aux_sym_state_object_repeat1, + [12433] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(654), 1, + ACTIONS(47), 1, anon_sym_RPAREN, - ACTIONS(874), 1, + ACTIONS(924), 1, anon_sym_COMMA, - STATE(259), 1, - aux_sym_parameter_list_repeat1, - [10989] = 4, + STATE(275), 1, + aux_sym_console_parameter_list_repeat1, + [12446] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(876), 1, + ACTIONS(926), 1, + anon_sym_SEMI, + ACTIONS(928), 1, + anon_sym_EQ, + ACTIONS(930), 1, anon_sym_COMMA, - ACTIONS(879), 1, - anon_sym_RPAREN, - STATE(243), 1, - aux_sym_return_type_list_repeat1, - [11002] = 4, + [12459] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(881), 1, + ACTIONS(932), 1, + anon_sym_RBRACK, + ACTIONS(934), 1, anon_sym_COMMA, - ACTIONS(884), 1, - anon_sym_RPAREN, - STATE(244), 1, - aux_sym_function_call_assignment_repeat1, - [11015] = 4, + STATE(285), 1, + aux_sym_return_expression_list_repeat1, + [12472] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(848), 1, + ACTIONS(936), 1, + anon_sym_RBRACK, + ACTIONS(938), 1, + anon_sym_LPAREN, + STATE(415), 1, + sym_attribute_args, + [12485] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(877), 1, sym_identifier, - ACTIONS(886), 1, + ACTIONS(940), 1, anon_sym_RBRACE, - STATE(275), 1, - sym_state_typed_binding, - [11028] = 4, + STATE(266), 1, + sym_state_entry, + [12498] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(886), 1, - anon_sym_RBRACE, - ACTIONS(888), 1, + ACTIONS(942), 1, anon_sym_COMMA, - STATE(241), 1, - aux_sym_state_function_call_assignment_repeat1, - [11041] = 4, + ACTIONS(944), 1, + anon_sym_RPAREN, + STATE(281), 1, + aux_sym_return_expression_list_repeat1, + [12511] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(47), 1, - anon_sym_RBRACK, - ACTIONS(890), 1, + ACTIONS(946), 1, anon_sym_COMMA, - STATE(223), 1, - aux_sym_expression_list_repeat1, - [11054] = 4, + ACTIONS(948), 1, + anon_sym_RPAREN, + STATE(282), 1, + aux_sym_return_type_list_repeat1, + [12524] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(892), 1, + ACTIONS(950), 3, anon_sym_SEMI, - ACTIONS(894), 1, - anon_sym_EQ, - ACTIONS(896), 1, - anon_sym_COMMA, - [11067] = 4, + anon_sym_LBRACE, + anon_sym_COLON, + [12533] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(650), 1, - anon_sym_RPAREN, - ACTIONS(898), 1, + ACTIONS(952), 1, anon_sym_COMMA, - STATE(244), 1, - aux_sym_function_call_assignment_repeat1, - [11080] = 4, + ACTIONS(955), 1, + anon_sym_RPAREN, + STATE(275), 1, + aux_sym_console_parameter_list_repeat1, + [12546] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(900), 1, - anon_sym_COMMA, - ACTIONS(902), 1, + ACTIONS(810), 1, + anon_sym_COLON, + ACTIONS(957), 1, + anon_sym_SEMI, + STATE(346), 1, + sym_return_type_list, + [12559] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(610), 1, anon_sym_RPAREN, - STATE(242), 1, + ACTIONS(959), 1, + anon_sym_COMMA, + STATE(256), 1, aux_sym_parameter_list_repeat1, - [11093] = 4, + [12572] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(877), 1, + sym_identifier, + ACTIONS(961), 1, + anon_sym_RBRACE, + STATE(302), 1, + sym_state_entry, + [12585] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(904), 1, + ACTIONS(963), 1, anon_sym_COMMA, - ACTIONS(906), 1, + ACTIONS(965), 1, anon_sym_RPAREN, - STATE(233), 1, - aux_sym_console_parameter_list_repeat1, - [11106] = 2, + STATE(291), 1, + aux_sym_attribute_args_repeat1, + [12598] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(804), 3, - anon_sym_COMMA, + ACTIONS(899), 1, + sym_identifier, + ACTIONS(967), 1, anon_sym_RPAREN, - anon_sym_RBRACK, - [11115] = 4, + STATE(279), 1, + sym_attribute_arg, + [12611] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(908), 1, + ACTIONS(71), 1, + anon_sym_RPAREN, + ACTIONS(969), 1, anon_sym_COMMA, - ACTIONS(910), 1, + STATE(238), 1, + aux_sym_return_expression_list_repeat1, + [12624] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(652), 1, anon_sym_RPAREN, - STATE(258), 1, + ACTIONS(971), 1, + anon_sym_COMMA, + STATE(249), 1, aux_sym_return_type_list_repeat1, - [11128] = 4, + [12637] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(912), 1, + ACTIONS(961), 1, + anon_sym_RBRACE, + ACTIONS(973), 1, anon_sym_COMMA, - ACTIONS(914), 1, - anon_sym_RBRACK, - STATE(247), 1, - aux_sym_expression_list_repeat1, - [11141] = 4, + STATE(255), 1, + aux_sym_state_object_repeat1, + [12650] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(916), 1, - sym_identifier, - ACTIONS(918), 1, - anon_sym_RBRACE, - STATE(268), 1, - sym_state_entry, - [11154] = 4, + ACTIONS(975), 3, + anon_sym_SEMI, + anon_sym_LBRACE, + anon_sym_COLON, + [12659] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(51), 1, - anon_sym_RPAREN, - ACTIONS(920), 1, + ACTIONS(55), 1, + anon_sym_RBRACK, + ACTIONS(977), 1, anon_sym_COMMA, - STATE(223), 1, - aux_sym_expression_list_repeat1, - [11167] = 4, + STATE(238), 1, + aux_sym_return_expression_list_repeat1, + [12672] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(918), 1, - anon_sym_RBRACE, - ACTIONS(922), 1, - anon_sym_COMMA, - STATE(262), 1, - aux_sym_state_object_repeat1, - [11180] = 4, + STATE(75), 1, + sym_output_field_name, + ACTIONS(979), 2, + anon_sym_value, + anon_sym_scriptPubKey, + [12683] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(664), 1, + ACTIONS(899), 1, + sym_identifier, + ACTIONS(981), 1, anon_sym_RPAREN, - ACTIONS(924), 1, + STATE(305), 1, + sym_attribute_arg, + [12696] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(983), 1, + anon_sym_RBRACE, + ACTIONS(985), 1, anon_sym_COMMA, - STATE(243), 1, - aux_sym_return_type_list_repeat1, - [11193] = 4, + STATE(248), 1, + aux_sym_state_function_call_assignment_repeat1, + [12709] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(926), 1, + ACTIONS(987), 1, anon_sym_COMMA, - ACTIONS(929), 1, + ACTIONS(989), 1, anon_sym_RPAREN, - STATE(259), 1, - aux_sym_parameter_list_repeat1, - [11206] = 4, + STATE(250), 1, + aux_sym_function_call_assignment_repeat1, + [12722] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(916), 1, - sym_identifier, - ACTIONS(931), 1, - anon_sym_RBRACE, - STATE(230), 1, - sym_state_entry, - [11219] = 4, + ACTIONS(803), 3, + anon_sym_RBRACK, + anon_sym_DOT, + anon_sym_LPAREN, + [12731] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(916), 1, - sym_identifier, - ACTIONS(933), 1, - anon_sym_RBRACE, - STATE(268), 1, - sym_state_entry, - [11232] = 4, + ACTIONS(901), 1, + anon_sym_RPAREN, + ACTIONS(991), 1, + anon_sym_COMMA, + STATE(265), 1, + aux_sym_attribute_args_repeat1, + [12744] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(935), 1, - anon_sym_RBRACE, - ACTIONS(937), 1, + ACTIONS(993), 2, + anon_sym_SEMI, + anon_sym_LBRACE, + [12752] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(995), 2, anon_sym_COMMA, - STATE(262), 1, - aux_sym_state_object_repeat1, - [11245] = 3, + anon_sym_RPAREN, + [12760] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(940), 1, - anon_sym_LBRACK, - STATE(285), 1, - sym_tuple_index, - [11255] = 2, + ACTIONS(997), 2, + anon_sym_SEMI, + anon_sym_LBRACE, + [12768] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(999), 2, + ts_builtin_sym_end, + anon_sym_function, + [12776] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(808), 1, + anon_sym_LBRACE, + STATE(173), 1, + sym_braced_block, + [12786] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(942), 2, + ACTIONS(889), 2, anon_sym_COMMA, anon_sym_RPAREN, - [11263] = 2, + [12794] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(944), 2, - anon_sym_LBRACE, - anon_sym_COLON, - [11271] = 2, + ACTIONS(1001), 1, + anon_sym_SEMI, + ACTIONS(1003), 1, + anon_sym_EQ, + [12804] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(946), 2, - anon_sym_RBRACE, + ACTIONS(1005), 2, anon_sym_COMMA, - [11279] = 2, + anon_sym_RPAREN, + [12812] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(948), 2, - anon_sym_LBRACE, - anon_sym_COLON, - [11287] = 2, + ACTIONS(899), 1, + sym_identifier, + STATE(305), 1, + sym_attribute_arg, + [12822] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(935), 2, + ACTIONS(1007), 2, anon_sym_RBRACE, anon_sym_COMMA, - [11295] = 2, + [12830] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(929), 2, + ACTIONS(881), 2, + anon_sym_RBRACE, anon_sym_COMMA, - anon_sym_RPAREN, - [11303] = 3, + [12838] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(950), 1, + ACTIONS(1009), 1, anon_sym_LPAREN, - STATE(329), 1, + STATE(276), 1, sym_parameter_list, - [11313] = 3, + [12848] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(952), 1, + ACTIONS(1011), 1, anon_sym_LPAREN, - STATE(348), 1, + STATE(380), 1, sym_console_parameter_list, - [11323] = 3, + [12858] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(940), 1, - anon_sym_LBRACK, - STATE(298), 1, - sym_tuple_index, - [11333] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(950), 1, - anon_sym_LPAREN, - STATE(240), 1, - sym_parameter_list, - [11343] = 3, + ACTIONS(918), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [12866] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(954), 1, - sym_identifier, - STATE(338), 1, - sym_function_call, - [11353] = 2, + ACTIONS(1013), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [12874] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(869), 2, + ACTIONS(905), 2, anon_sym_RBRACE, anon_sym_COMMA, - [11361] = 2, + [12882] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(884), 2, + ACTIONS(913), 2, anon_sym_COMMA, anon_sym_RPAREN, - [11369] = 3, + [12890] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(954), 1, + ACTIONS(1015), 1, sym_identifier, - STATE(309), 1, + STATE(378), 1, sym_function_call, - [11379] = 3, + [12900] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(956), 1, + ACTIONS(1017), 1, sym_string_literal, - STATE(347), 1, + STATE(384), 1, sym_require_message, - [11389] = 3, + [12910] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(763), 1, + ACTIONS(1009), 1, anon_sym_LPAREN, - STATE(86), 1, - sym_expression_list, - [11399] = 2, + STATE(241), 1, + sym_parameter_list, + [12920] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(879), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [11407] = 3, + ACTIONS(1019), 1, + sym_identifier, + STATE(270), 1, + sym_attribute_path, + [12930] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(950), 1, - anon_sym_LPAREN, - STATE(236), 1, - sym_parameter_list, - [11417] = 3, + ACTIONS(1021), 1, + anon_sym_LBRACK, + STATE(318), 1, + sym_tuple_index, + [12940] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(916), 1, + ACTIONS(1023), 1, sym_identifier, - STATE(268), 1, - sym_state_entry, - [11427] = 3, + ACTIONS(1025), 1, + anon_sym_constant, + [12950] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(958), 1, - anon_sym_SEMI, - ACTIONS(960), 1, - anon_sym_EQ, - [11437] = 3, + ACTIONS(194), 1, + anon_sym_LPAREN, + STATE(92), 1, + sym_expression_list, + [12960] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(962), 1, + ACTIONS(1027), 1, anon_sym_COMMA, - ACTIONS(964), 1, + ACTIONS(1029), 1, anon_sym_RPAREN, - [11447] = 3, + [12970] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1021), 1, + anon_sym_LBRACK, + STATE(319), 1, + sym_tuple_index, + [12980] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(966), 1, + ACTIONS(1031), 1, anon_sym_DOT, - STATE(87), 1, + STATE(95), 1, sym_output_field, - [11457] = 2, + [12990] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(968), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [11465] = 3, + ACTIONS(1033), 1, + anon_sym_DOT, + STATE(95), 1, + sym_input_field, + [13000] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(763), 1, - anon_sym_LPAREN, - STATE(81), 1, - sym_expression_list, - [11475] = 3, + ACTIONS(1035), 1, + anon_sym_COMMA, + ACTIONS(1037), 1, + anon_sym_RPAREN, + [13010] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(954), 1, - sym_identifier, - STATE(370), 1, - sym_function_call, - [11485] = 3, + ACTIONS(1039), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [13018] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(848), 1, + ACTIONS(856), 1, sym_identifier, - STATE(275), 1, + STATE(307), 1, sym_state_typed_binding, - [11495] = 3, + [13028] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(954), 1, + ACTIONS(1015), 1, sym_identifier, - STATE(372), 1, + STATE(406), 1, sym_function_call, - [11505] = 3, + [13038] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(970), 1, - anon_sym_COMMA, - ACTIONS(972), 1, - anon_sym_RPAREN, - [11515] = 2, + ACTIONS(194), 1, + anon_sym_LPAREN, + STATE(70), 1, + sym_expression_list, + [13048] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(974), 2, + ACTIONS(1041), 2, + anon_sym_SEMI, anon_sym_LBRACE, - anon_sym_COLON, - [11523] = 3, + [13056] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(976), 1, + ACTIONS(1043), 1, anon_sym_COMMA, - ACTIONS(978), 1, + ACTIONS(1045), 1, anon_sym_RPAREN, - [11533] = 2, + [13066] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1047), 2, + ts_builtin_sym_end, + anon_sym_function, + [13074] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(857), 2, + ACTIONS(955), 2, anon_sym_COMMA, anon_sym_RPAREN, - [11541] = 3, + [13082] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(950), 1, + ACTIONS(1009), 1, anon_sym_LPAREN, - STATE(232), 1, + STATE(244), 1, sym_parameter_list, - [11551] = 3, + [13092] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(980), 1, - sym_identifier, - ACTIONS(982), 1, - anon_sym_constant, - [11561] = 3, + ACTIONS(1049), 2, + anon_sym_SEMI, + anon_sym_LBRACE, + [13100] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(954), 1, - sym_identifier, - STATE(391), 1, - sym_function_call, - [11571] = 3, + ACTIONS(1009), 1, + anon_sym_LPAREN, + STATE(231), 1, + sym_parameter_list, + [13110] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(984), 1, - anon_sym_DOT, - STATE(87), 1, - sym_input_field, - [11581] = 3, + ACTIONS(1051), 1, + anon_sym_COMMA, + ACTIONS(1053), 1, + anon_sym_RPAREN, + [13120] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(808), 1, + anon_sym_LBRACE, + STATE(163), 1, + sym_braced_block, + [13130] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(865), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [13138] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(954), 1, + ACTIONS(1015), 1, sym_identifier, - STATE(393), 1, + STATE(429), 1, sym_function_call, - [11591] = 3, + [13148] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(956), 1, + ACTIONS(1017), 1, sym_string_literal, - STATE(395), 1, + STATE(433), 1, sym_require_message, - [11601] = 2, + [13158] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1055), 2, + anon_sym_pragma, + anon_sym_contract, + [13166] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(986), 2, + ACTIONS(1057), 2, + anon_sym_SEMI, anon_sym_LBRACE, - anon_sym_COLON, - [11609] = 2, + [13174] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(988), 2, - anon_sym_COMMA, - anon_sym_RPAREN, - [11617] = 3, + ACTIONS(1059), 1, + sym_identifier, + ACTIONS(1061), 1, + anon_sym_constant, + [13184] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(990), 1, - anon_sym_COMMA, - ACTIONS(992), 1, - anon_sym_RPAREN, - [11627] = 3, + ACTIONS(1009), 1, + anon_sym_LPAREN, + STATE(397), 1, + sym_parameter_list, + [13194] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(848), 1, - sym_identifier, - STATE(238), 1, - sym_state_typed_binding, - [11637] = 2, + ACTIONS(808), 1, + anon_sym_LBRACE, + STATE(167), 1, + sym_braced_block, + [13204] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1063), 2, + anon_sym_COMMA, + anon_sym_RPAREN, + [13212] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(994), 2, + ACTIONS(1065), 1, anon_sym_COMMA, + ACTIONS(1067), 1, anon_sym_RPAREN, - [11645] = 3, + [13222] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(996), 1, + ACTIONS(877), 1, sym_identifier, - ACTIONS(998), 1, - anon_sym_constant, - [11655] = 3, + STATE(302), 1, + sym_state_entry, + [13232] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(763), 1, + ACTIONS(1069), 1, anon_sym_LPAREN, - STATE(319), 1, - sym_expression_list, - [11665] = 2, + [13239] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1000), 2, - anon_sym_pragma, - anon_sym_contract, - [11673] = 2, + ACTIONS(1071), 1, + anon_sym_SEMI, + [13246] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1002), 1, + ACTIONS(1073), 1, anon_sym_SEMI, - [11680] = 2, + [13253] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1004), 1, - anon_sym_LBRACE, - [11687] = 2, + ACTIONS(1075), 1, + anon_sym_SEMI, + [13260] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(765), 1, + ACTIONS(1077), 1, + anon_sym_LPAREN, + [13267] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1079), 1, anon_sym_COLON, - [11694] = 2, + [13274] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1006), 1, - anon_sym_SEMI, - [11701] = 2, + ACTIONS(1081), 1, + sym_identifier, + [13281] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1008), 1, + ACTIONS(1083), 1, anon_sym_SEMI, - [11708] = 2, + [13288] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(812), 1, - anon_sym_function, - [11715] = 2, + ACTIONS(1085), 1, + anon_sym_RPAREN, + [13295] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1010), 1, + ACTIONS(1067), 1, anon_sym_RPAREN, - [11722] = 2, + [13302] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1012), 1, - anon_sym_SEMI, - [11729] = 2, + ACTIONS(1087), 1, + anon_sym_RPAREN, + [13309] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1014), 1, - sym_identifier, - [11736] = 2, + ACTIONS(1089), 1, + anon_sym_SEMI, + [13316] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1016), 1, + ACTIONS(1091), 1, sym_identifier, - [11743] = 2, + [13323] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1018), 1, - anon_sym_SEMI, - [11750] = 2, + ACTIONS(1093), 1, + anon_sym_silverscript, + [13330] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1020), 1, - anon_sym_LBRACE, - [11757] = 2, + ACTIONS(1095), 1, + anon_sym_SEMI, + [13337] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1022), 1, - anon_sym_LBRACE, - [11764] = 2, + ACTIONS(1097), 1, + anon_sym_SEMI, + [13344] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1024), 1, - sym_identifier, - [11771] = 2, + ACTIONS(1099), 1, + anon_sym_RBRACK, + [13351] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1026), 1, - sym_version_literal, - [11778] = 2, + ACTIONS(332), 1, + anon_sym_DOT, + [13358] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1028), 1, - anon_sym_EQ, - [11785] = 2, + ACTIONS(1101), 1, + anon_sym_LPAREN, + [13365] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1030), 1, + ACTIONS(1103), 1, anon_sym_LPAREN, - [11792] = 2, + [13372] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1032), 1, - ts_builtin_sym_end, - [11799] = 2, + ACTIONS(1105), 1, + sym_identifier, + [13379] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1034), 1, - sym_identifier, - [11806] = 2, + ACTIONS(1107), 1, + anon_sym_EQ, + [13386] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1036), 1, - sym_identifier, - [11813] = 2, + ACTIONS(1109), 1, + sym_string_literal, + [13393] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1038), 1, - anon_sym_LBRACE, - [11820] = 2, + ACTIONS(1111), 1, + ts_builtin_sym_end, + [13400] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1040), 1, - anon_sym_SEMI, - [11827] = 2, + ACTIONS(1113), 1, + anon_sym_LPAREN, + [13407] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1042), 1, - anon_sym_SEMI, - [11834] = 2, + ACTIONS(1115), 1, + anon_sym_COMMA, + [13414] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1044), 1, - sym_identifier, - [11841] = 2, + ACTIONS(1117), 1, + anon_sym_SEMI, + [13421] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1046), 1, - anon_sym_LPAREN, - [11848] = 2, + ACTIONS(1119), 1, + sym_version_literal, + [13428] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1048), 1, - anon_sym_RPAREN, - [11855] = 2, + ACTIONS(1121), 1, + anon_sym_function, + [13435] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1050), 1, - anon_sym_LPAREN, - [11862] = 2, + ACTIONS(1123), 1, + anon_sym_EQ, + [13442] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1052), 1, - anon_sym_COMMA, - [11869] = 2, + ACTIONS(1125), 1, + anon_sym_RBRACK, + [13449] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1054), 1, - anon_sym_LPAREN, - [11876] = 2, + ACTIONS(1127), 1, + anon_sym_RBRACK, + [13456] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1056), 1, + ACTIONS(1129), 1, anon_sym_SEMI, - [11883] = 2, + [13463] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1058), 1, - anon_sym_RPAREN, - [11890] = 2, + ACTIONS(1131), 1, + anon_sym_SEMI, + [13470] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1060), 1, + ACTIONS(1133), 1, anon_sym_EQ, - [11897] = 2, + [13477] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1062), 1, - sym_version_literal, - [11904] = 2, + ACTIONS(1135), 1, + anon_sym_SEMI, + [13484] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1064), 1, - sym_identifier, - [11911] = 2, + ACTIONS(1137), 1, + anon_sym_SEMI, + [13491] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1066), 1, - anon_sym_function, - [11918] = 2, + ACTIONS(1139), 1, + anon_sym_LPAREN, + [13498] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1068), 1, - anon_sym_EQ, - [11925] = 2, + ACTIONS(1141), 1, + anon_sym_RPAREN, + [13505] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1070), 1, + ACTIONS(1143), 1, anon_sym_RPAREN, - [11932] = 2, + [13512] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1072), 1, - anon_sym_RPAREN, - [11939] = 2, + ACTIONS(1145), 1, + anon_sym_SEMI, + [13519] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1074), 1, + ACTIONS(1147), 1, anon_sym_RPAREN, - [11946] = 2, + [13526] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1076), 1, - anon_sym_SEMI, - [11953] = 2, + ACTIONS(1149), 1, + anon_sym_COMMA, + [13533] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1078), 1, - anon_sym_SEMI, - [11960] = 2, + ACTIONS(1151), 1, + anon_sym_COMMA, + [13540] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1080), 1, - anon_sym_RPAREN, - [11967] = 2, + ACTIONS(1153), 1, + anon_sym_SEMI, + [13547] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1082), 1, - anon_sym_silverscript, - [11974] = 2, + ACTIONS(1155), 1, + anon_sym_RBRACK, + [13554] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1084), 1, + ACTIONS(1157), 1, sym_identifier, - [11981] = 2, + [13561] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1086), 1, - anon_sym_COMMA, - [11988] = 2, + ACTIONS(1159), 1, + anon_sym_RPAREN, + [13568] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1088), 1, + ACTIONS(1161), 1, anon_sym_SEMI, - [11995] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1090), 1, - sym_identifier, - [12002] = 2, + [13575] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1092), 1, - anon_sym_LBRACE, - [12009] = 2, + ACTIONS(1163), 1, + ts_builtin_sym_end, + [13582] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1094), 1, - anon_sym_LPAREN, - [12016] = 2, + ACTIONS(1165), 1, + anon_sym_EQ, + [13589] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1096), 1, + ACTIONS(1167), 1, anon_sym_SEMI, - [12023] = 2, + [13596] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1098), 1, - anon_sym_LPAREN, - [12030] = 2, + ACTIONS(1169), 1, + anon_sym_LBRACE, + [13603] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1100), 1, - anon_sym_EQ, - [12037] = 2, + ACTIONS(1171), 1, + anon_sym_RPAREN, + [13610] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1102), 1, - anon_sym_SEMI, - [12044] = 2, + ACTIONS(1173), 1, + anon_sym_RPAREN, + [13617] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1104), 1, + ACTIONS(1175), 1, anon_sym_LBRACE, - [12051] = 2, + [13624] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1177), 1, + anon_sym_GT_EQ, + [13631] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1106), 1, + ACTIONS(1179), 1, sym_identifier, - [12058] = 2, + [13638] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1108), 1, - ts_builtin_sym_end, - [12065] = 2, + ACTIONS(1181), 1, + anon_sym_SEMI, + [13645] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1110), 1, + ACTIONS(1183), 1, sym_identifier, - [12072] = 2, + [13652] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1112), 1, - anon_sym_RPAREN, - [12079] = 2, + ACTIONS(1185), 1, + sym_identifier, + [13659] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1114), 1, + ACTIONS(1187), 1, anon_sym_SEMI, - [12086] = 2, + [13666] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1116), 1, + ACTIONS(1189), 1, anon_sym_EQ, - [12093] = 2, + [13673] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(765), 1, + anon_sym_COLON, + [13680] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1191), 1, + sym_version_literal, + [13687] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1193), 1, + anon_sym_SEMI, + [13694] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1118), 1, + ACTIONS(1195), 1, anon_sym_EQ, - [12100] = 2, + [13701] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1120), 1, + ACTIONS(1197), 1, anon_sym_SEMI, - [12107] = 2, + [13708] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1122), 1, - anon_sym_RBRACK, - [12114] = 2, + ACTIONS(1199), 1, + anon_sym_SEMI, + [13715] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1124), 1, + ACTIONS(1201), 1, anon_sym_SEMI, - [12121] = 2, + [13722] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1126), 1, + ACTIONS(1203), 1, anon_sym_RBRACK, - [12128] = 2, + [13729] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1128), 1, - anon_sym_RBRACK, - [12135] = 2, + ACTIONS(1205), 1, + anon_sym_EQ, + [13736] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1130), 1, + ACTIONS(1207), 1, anon_sym_SEMI, - [12142] = 2, + [13743] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1132), 1, - anon_sym_EQ, - [12149] = 2, + ACTIONS(1209), 1, + ts_builtin_sym_end, + [13750] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1211), 1, + sym_identifier, + [13757] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1134), 1, + ACTIONS(1213), 1, anon_sym_SEMI, - [12156] = 2, + [13764] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(200), 1, - anon_sym_DOT, - [12163] = 2, + ACTIONS(1215), 1, + sym_identifier, + [13771] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1136), 1, - anon_sym_EQ, - [12170] = 2, + ACTIONS(1217), 1, + ts_builtin_sym_end, + [13778] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1138), 1, - anon_sym_COLON, - [12177] = 2, + ACTIONS(1219), 1, + anon_sym_LPAREN, + [13785] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1140), 1, + ACTIONS(1221), 1, anon_sym_LPAREN, - [12184] = 2, + [13792] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1142), 1, - anon_sym_EQ, - [12191] = 2, + ACTIONS(1223), 1, + anon_sym_LPAREN, + [13799] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1144), 1, + ACTIONS(1225), 1, anon_sym_SEMI, - [12198] = 2, + [13806] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1146), 1, - anon_sym_GT_EQ, - [12205] = 2, + ACTIONS(1227), 1, + anon_sym_RBRACK, + [13813] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(1229), 1, + ts_builtin_sym_end, + [13820] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1148), 1, + ACTIONS(1231), 1, anon_sym_SEMI, - [12212] = 2, + [13827] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1150), 1, - anon_sym_LBRACE, - [12219] = 2, + ACTIONS(1233), 1, + anon_sym_SEMI, + [13834] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1152), 1, - anon_sym_GT_EQ, - [12226] = 2, + ACTIONS(1235), 1, + anon_sym_EQ, + [13841] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1154), 1, - ts_builtin_sym_end, - [12233] = 2, + ACTIONS(1237), 1, + sym_identifier, + [13848] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1156), 1, + ACTIONS(1239), 1, anon_sym_RPAREN, - [12240] = 2, + [13855] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1158), 1, - anon_sym_COMMA, - [12247] = 2, + ACTIONS(1241), 1, + anon_sym_RPAREN, + [13862] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1160), 1, - anon_sym_SEMI, - [12254] = 2, + ACTIONS(1243), 1, + anon_sym_EQ, + [13869] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1162), 1, - anon_sym_SEMI, - [12261] = 2, + ACTIONS(1245), 1, + anon_sym_COMMA, + [13876] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1164), 1, + ACTIONS(1247), 1, anon_sym_SEMI, - [12268] = 2, + [13883] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1166), 1, - sym_identifier, - [12275] = 2, + ACTIONS(1249), 1, + anon_sym_EQ, + [13890] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1168), 1, - anon_sym_RPAREN, - [12282] = 2, + ACTIONS(1251), 1, + sym_identifier, + [13897] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1170), 1, - anon_sym_LBRACE, - [12289] = 2, + ACTIONS(1253), 1, + ts_builtin_sym_end, + [13904] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1172), 1, + ACTIONS(1255), 1, anon_sym_SEMI, - [12296] = 2, + [13911] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1174), 1, + ACTIONS(1257), 1, anon_sym_SEMI, - [12303] = 2, + [13918] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1176), 1, - anon_sym_COMMA, - [12310] = 2, + ACTIONS(1259), 1, + sym_identifier, + [13925] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1178), 1, - anon_sym_SEMI, - [12317] = 2, + ACTIONS(1261), 1, + anon_sym_RBRACK, + [13932] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1180), 1, - anon_sym_LBRACE, - [12324] = 2, + ACTIONS(1263), 1, + sym_identifier, + [13939] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1182), 1, - ts_builtin_sym_end, - [12331] = 2, + ACTIONS(1265), 1, + anon_sym_RPAREN, + [13946] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1184), 1, + ACTIONS(1267), 1, anon_sym_SEMI, - [12338] = 2, + [13953] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1186), 1, + ACTIONS(1269), 1, sym_identifier, - [12345] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1188), 1, - sym_string_literal, - [12352] = 2, + [13960] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1190), 1, - ts_builtin_sym_end, - [12359] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(1192), 1, - anon_sym_RPAREN, - [12366] = 2, + ACTIONS(1271), 1, + anon_sym_GT_EQ, + [13967] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1194), 1, - anon_sym_LPAREN, - [12373] = 2, + ACTIONS(1273), 1, + anon_sym_SEMI, + [13974] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1196), 1, - sym_identifier, - [12380] = 2, + ACTIONS(796), 1, + anon_sym_function, + [13981] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1198), 1, - anon_sym_LPAREN, - [12387] = 2, + ACTIONS(1275), 1, + anon_sym_RBRACK, + [13988] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1200), 1, + ACTIONS(1277), 1, anon_sym_RBRACK, - [12394] = 2, + [13995] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1202), 1, - anon_sym_LPAREN, - [12401] = 2, + ACTIONS(1279), 1, + sym_identifier, + [14002] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(1204), 1, - anon_sym_RPAREN, + ACTIONS(1281), 1, + sym_identifier, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, [SMALL_STATE(3)] = 138, - [SMALL_STATE(4)] = 272, - [SMALL_STATE(5)] = 406, - [SMALL_STATE(6)] = 540, - [SMALL_STATE(7)] = 674, - [SMALL_STATE(8)] = 808, - [SMALL_STATE(9)] = 942, - [SMALL_STATE(10)] = 1076, - [SMALL_STATE(11)] = 1207, - [SMALL_STATE(12)] = 1338, - [SMALL_STATE(13)] = 1469, - [SMALL_STATE(14)] = 1600, - [SMALL_STATE(15)] = 1731, - [SMALL_STATE(16)] = 1862, - [SMALL_STATE(17)] = 1993, - [SMALL_STATE(18)] = 2124, - [SMALL_STATE(19)] = 2255, - [SMALL_STATE(20)] = 2386, - [SMALL_STATE(21)] = 2517, - [SMALL_STATE(22)] = 2648, - [SMALL_STATE(23)] = 2779, - [SMALL_STATE(24)] = 2910, - [SMALL_STATE(25)] = 3041, - [SMALL_STATE(26)] = 3172, - [SMALL_STATE(27)] = 3303, - [SMALL_STATE(28)] = 3434, - [SMALL_STATE(29)] = 3565, - [SMALL_STATE(30)] = 3696, - [SMALL_STATE(31)] = 3827, - [SMALL_STATE(32)] = 3952, - [SMALL_STATE(33)] = 4074, - [SMALL_STATE(34)] = 4193, - [SMALL_STATE(35)] = 4309, - [SMALL_STATE(36)] = 4422, - [SMALL_STATE(37)] = 4532, - [SMALL_STATE(38)] = 4639, - [SMALL_STATE(39)] = 4743, - [SMALL_STATE(40)] = 4844, - [SMALL_STATE(41)] = 4942, - [SMALL_STATE(42)] = 4990, - [SMALL_STATE(43)] = 5061, - [SMALL_STATE(44)] = 5129, - [SMALL_STATE(45)] = 5197, - [SMALL_STATE(46)] = 5265, - [SMALL_STATE(47)] = 5333, - [SMALL_STATE(48)] = 5401, - [SMALL_STATE(49)] = 5469, - [SMALL_STATE(50)] = 5537, - [SMALL_STATE(51)] = 5605, - [SMALL_STATE(52)] = 5663, - [SMALL_STATE(53)] = 5731, - [SMALL_STATE(54)] = 5799, - [SMALL_STATE(55)] = 5867, - [SMALL_STATE(56)] = 5935, - [SMALL_STATE(57)] = 6003, - [SMALL_STATE(58)] = 6071, - [SMALL_STATE(59)] = 6129, - [SMALL_STATE(60)] = 6187, - [SMALL_STATE(61)] = 6254, - [SMALL_STATE(62)] = 6321, - [SMALL_STATE(63)] = 6388, - [SMALL_STATE(64)] = 6434, - [SMALL_STATE(65)] = 6472, - [SMALL_STATE(66)] = 6515, - [SMALL_STATE(67)] = 6550, - [SMALL_STATE(68)] = 6585, - [SMALL_STATE(69)] = 6620, - [SMALL_STATE(70)] = 6655, - [SMALL_STATE(71)] = 6690, - [SMALL_STATE(72)] = 6725, - [SMALL_STATE(73)] = 6760, - [SMALL_STATE(74)] = 6795, - [SMALL_STATE(75)] = 6830, - [SMALL_STATE(76)] = 6865, - [SMALL_STATE(77)] = 6900, - [SMALL_STATE(78)] = 6935, - [SMALL_STATE(79)] = 6970, - [SMALL_STATE(80)] = 7005, - [SMALL_STATE(81)] = 7040, - [SMALL_STATE(82)] = 7075, - [SMALL_STATE(83)] = 7110, - [SMALL_STATE(84)] = 7145, - [SMALL_STATE(85)] = 7180, - [SMALL_STATE(86)] = 7215, - [SMALL_STATE(87)] = 7250, - [SMALL_STATE(88)] = 7285, - [SMALL_STATE(89)] = 7320, - [SMALL_STATE(90)] = 7355, - [SMALL_STATE(91)] = 7390, - [SMALL_STATE(92)] = 7425, - [SMALL_STATE(93)] = 7460, - [SMALL_STATE(94)] = 7495, - [SMALL_STATE(95)] = 7530, - [SMALL_STATE(96)] = 7565, - [SMALL_STATE(97)] = 7600, - [SMALL_STATE(98)] = 7635, - [SMALL_STATE(99)] = 7670, - [SMALL_STATE(100)] = 7705, - [SMALL_STATE(101)] = 7740, - [SMALL_STATE(102)] = 7775, - [SMALL_STATE(103)] = 7810, - [SMALL_STATE(104)] = 7860, - [SMALL_STATE(105)] = 7910, - [SMALL_STATE(106)] = 7946, - [SMALL_STATE(107)] = 7996, - [SMALL_STATE(108)] = 8032, - [SMALL_STATE(109)] = 8068, - [SMALL_STATE(110)] = 8097, - [SMALL_STATE(111)] = 8126, - [SMALL_STATE(112)] = 8155, - [SMALL_STATE(113)] = 8186, - [SMALL_STATE(114)] = 8217, - [SMALL_STATE(115)] = 8248, - [SMALL_STATE(116)] = 8274, - [SMALL_STATE(117)] = 8299, - [SMALL_STATE(118)] = 8324, - [SMALL_STATE(119)] = 8349, - [SMALL_STATE(120)] = 8380, - [SMALL_STATE(121)] = 8405, - [SMALL_STATE(122)] = 8436, - [SMALL_STATE(123)] = 8467, - [SMALL_STATE(124)] = 8492, - [SMALL_STATE(125)] = 8517, - [SMALL_STATE(126)] = 8542, - [SMALL_STATE(127)] = 8567, - [SMALL_STATE(128)] = 8592, - [SMALL_STATE(129)] = 8617, - [SMALL_STATE(130)] = 8644, - [SMALL_STATE(131)] = 8669, - [SMALL_STATE(132)] = 8694, - [SMALL_STATE(133)] = 8719, - [SMALL_STATE(134)] = 8744, - [SMALL_STATE(135)] = 8769, - [SMALL_STATE(136)] = 8794, - [SMALL_STATE(137)] = 8819, - [SMALL_STATE(138)] = 8844, - [SMALL_STATE(139)] = 8869, - [SMALL_STATE(140)] = 8894, - [SMALL_STATE(141)] = 8919, - [SMALL_STATE(142)] = 8944, - [SMALL_STATE(143)] = 8969, - [SMALL_STATE(144)] = 8994, - [SMALL_STATE(145)] = 9019, - [SMALL_STATE(146)] = 9044, - [SMALL_STATE(147)] = 9068, - [SMALL_STATE(148)] = 9089, - [SMALL_STATE(149)] = 9110, - [SMALL_STATE(150)] = 9135, - [SMALL_STATE(151)] = 9160, - [SMALL_STATE(152)] = 9181, - [SMALL_STATE(153)] = 9202, - [SMALL_STATE(154)] = 9223, - [SMALL_STATE(155)] = 9244, - [SMALL_STATE(156)] = 9279, - [SMALL_STATE(157)] = 9300, - [SMALL_STATE(158)] = 9335, - [SMALL_STATE(159)] = 9356, - [SMALL_STATE(160)] = 9391, - [SMALL_STATE(161)] = 9412, - [SMALL_STATE(162)] = 9433, - [SMALL_STATE(163)] = 9462, - [SMALL_STATE(164)] = 9483, - [SMALL_STATE(165)] = 9512, - [SMALL_STATE(166)] = 9537, - [SMALL_STATE(167)] = 9558, - [SMALL_STATE(168)] = 9579, - [SMALL_STATE(169)] = 9608, - [SMALL_STATE(170)] = 9629, - [SMALL_STATE(171)] = 9657, - [SMALL_STATE(172)] = 9685, - [SMALL_STATE(173)] = 9713, - [SMALL_STATE(174)] = 9741, - [SMALL_STATE(175)] = 9769, - [SMALL_STATE(176)] = 9801, - [SMALL_STATE(177)] = 9821, - [SMALL_STATE(178)] = 9846, - [SMALL_STATE(179)] = 9871, - [SMALL_STATE(180)] = 9896, - [SMALL_STATE(181)] = 9919, - [SMALL_STATE(182)] = 9944, - [SMALL_STATE(183)] = 9971, - [SMALL_STATE(184)] = 9994, - [SMALL_STATE(185)] = 10017, - [SMALL_STATE(186)] = 10042, - [SMALL_STATE(187)] = 10067, - [SMALL_STATE(188)] = 10094, - [SMALL_STATE(189)] = 10116, - [SMALL_STATE(190)] = 10138, - [SMALL_STATE(191)] = 10160, - [SMALL_STATE(192)] = 10182, - [SMALL_STATE(193)] = 10200, - [SMALL_STATE(194)] = 10222, - [SMALL_STATE(195)] = 10244, - [SMALL_STATE(196)] = 10263, - [SMALL_STATE(197)] = 10280, - [SMALL_STATE(198)] = 10297, - [SMALL_STATE(199)] = 10316, - [SMALL_STATE(200)] = 10333, - [SMALL_STATE(201)] = 10350, - [SMALL_STATE(202)] = 10369, - [SMALL_STATE(203)] = 10387, - [SMALL_STATE(204)] = 10403, - [SMALL_STATE(205)] = 10421, - [SMALL_STATE(206)] = 10439, - [SMALL_STATE(207)] = 10459, - [SMALL_STATE(208)] = 10479, - [SMALL_STATE(209)] = 10505, - [SMALL_STATE(210)] = 10525, - [SMALL_STATE(211)] = 10542, - [SMALL_STATE(212)] = 10555, - [SMALL_STATE(213)] = 10572, - [SMALL_STATE(214)] = 10595, - [SMALL_STATE(215)] = 10612, - [SMALL_STATE(216)] = 10624, - [SMALL_STATE(217)] = 10638, - [SMALL_STATE(218)] = 10652, - [SMALL_STATE(219)] = 10666, - [SMALL_STATE(220)] = 10680, - [SMALL_STATE(221)] = 10691, - [SMALL_STATE(222)] = 10708, - [SMALL_STATE(223)] = 10722, - [SMALL_STATE(224)] = 10736, - [SMALL_STATE(225)] = 10750, - [SMALL_STATE(226)] = 10766, - [SMALL_STATE(227)] = 10780, - [SMALL_STATE(228)] = 10794, - [SMALL_STATE(229)] = 10808, - [SMALL_STATE(230)] = 10822, - [SMALL_STATE(231)] = 10835, - [SMALL_STATE(232)] = 10848, - [SMALL_STATE(233)] = 10861, - [SMALL_STATE(234)] = 10874, - [SMALL_STATE(235)] = 10885, - [SMALL_STATE(236)] = 10898, - [SMALL_STATE(237)] = 10911, - [SMALL_STATE(238)] = 10924, - [SMALL_STATE(239)] = 10937, - [SMALL_STATE(240)] = 10950, - [SMALL_STATE(241)] = 10963, - [SMALL_STATE(242)] = 10976, - [SMALL_STATE(243)] = 10989, - [SMALL_STATE(244)] = 11002, - [SMALL_STATE(245)] = 11015, - [SMALL_STATE(246)] = 11028, - [SMALL_STATE(247)] = 11041, - [SMALL_STATE(248)] = 11054, - [SMALL_STATE(249)] = 11067, - [SMALL_STATE(250)] = 11080, - [SMALL_STATE(251)] = 11093, - [SMALL_STATE(252)] = 11106, - [SMALL_STATE(253)] = 11115, - [SMALL_STATE(254)] = 11128, - [SMALL_STATE(255)] = 11141, - [SMALL_STATE(256)] = 11154, - [SMALL_STATE(257)] = 11167, - [SMALL_STATE(258)] = 11180, - [SMALL_STATE(259)] = 11193, - [SMALL_STATE(260)] = 11206, - [SMALL_STATE(261)] = 11219, - [SMALL_STATE(262)] = 11232, - [SMALL_STATE(263)] = 11245, - [SMALL_STATE(264)] = 11255, - [SMALL_STATE(265)] = 11263, - [SMALL_STATE(266)] = 11271, - [SMALL_STATE(267)] = 11279, - [SMALL_STATE(268)] = 11287, - [SMALL_STATE(269)] = 11295, - [SMALL_STATE(270)] = 11303, - [SMALL_STATE(271)] = 11313, - [SMALL_STATE(272)] = 11323, - [SMALL_STATE(273)] = 11333, - [SMALL_STATE(274)] = 11343, - [SMALL_STATE(275)] = 11353, - [SMALL_STATE(276)] = 11361, - [SMALL_STATE(277)] = 11369, - [SMALL_STATE(278)] = 11379, - [SMALL_STATE(279)] = 11389, - [SMALL_STATE(280)] = 11399, - [SMALL_STATE(281)] = 11407, - [SMALL_STATE(282)] = 11417, - [SMALL_STATE(283)] = 11427, - [SMALL_STATE(284)] = 11437, - [SMALL_STATE(285)] = 11447, - [SMALL_STATE(286)] = 11457, - [SMALL_STATE(287)] = 11465, - [SMALL_STATE(288)] = 11475, - [SMALL_STATE(289)] = 11485, - [SMALL_STATE(290)] = 11495, - [SMALL_STATE(291)] = 11505, - [SMALL_STATE(292)] = 11515, - [SMALL_STATE(293)] = 11523, - [SMALL_STATE(294)] = 11533, - [SMALL_STATE(295)] = 11541, - [SMALL_STATE(296)] = 11551, - [SMALL_STATE(297)] = 11561, - [SMALL_STATE(298)] = 11571, - [SMALL_STATE(299)] = 11581, - [SMALL_STATE(300)] = 11591, - [SMALL_STATE(301)] = 11601, - [SMALL_STATE(302)] = 11609, - [SMALL_STATE(303)] = 11617, - [SMALL_STATE(304)] = 11627, - [SMALL_STATE(305)] = 11637, - [SMALL_STATE(306)] = 11645, - [SMALL_STATE(307)] = 11655, - [SMALL_STATE(308)] = 11665, - [SMALL_STATE(309)] = 11673, - [SMALL_STATE(310)] = 11680, - [SMALL_STATE(311)] = 11687, - [SMALL_STATE(312)] = 11694, - [SMALL_STATE(313)] = 11701, - [SMALL_STATE(314)] = 11708, - [SMALL_STATE(315)] = 11715, - [SMALL_STATE(316)] = 11722, - [SMALL_STATE(317)] = 11729, - [SMALL_STATE(318)] = 11736, - [SMALL_STATE(319)] = 11743, - [SMALL_STATE(320)] = 11750, - [SMALL_STATE(321)] = 11757, - [SMALL_STATE(322)] = 11764, - [SMALL_STATE(323)] = 11771, - [SMALL_STATE(324)] = 11778, - [SMALL_STATE(325)] = 11785, - [SMALL_STATE(326)] = 11792, - [SMALL_STATE(327)] = 11799, - [SMALL_STATE(328)] = 11806, - [SMALL_STATE(329)] = 11813, - [SMALL_STATE(330)] = 11820, - [SMALL_STATE(331)] = 11827, - [SMALL_STATE(332)] = 11834, - [SMALL_STATE(333)] = 11841, - [SMALL_STATE(334)] = 11848, - [SMALL_STATE(335)] = 11855, - [SMALL_STATE(336)] = 11862, - [SMALL_STATE(337)] = 11869, - [SMALL_STATE(338)] = 11876, - [SMALL_STATE(339)] = 11883, - [SMALL_STATE(340)] = 11890, - [SMALL_STATE(341)] = 11897, - [SMALL_STATE(342)] = 11904, - [SMALL_STATE(343)] = 11911, - [SMALL_STATE(344)] = 11918, - [SMALL_STATE(345)] = 11925, - [SMALL_STATE(346)] = 11932, - [SMALL_STATE(347)] = 11939, - [SMALL_STATE(348)] = 11946, - [SMALL_STATE(349)] = 11953, - [SMALL_STATE(350)] = 11960, - [SMALL_STATE(351)] = 11967, - [SMALL_STATE(352)] = 11974, - [SMALL_STATE(353)] = 11981, - [SMALL_STATE(354)] = 11988, - [SMALL_STATE(355)] = 11995, - [SMALL_STATE(356)] = 12002, - [SMALL_STATE(357)] = 12009, - [SMALL_STATE(358)] = 12016, - [SMALL_STATE(359)] = 12023, - [SMALL_STATE(360)] = 12030, - [SMALL_STATE(361)] = 12037, - [SMALL_STATE(362)] = 12044, - [SMALL_STATE(363)] = 12051, - [SMALL_STATE(364)] = 12058, - [SMALL_STATE(365)] = 12065, - [SMALL_STATE(366)] = 12072, - [SMALL_STATE(367)] = 12079, - [SMALL_STATE(368)] = 12086, - [SMALL_STATE(369)] = 12093, - [SMALL_STATE(370)] = 12100, - [SMALL_STATE(371)] = 12107, - [SMALL_STATE(372)] = 12114, - [SMALL_STATE(373)] = 12121, - [SMALL_STATE(374)] = 12128, - [SMALL_STATE(375)] = 12135, - [SMALL_STATE(376)] = 12142, - [SMALL_STATE(377)] = 12149, - [SMALL_STATE(378)] = 12156, - [SMALL_STATE(379)] = 12163, - [SMALL_STATE(380)] = 12170, - [SMALL_STATE(381)] = 12177, - [SMALL_STATE(382)] = 12184, - [SMALL_STATE(383)] = 12191, - [SMALL_STATE(384)] = 12198, - [SMALL_STATE(385)] = 12205, - [SMALL_STATE(386)] = 12212, - [SMALL_STATE(387)] = 12219, - [SMALL_STATE(388)] = 12226, - [SMALL_STATE(389)] = 12233, - [SMALL_STATE(390)] = 12240, - [SMALL_STATE(391)] = 12247, - [SMALL_STATE(392)] = 12254, - [SMALL_STATE(393)] = 12261, - [SMALL_STATE(394)] = 12268, - [SMALL_STATE(395)] = 12275, - [SMALL_STATE(396)] = 12282, - [SMALL_STATE(397)] = 12289, - [SMALL_STATE(398)] = 12296, - [SMALL_STATE(399)] = 12303, - [SMALL_STATE(400)] = 12310, - [SMALL_STATE(401)] = 12317, - [SMALL_STATE(402)] = 12324, - [SMALL_STATE(403)] = 12331, - [SMALL_STATE(404)] = 12338, - [SMALL_STATE(405)] = 12345, - [SMALL_STATE(406)] = 12352, - [SMALL_STATE(407)] = 12359, - [SMALL_STATE(408)] = 12366, - [SMALL_STATE(409)] = 12373, - [SMALL_STATE(410)] = 12380, - [SMALL_STATE(411)] = 12387, - [SMALL_STATE(412)] = 12394, - [SMALL_STATE(413)] = 12401, + [SMALL_STATE(4)] = 275, + [SMALL_STATE(5)] = 412, + [SMALL_STATE(6)] = 549, + [SMALL_STATE(7)] = 683, + [SMALL_STATE(8)] = 815, + [SMALL_STATE(9)] = 949, + [SMALL_STATE(10)] = 1083, + [SMALL_STATE(11)] = 1217, + [SMALL_STATE(12)] = 1351, + [SMALL_STATE(13)] = 1485, + [SMALL_STATE(14)] = 1619, + [SMALL_STATE(15)] = 1753, + [SMALL_STATE(16)] = 1887, + [SMALL_STATE(17)] = 2021, + [SMALL_STATE(18)] = 2155, + [SMALL_STATE(19)] = 2286, + [SMALL_STATE(20)] = 2417, + [SMALL_STATE(21)] = 2548, + [SMALL_STATE(22)] = 2679, + [SMALL_STATE(23)] = 2810, + [SMALL_STATE(24)] = 2941, + [SMALL_STATE(25)] = 3072, + [SMALL_STATE(26)] = 3203, + [SMALL_STATE(27)] = 3334, + [SMALL_STATE(28)] = 3465, + [SMALL_STATE(29)] = 3596, + [SMALL_STATE(30)] = 3727, + [SMALL_STATE(31)] = 3858, + [SMALL_STATE(32)] = 3989, + [SMALL_STATE(33)] = 4120, + [SMALL_STATE(34)] = 4253, + [SMALL_STATE(35)] = 4384, + [SMALL_STATE(36)] = 4515, + [SMALL_STATE(37)] = 4646, + [SMALL_STATE(38)] = 4777, + [SMALL_STATE(39)] = 4908, + [SMALL_STATE(40)] = 5041, + [SMALL_STATE(41)] = 5174, + [SMALL_STATE(42)] = 5305, + [SMALL_STATE(43)] = 5436, + [SMALL_STATE(44)] = 5567, + [SMALL_STATE(45)] = 5692, + [SMALL_STATE(46)] = 5814, + [SMALL_STATE(47)] = 5933, + [SMALL_STATE(48)] = 6049, + [SMALL_STATE(49)] = 6162, + [SMALL_STATE(50)] = 6272, + [SMALL_STATE(51)] = 6379, + [SMALL_STATE(52)] = 6483, + [SMALL_STATE(53)] = 6584, + [SMALL_STATE(54)] = 6682, + [SMALL_STATE(55)] = 6758, + [SMALL_STATE(56)] = 6831, + [SMALL_STATE(57)] = 6904, + [SMALL_STATE(58)] = 6977, + [SMALL_STATE(59)] = 7050, + [SMALL_STATE(60)] = 7098, + [SMALL_STATE(61)] = 7167, + [SMALL_STATE(62)] = 7236, + [SMALL_STATE(63)] = 7305, + [SMALL_STATE(64)] = 7363, + [SMALL_STATE(65)] = 7421, + [SMALL_STATE(66)] = 7479, + [SMALL_STATE(67)] = 7525, + [SMALL_STATE(68)] = 7563, + [SMALL_STATE(69)] = 7604, + [SMALL_STATE(70)] = 7639, + [SMALL_STATE(71)] = 7674, + [SMALL_STATE(72)] = 7709, + [SMALL_STATE(73)] = 7744, + [SMALL_STATE(74)] = 7779, + [SMALL_STATE(75)] = 7814, + [SMALL_STATE(76)] = 7849, + [SMALL_STATE(77)] = 7884, + [SMALL_STATE(78)] = 7919, + [SMALL_STATE(79)] = 7954, + [SMALL_STATE(80)] = 7989, + [SMALL_STATE(81)] = 8024, + [SMALL_STATE(82)] = 8059, + [SMALL_STATE(83)] = 8094, + [SMALL_STATE(84)] = 8129, + [SMALL_STATE(85)] = 8164, + [SMALL_STATE(86)] = 8199, + [SMALL_STATE(87)] = 8234, + [SMALL_STATE(88)] = 8269, + [SMALL_STATE(89)] = 8304, + [SMALL_STATE(90)] = 8339, + [SMALL_STATE(91)] = 8374, + [SMALL_STATE(92)] = 8409, + [SMALL_STATE(93)] = 8444, + [SMALL_STATE(94)] = 8479, + [SMALL_STATE(95)] = 8514, + [SMALL_STATE(96)] = 8549, + [SMALL_STATE(97)] = 8584, + [SMALL_STATE(98)] = 8619, + [SMALL_STATE(99)] = 8654, + [SMALL_STATE(100)] = 8689, + [SMALL_STATE(101)] = 8724, + [SMALL_STATE(102)] = 8759, + [SMALL_STATE(103)] = 8794, + [SMALL_STATE(104)] = 8829, + [SMALL_STATE(105)] = 8864, + [SMALL_STATE(106)] = 8899, + [SMALL_STATE(107)] = 8953, + [SMALL_STATE(108)] = 9007, + [SMALL_STATE(109)] = 9061, + [SMALL_STATE(110)] = 9094, + [SMALL_STATE(111)] = 9127, + [SMALL_STATE(112)] = 9160, + [SMALL_STATE(113)] = 9196, + [SMALL_STATE(114)] = 9232, + [SMALL_STATE(115)] = 9268, + [SMALL_STATE(116)] = 9297, + [SMALL_STATE(117)] = 9326, + [SMALL_STATE(118)] = 9355, + [SMALL_STATE(119)] = 9386, + [SMALL_STATE(120)] = 9417, + [SMALL_STATE(121)] = 9448, + [SMALL_STATE(122)] = 9474, + [SMALL_STATE(123)] = 9505, + [SMALL_STATE(124)] = 9530, + [SMALL_STATE(125)] = 9555, + [SMALL_STATE(126)] = 9580, + [SMALL_STATE(127)] = 9605, + [SMALL_STATE(128)] = 9636, + [SMALL_STATE(129)] = 9667, + [SMALL_STATE(130)] = 9692, + [SMALL_STATE(131)] = 9717, + [SMALL_STATE(132)] = 9742, + [SMALL_STATE(133)] = 9767, + [SMALL_STATE(134)] = 9792, + [SMALL_STATE(135)] = 9817, + [SMALL_STATE(136)] = 9842, + [SMALL_STATE(137)] = 9867, + [SMALL_STATE(138)] = 9892, + [SMALL_STATE(139)] = 9917, + [SMALL_STATE(140)] = 9942, + [SMALL_STATE(141)] = 9967, + [SMALL_STATE(142)] = 9992, + [SMALL_STATE(143)] = 10017, + [SMALL_STATE(144)] = 10042, + [SMALL_STATE(145)] = 10067, + [SMALL_STATE(146)] = 10092, + [SMALL_STATE(147)] = 10117, + [SMALL_STATE(148)] = 10142, + [SMALL_STATE(149)] = 10167, + [SMALL_STATE(150)] = 10192, + [SMALL_STATE(151)] = 10217, + [SMALL_STATE(152)] = 10242, + [SMALL_STATE(153)] = 10267, + [SMALL_STATE(154)] = 10294, + [SMALL_STATE(155)] = 10318, + [SMALL_STATE(156)] = 10350, + [SMALL_STATE(157)] = 10382, + [SMALL_STATE(158)] = 10414, + [SMALL_STATE(159)] = 10435, + [SMALL_STATE(160)] = 10460, + [SMALL_STATE(161)] = 10481, + [SMALL_STATE(162)] = 10506, + [SMALL_STATE(163)] = 10527, + [SMALL_STATE(164)] = 10548, + [SMALL_STATE(165)] = 10579, + [SMALL_STATE(166)] = 10604, + [SMALL_STATE(167)] = 10635, + [SMALL_STATE(168)] = 10656, + [SMALL_STATE(169)] = 10677, + [SMALL_STATE(170)] = 10708, + [SMALL_STATE(171)] = 10739, + [SMALL_STATE(172)] = 10760, + [SMALL_STATE(173)] = 10781, + [SMALL_STATE(174)] = 10802, + [SMALL_STATE(175)] = 10833, + [SMALL_STATE(176)] = 10854, + [SMALL_STATE(177)] = 10875, + [SMALL_STATE(178)] = 10896, + [SMALL_STATE(179)] = 10917, + [SMALL_STATE(180)] = 10945, + [SMALL_STATE(181)] = 10973, + [SMALL_STATE(182)] = 11001, + [SMALL_STATE(183)] = 11021, + [SMALL_STATE(184)] = 11049, + [SMALL_STATE(185)] = 11077, + [SMALL_STATE(186)] = 11105, + [SMALL_STATE(187)] = 11133, + [SMALL_STATE(188)] = 11156, + [SMALL_STATE(189)] = 11181, + [SMALL_STATE(190)] = 11206, + [SMALL_STATE(191)] = 11231, + [SMALL_STATE(192)] = 11254, + [SMALL_STATE(193)] = 11281, + [SMALL_STATE(194)] = 11304, + [SMALL_STATE(195)] = 11331, + [SMALL_STATE(196)] = 11349, + [SMALL_STATE(197)] = 11371, + [SMALL_STATE(198)] = 11393, + [SMALL_STATE(199)] = 11415, + [SMALL_STATE(200)] = 11437, + [SMALL_STATE(201)] = 11454, + [SMALL_STATE(202)] = 11475, + [SMALL_STATE(203)] = 11496, + [SMALL_STATE(204)] = 11515, + [SMALL_STATE(205)] = 11532, + [SMALL_STATE(206)] = 11549, + [SMALL_STATE(207)] = 11568, + [SMALL_STATE(208)] = 11585, + [SMALL_STATE(209)] = 11604, + [SMALL_STATE(210)] = 11620, + [SMALL_STATE(211)] = 11638, + [SMALL_STATE(212)] = 11656, + [SMALL_STATE(213)] = 11672, + [SMALL_STATE(214)] = 11688, + [SMALL_STATE(215)] = 11714, + [SMALL_STATE(216)] = 11730, + [SMALL_STATE(217)] = 11748, + [SMALL_STATE(218)] = 11765, + [SMALL_STATE(219)] = 11780, + [SMALL_STATE(220)] = 11793, + [SMALL_STATE(221)] = 11810, + [SMALL_STATE(222)] = 11827, + [SMALL_STATE(223)] = 11850, + [SMALL_STATE(224)] = 11862, + [SMALL_STATE(225)] = 11876, + [SMALL_STATE(226)] = 11893, + [SMALL_STATE(227)] = 11904, + [SMALL_STATE(228)] = 11919, + [SMALL_STATE(229)] = 11936, + [SMALL_STATE(230)] = 11951, + [SMALL_STATE(231)] = 11965, + [SMALL_STATE(232)] = 11981, + [SMALL_STATE(233)] = 11995, + [SMALL_STATE(234)] = 12009, + [SMALL_STATE(235)] = 12023, + [SMALL_STATE(236)] = 12037, + [SMALL_STATE(237)] = 12051, + [SMALL_STATE(238)] = 12065, + [SMALL_STATE(239)] = 12079, + [SMALL_STATE(240)] = 12093, + [SMALL_STATE(241)] = 12107, + [SMALL_STATE(242)] = 12123, + [SMALL_STATE(243)] = 12137, + [SMALL_STATE(244)] = 12151, + [SMALL_STATE(245)] = 12167, + [SMALL_STATE(246)] = 12176, + [SMALL_STATE(247)] = 12189, + [SMALL_STATE(248)] = 12202, + [SMALL_STATE(249)] = 12215, + [SMALL_STATE(250)] = 12228, + [SMALL_STATE(251)] = 12241, + [SMALL_STATE(252)] = 12254, + [SMALL_STATE(253)] = 12263, + [SMALL_STATE(254)] = 12272, + [SMALL_STATE(255)] = 12285, + [SMALL_STATE(256)] = 12298, + [SMALL_STATE(257)] = 12311, + [SMALL_STATE(258)] = 12320, + [SMALL_STATE(259)] = 12333, + [SMALL_STATE(260)] = 12346, + [SMALL_STATE(261)] = 12355, + [SMALL_STATE(262)] = 12368, + [SMALL_STATE(263)] = 12381, + [SMALL_STATE(264)] = 12394, + [SMALL_STATE(265)] = 12407, + [SMALL_STATE(266)] = 12420, + [SMALL_STATE(267)] = 12433, + [SMALL_STATE(268)] = 12446, + [SMALL_STATE(269)] = 12459, + [SMALL_STATE(270)] = 12472, + [SMALL_STATE(271)] = 12485, + [SMALL_STATE(272)] = 12498, + [SMALL_STATE(273)] = 12511, + [SMALL_STATE(274)] = 12524, + [SMALL_STATE(275)] = 12533, + [SMALL_STATE(276)] = 12546, + [SMALL_STATE(277)] = 12559, + [SMALL_STATE(278)] = 12572, + [SMALL_STATE(279)] = 12585, + [SMALL_STATE(280)] = 12598, + [SMALL_STATE(281)] = 12611, + [SMALL_STATE(282)] = 12624, + [SMALL_STATE(283)] = 12637, + [SMALL_STATE(284)] = 12650, + [SMALL_STATE(285)] = 12659, + [SMALL_STATE(286)] = 12672, + [SMALL_STATE(287)] = 12683, + [SMALL_STATE(288)] = 12696, + [SMALL_STATE(289)] = 12709, + [SMALL_STATE(290)] = 12722, + [SMALL_STATE(291)] = 12731, + [SMALL_STATE(292)] = 12744, + [SMALL_STATE(293)] = 12752, + [SMALL_STATE(294)] = 12760, + [SMALL_STATE(295)] = 12768, + [SMALL_STATE(296)] = 12776, + [SMALL_STATE(297)] = 12786, + [SMALL_STATE(298)] = 12794, + [SMALL_STATE(299)] = 12804, + [SMALL_STATE(300)] = 12812, + [SMALL_STATE(301)] = 12822, + [SMALL_STATE(302)] = 12830, + [SMALL_STATE(303)] = 12838, + [SMALL_STATE(304)] = 12848, + [SMALL_STATE(305)] = 12858, + [SMALL_STATE(306)] = 12866, + [SMALL_STATE(307)] = 12874, + [SMALL_STATE(308)] = 12882, + [SMALL_STATE(309)] = 12890, + [SMALL_STATE(310)] = 12900, + [SMALL_STATE(311)] = 12910, + [SMALL_STATE(312)] = 12920, + [SMALL_STATE(313)] = 12930, + [SMALL_STATE(314)] = 12940, + [SMALL_STATE(315)] = 12950, + [SMALL_STATE(316)] = 12960, + [SMALL_STATE(317)] = 12970, + [SMALL_STATE(318)] = 12980, + [SMALL_STATE(319)] = 12990, + [SMALL_STATE(320)] = 13000, + [SMALL_STATE(321)] = 13010, + [SMALL_STATE(322)] = 13018, + [SMALL_STATE(323)] = 13028, + [SMALL_STATE(324)] = 13038, + [SMALL_STATE(325)] = 13048, + [SMALL_STATE(326)] = 13056, + [SMALL_STATE(327)] = 13066, + [SMALL_STATE(328)] = 13074, + [SMALL_STATE(329)] = 13082, + [SMALL_STATE(330)] = 13092, + [SMALL_STATE(331)] = 13100, + [SMALL_STATE(332)] = 13110, + [SMALL_STATE(333)] = 13120, + [SMALL_STATE(334)] = 13130, + [SMALL_STATE(335)] = 13138, + [SMALL_STATE(336)] = 13148, + [SMALL_STATE(337)] = 13158, + [SMALL_STATE(338)] = 13166, + [SMALL_STATE(339)] = 13174, + [SMALL_STATE(340)] = 13184, + [SMALL_STATE(341)] = 13194, + [SMALL_STATE(342)] = 13204, + [SMALL_STATE(343)] = 13212, + [SMALL_STATE(344)] = 13222, + [SMALL_STATE(345)] = 13232, + [SMALL_STATE(346)] = 13239, + [SMALL_STATE(347)] = 13246, + [SMALL_STATE(348)] = 13253, + [SMALL_STATE(349)] = 13260, + [SMALL_STATE(350)] = 13267, + [SMALL_STATE(351)] = 13274, + [SMALL_STATE(352)] = 13281, + [SMALL_STATE(353)] = 13288, + [SMALL_STATE(354)] = 13295, + [SMALL_STATE(355)] = 13302, + [SMALL_STATE(356)] = 13309, + [SMALL_STATE(357)] = 13316, + [SMALL_STATE(358)] = 13323, + [SMALL_STATE(359)] = 13330, + [SMALL_STATE(360)] = 13337, + [SMALL_STATE(361)] = 13344, + [SMALL_STATE(362)] = 13351, + [SMALL_STATE(363)] = 13358, + [SMALL_STATE(364)] = 13365, + [SMALL_STATE(365)] = 13372, + [SMALL_STATE(366)] = 13379, + [SMALL_STATE(367)] = 13386, + [SMALL_STATE(368)] = 13393, + [SMALL_STATE(369)] = 13400, + [SMALL_STATE(370)] = 13407, + [SMALL_STATE(371)] = 13414, + [SMALL_STATE(372)] = 13421, + [SMALL_STATE(373)] = 13428, + [SMALL_STATE(374)] = 13435, + [SMALL_STATE(375)] = 13442, + [SMALL_STATE(376)] = 13449, + [SMALL_STATE(377)] = 13456, + [SMALL_STATE(378)] = 13463, + [SMALL_STATE(379)] = 13470, + [SMALL_STATE(380)] = 13477, + [SMALL_STATE(381)] = 13484, + [SMALL_STATE(382)] = 13491, + [SMALL_STATE(383)] = 13498, + [SMALL_STATE(384)] = 13505, + [SMALL_STATE(385)] = 13512, + [SMALL_STATE(386)] = 13519, + [SMALL_STATE(387)] = 13526, + [SMALL_STATE(388)] = 13533, + [SMALL_STATE(389)] = 13540, + [SMALL_STATE(390)] = 13547, + [SMALL_STATE(391)] = 13554, + [SMALL_STATE(392)] = 13561, + [SMALL_STATE(393)] = 13568, + [SMALL_STATE(394)] = 13575, + [SMALL_STATE(395)] = 13582, + [SMALL_STATE(396)] = 13589, + [SMALL_STATE(397)] = 13596, + [SMALL_STATE(398)] = 13603, + [SMALL_STATE(399)] = 13610, + [SMALL_STATE(400)] = 13617, + [SMALL_STATE(401)] = 13624, + [SMALL_STATE(402)] = 13631, + [SMALL_STATE(403)] = 13638, + [SMALL_STATE(404)] = 13645, + [SMALL_STATE(405)] = 13652, + [SMALL_STATE(406)] = 13659, + [SMALL_STATE(407)] = 13666, + [SMALL_STATE(408)] = 13673, + [SMALL_STATE(409)] = 13680, + [SMALL_STATE(410)] = 13687, + [SMALL_STATE(411)] = 13694, + [SMALL_STATE(412)] = 13701, + [SMALL_STATE(413)] = 13708, + [SMALL_STATE(414)] = 13715, + [SMALL_STATE(415)] = 13722, + [SMALL_STATE(416)] = 13729, + [SMALL_STATE(417)] = 13736, + [SMALL_STATE(418)] = 13743, + [SMALL_STATE(419)] = 13750, + [SMALL_STATE(420)] = 13757, + [SMALL_STATE(421)] = 13764, + [SMALL_STATE(422)] = 13771, + [SMALL_STATE(423)] = 13778, + [SMALL_STATE(424)] = 13785, + [SMALL_STATE(425)] = 13792, + [SMALL_STATE(426)] = 13799, + [SMALL_STATE(427)] = 13806, + [SMALL_STATE(428)] = 13813, + [SMALL_STATE(429)] = 13820, + [SMALL_STATE(430)] = 13827, + [SMALL_STATE(431)] = 13834, + [SMALL_STATE(432)] = 13841, + [SMALL_STATE(433)] = 13848, + [SMALL_STATE(434)] = 13855, + [SMALL_STATE(435)] = 13862, + [SMALL_STATE(436)] = 13869, + [SMALL_STATE(437)] = 13876, + [SMALL_STATE(438)] = 13883, + [SMALL_STATE(439)] = 13890, + [SMALL_STATE(440)] = 13897, + [SMALL_STATE(441)] = 13904, + [SMALL_STATE(442)] = 13911, + [SMALL_STATE(443)] = 13918, + [SMALL_STATE(444)] = 13925, + [SMALL_STATE(445)] = 13932, + [SMALL_STATE(446)] = 13939, + [SMALL_STATE(447)] = 13946, + [SMALL_STATE(448)] = 13953, + [SMALL_STATE(449)] = 13960, + [SMALL_STATE(450)] = 13967, + [SMALL_STATE(451)] = 13974, + [SMALL_STATE(452)] = 13981, + [SMALL_STATE(453)] = 13988, + [SMALL_STATE(454)] = 13995, + [SMALL_STATE(455)] = 14002, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(394), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(263), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(272), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(219), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), - [59] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208), - [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(307), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), - [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(213), - [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), - [91] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), - [93] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(213), - [96] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(304), - [99] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), - [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(186), - [104] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(307), - [107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(408), - [110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(410), - [113] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(412), - [116] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(271), - [119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat2, 2, 0, 0), SHIFT_REPEAT(219), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), - [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), - [126] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(13), - [129] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(404), - [132] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(99), - [135] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(381), - [138] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(325), - [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(333), - [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), - [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix, 1, 0, 0), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix, 1, 0, 0), - [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(404), - [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), - [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), - [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(333), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix, 2, 0, 0), - [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix, 2, 0, 0), - [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(391), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(271), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), + [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(313), + [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(317), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(349), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(413), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), + [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), + [65] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [69] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(430), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(214), + [75] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [81] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [83] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), + [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(364), + [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), + [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), + [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(222), + [93] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [95] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), + [97] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [99] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_braced_block_repeat1, 2, 0, 0), SHIFT_REPEAT(222), + [102] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_braced_block_repeat1, 2, 0, 0), SHIFT_REPEAT(54), + [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_braced_block_repeat1, 2, 0, 0), + [107] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_braced_block_repeat1, 2, 0, 0), SHIFT_REPEAT(183), + [110] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_braced_block_repeat1, 2, 0, 0), SHIFT_REPEAT(7), + [113] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_braced_block_repeat1, 2, 0, 0), SHIFT_REPEAT(363), + [116] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_braced_block_repeat1, 2, 0, 0), SHIFT_REPEAT(364), + [119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_braced_block_repeat1, 2, 0, 0), SHIFT_REPEAT(369), + [122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_braced_block_repeat1, 2, 0, 0), SHIFT_REPEAT(304), + [125] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_braced_block_repeat1, 2, 0, 0), SHIFT_REPEAT(213), + [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 1, 0, 0), + [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 1, 0, 0), + [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), + [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), + [138] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(421), + [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(22), + [144] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(83), + [147] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(423), + [150] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(424), + [153] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_postfix_repeat1, 2, 0, 0), SHIFT_REPEAT(425), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix, 2, 0, 0), + [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix, 2, 0, 0), + [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(421), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(423), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), + [170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(425), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix, 1, 0, 0), + [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix, 1, 0, 0), [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), - [180] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), SHIFT_REPEAT(64), - [183] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), SHIFT_REPEAT(64), + [180] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), SHIFT_REPEAT(67), + [183] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_unary_repeat1, 2, 0, 0), SHIFT_REPEAT(67), [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_op, 1, 0, 0), [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_op, 1, 0, 0), [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primary, 1, 0, 0), [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_primary, 1, 0, 0), - [194] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_base_type, 1, 0, 0), SHIFT(3), - [197] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_primary, 1, 0, 0), REDUCE(sym_base_type, 1, 0, 0), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_index, 3, 0, 0), - [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_index, 3, 0, 0), - [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 3, 0, 0), - [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 3, 0, 0), - [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized, 3, 0, 0), - [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized, 3, 0, 0), - [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 2, 0, 0), - [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 2, 0, 0), - [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_unit, 1, 0, 0), - [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_unit, 1, 0, 0), - [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 2, 0, 0), - [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 2, 0, 0), - [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 4, 0, 0), - [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 4, 0, 0), - [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), - [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), - [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), - [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output_field_name, 1, 0, 0), - [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_output_field_name, 1, 0, 0), - [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output_field, 2, 0, 1), - [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_output_field, 2, 0, 1), - [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_input_field_name, 1, 0, 0), - [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_input_field_name, 1, 0, 0), - [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_input_field, 2, 0, 1), - [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_input_field, 2, 0, 1), - [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_date_literal, 4, 0, 0), - [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_date_literal, 4, 0, 0), - [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 2, 0, 0), - [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 2, 0, 0), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 3, 0, 0), - [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 3, 0, 0), - [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reverse_call, 3, 0, 0), - [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_reverse_call, 3, 0, 0), - [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), - [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 4, 0, 0), - [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 4, 0, 0), - [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instantiation, 3, 0, 0), - [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instantiation, 3, 0, 0), - [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_introspection, 3, 0, 5), - [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_introspection, 3, 0, 5), - [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 2, 0, 0), - [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 2, 0, 0), - [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nullary_op, 1, 0, 0), - [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nullary_op, 1, 0, 0), - [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 5, 0, 0), - [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 5, 0, 0), - [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0), - [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 5, 0, 0), - [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 4, 0, 0), - [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 4, 0, 0), - [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_split_call, 4, 0, 0), - [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_split_call, 4, 0, 0), - [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 5, 0, 0), - [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 5, 0, 0), + [194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 4, 0, 0), + [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 4, 0, 0), + [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 2, 0, 0), + [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 2, 0, 0), + [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_unit, 1, 0, 0), + [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_unit, 1, 0, 0), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 4, 0, 0), + [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 4, 0, 0), + [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean_literal, 1, 0, 0), + [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output_field_name, 1, 0, 0), + [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_output_field_name, 1, 0, 0), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_output_field, 2, 0, 1), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_output_field, 2, 0, 1), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_input_field_name, 1, 0, 0), + [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_input_field_name, 1, 0, 0), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_input_field, 2, 0, 1), + [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_input_field, 2, 0, 1), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_date_literal, 4, 0, 0), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_date_literal, 4, 0, 0), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 3, 0, 0), + [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 3, 0, 0), + [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_reverse_call, 3, 0, 0), + [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_reverse_call, 3, 0, 0), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), + [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), + [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 4, 0, 0), + [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 4, 0, 0), + [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_op, 1, 0, 0), + [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_op, 1, 0, 0), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_nullary_op, 1, 0, 0), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_nullary_op, 1, 0, 0), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_number_literal, 2, 0, 0), + [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_number_literal, 2, 0, 0), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 3, 0, 0), + [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 3, 0, 0), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized, 3, 0, 0), + [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized, 3, 0, 0), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 3, 0, 0), + [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 3, 0, 0), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 2, 0, 0), + [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 2, 0, 0), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_object, 5, 0, 0), + [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_object, 5, 0, 0), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 5, 0, 0), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 5, 0, 0), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_instantiation, 3, 0, 0), + [290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_instantiation, 3, 0, 0), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 4, 0, 0), + [294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 4, 0, 0), + [296] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_split_call, 4, 0, 0), + [298] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_split_call, 4, 0, 0), + [300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_introspection, 3, 0, 6), + [302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_introspection, 3, 0, 6), + [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 5, 0, 0), + [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 5, 0, 0), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 2, 0, 0), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 2, 0, 0), [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression_list, 5, 0, 0), [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression_list, 5, 0, 0), [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 6, 0, 0), @@ -14197,107 +15595,107 @@ static const TSParseActionEntry ts_parse_actions[] = { [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_slice_call, 6, 0, 0), [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast, 7, 0, 0), [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast, 7, 0, 0), - [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_postfix_op, 1, 0, 0), - [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_postfix_op, 1, 0, 0), - [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_access, 2, 0, 1), - [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_access, 2, 0, 1), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field_access, 2, 0, 1), + [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_field_access, 2, 0, 1), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_index, 3, 0, 0), + [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_index, 3, 0, 0), [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array, 2, 0, 0), [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array, 2, 0, 0), - [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), - [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), - [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), - [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), - [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), - [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(314), - [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), - [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(225), - [356] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(219), - [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), - [361] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(409), - [364] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(314), - [367] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(363), - [370] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(219), - [373] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(225), - [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_factor, 1, 0, 0), - [378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_factor, 1, 0, 0), - [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [382] = {.entry = {.count = 1, .reusable = false}}, SHIFT(39), - [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(388), - [386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), - [388] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), - [390] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), SHIFT_REPEAT(39), - [393] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), SHIFT_REPEAT(39), - [396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_factor, 2, 0, 0), - [398] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_factor, 2, 0, 0), - [400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary, 2, 0, 0), - [402] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary, 2, 0, 0), - [404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary, 1, 0, 0), - [406] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary, 1, 0, 0), - [408] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 2, 0, 0), - [410] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_term, 2, 0, 0), - [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), - [414] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), - [416] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), - [418] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(38), - [421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 1, 0, 0), - [423] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_term, 1, 0, 0), - [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, 0, 0), - [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, 0, 0), - [429] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 11, 0, 0), - [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 11, 0, 0), - [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, 0, 0), - [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0), - [437] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison, 2, 0, 0), - [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), - [443] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison, 2, 0, 0), - [445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_statement, 2, 0, 0), - [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_statement, 2, 0, 0), - [449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison, 1, 0, 0), - [451] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison, 1, 0, 0), - [453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), - [455] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), SHIFT_REPEAT(37), - [458] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), SHIFT_REPEAT(37), - [461] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), - [463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), - [465] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), - [467] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_console_statement, 3, 0, 0), - [469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_statement, 3, 0, 0), - [471] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 3, 0, 1), - [473] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 3, 0, 1), - [475] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assign_statement, 4, 0, 7), - [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assign_statement, 4, 0, 7), - [479] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 4, 0, 3), - [481] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 4, 0, 3), - [483] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_require_statement, 5, 0, 0), - [485] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require_statement, 5, 0, 0), - [487] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 0), - [489] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 0), - [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 1, 0, 0), - [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 1, 0, 0), - [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 5, 0, 2), - [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 5, 0, 2), - [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_function_call_assignment, 6, 0, 0), - [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_function_call_assignment, 6, 0, 0), - [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_assignment, 6, 0, 0), - [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_assignment, 6, 0, 0), - [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), - [511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), - [513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_push_statement, 6, 0, 8), - [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_push_statement, 6, 0, 8), - [517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 6, 0, 4), - [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 6, 0, 4), - [521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_function_call_assignment, 7, 0, 0), - [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_function_call_assignment, 7, 0, 0), - [525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_assignment, 7, 0, 0), - [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_assignment, 7, 0, 0), - [529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_require_statement, 7, 0, 0), - [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require_statement, 7, 0, 0), - [533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_time_op_statement, 7, 0, 0), - [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_time_op_statement, 7, 0, 0), - [537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3, 0, 0), - [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, 0, 0), + [340] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(218), + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), + [345] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(445), + [348] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(451), + [351] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(351), + [354] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(312), + [357] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(213), + [360] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218), + [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), + [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(445), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), + [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(422), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), + [380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_factor, 2, 0, 0), + [382] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_factor, 2, 0, 0), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [386] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), + [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), + [390] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), + [392] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), SHIFT_REPEAT(52), + [395] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_factor_repeat1, 2, 0, 0), SHIFT_REPEAT(52), + [398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_factor, 1, 0, 0), + [400] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_factor, 1, 0, 0), + [402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary, 2, 0, 0), + [404] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary, 2, 0, 0), + [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary, 1, 0, 0), + [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary, 1, 0, 0), + [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 1, 0, 0), + [412] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_term, 1, 0, 0), + [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [416] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), + [418] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), + [420] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_term_repeat1, 2, 0, 0), SHIFT_REPEAT(51), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_term, 2, 0, 0), + [425] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_term, 2, 0, 0), + [427] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), + [429] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), SHIFT_REPEAT(50), + [432] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), SHIFT_REPEAT(50), + [435] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_comparison_repeat1, 2, 0, 0), + [437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_braced_block, 2, 0, 0), + [439] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_braced_block, 2, 0, 0), + [441] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 3, 0, 0), + [443] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 3, 0, 0), + [445] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_console_statement, 3, 0, 0), + [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_statement, 3, 0, 0), + [449] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 3, 0, 1), + [451] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 3, 0, 1), + [453] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison, 2, 0, 0), + [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [457] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), + [459] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison, 2, 0, 0), + [461] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_comparison, 1, 0, 0), + [463] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_comparison, 1, 0, 0), + [465] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assign_statement, 4, 0, 4), + [467] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assign_statement, 4, 0, 4), + [469] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 4, 0, 2), + [471] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 4, 0, 2), + [473] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_statement, 2, 0, 0), + [475] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_statement, 2, 0, 0), + [477] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_require_statement, 5, 0, 0), + [479] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require_statement, 5, 0, 0), + [481] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_braced_block, 3, 0, 0), + [483] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_braced_block, 3, 0, 0), + [485] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 5, 0, 3), + [487] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 5, 0, 3), + [489] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_destructure_assignment, 6, 0, 0), + [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_destructure_assignment, 6, 0, 0), + [493] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_function_call_assignment, 6, 0, 0), + [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_function_call_assignment, 6, 0, 0), + [497] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_assignment, 6, 0, 0), + [499] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_assignment, 6, 0, 0), + [501] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1, 0, 0), + [503] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0), + [505] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_push_statement, 6, 0, 8), + [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_push_statement, 6, 0, 8), + [509] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_definition, 6, 0, 5), + [511] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_definition, 6, 0, 5), + [513] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_destructure_assignment, 7, 0, 0), + [515] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_destructure_assignment, 7, 0, 0), + [517] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_function_call_assignment, 7, 0, 0), + [519] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_function_call_assignment, 7, 0, 0), + [521] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_assignment, 7, 0, 0), + [523] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call_assignment, 7, 0, 0), + [525] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_require_statement, 7, 0, 0), + [527] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require_statement, 7, 0, 0), + [529] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_time_op_statement, 7, 0, 0), + [531] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_time_op_statement, 7, 0, 0), + [533] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 7, 0, 0), + [535] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 7, 0, 0), + [537] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_destructure_assignment, 8, 0, 0), + [539] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_destructure_assignment, 8, 0, 0), [541] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_state_function_call_assignment, 8, 0, 0), [543] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_function_call_assignment, 8, 0, 0), [545] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call_assignment, 8, 0, 0), @@ -14306,321 +15704,358 @@ static const TSParseActionEntry ts_parse_actions[] = { [551] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_assignment, 8, 0, 0), [553] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_time_op_statement, 9, 0, 0), [555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_time_op_statement, 9, 0, 0), - [557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_item, 1, 0, 0), - [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_item, 1, 0, 0), - [561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 1), - [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 1), - [565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equality, 1, 0, 0), - [567] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_equality, 1, 0, 0), - [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equality, 2, 0, 0), - [573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_equality, 2, 0, 0), - [575] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_field_definition, 5, 0, 2), - [577] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_field_definition, 5, 0, 2), - [579] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, 0, 3), - [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, 0, 3), - [583] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 6), - [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 6), - [587] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 3), - [589] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 3), - [591] = {.entry = {.count = 1, .reusable = false}}, SHIFT(305), - [593] = {.entry = {.count = 1, .reusable = true}}, SHIFT(354), - [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 8, 0, 6), - [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 8, 0, 6), - [599] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), - [601] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 1), - [603] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 1), - [605] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), - [607] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_definition, 6, 0, 4), - [609] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_definition, 6, 0, 4), - [611] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 9, 0, 6), - [613] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 9, 0, 6), - [615] = {.entry = {.count = 1, .reusable = true}}, SHIFT(167), - [617] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 5, 0, 1), - [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 1), - [621] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(219), - [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), - [626] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(219), - [629] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_equality_repeat1, 2, 0, 0), - [631] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_equality_repeat1, 2, 0, 0), - [633] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_equality_repeat1, 2, 0, 0), SHIFT_REPEAT(36), - [636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 1), - [638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 1), - [640] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 4, 0, 1), - [642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, 0, 1), - [644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), - [646] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 3), - [648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 3), - [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(376), - [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), - [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), - [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(344), - [658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), - [660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(396), - [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), - [664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), - [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_and, 1, 0, 0), - [668] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_and, 1, 0, 0), - [670] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), - [674] = {.entry = {.count = 1, .reusable = false}}, SHIFT(323), - [676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), - [678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_and_repeat1, 2, 0, 0), - [680] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bit_and_repeat1, 2, 0, 0), - [682] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_bit_and_repeat1, 2, 0, 0), SHIFT_REPEAT(35), - [685] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_and, 2, 0, 0), - [687] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_and, 2, 0, 0), - [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_value, 1, 0, 0), - [691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_xor, 1, 0, 0), - [693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_xor, 1, 0, 0), - [697] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_xor_repeat1, 2, 0, 0), - [699] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_bit_xor_repeat1, 2, 0, 0), SHIFT_REPEAT(34), - [702] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bit_xor_repeat1, 2, 0, 0), - [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_xor, 2, 0, 0), - [706] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_xor, 2, 0, 0), - [708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_or_repeat1, 2, 0, 0), - [710] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_bit_or_repeat1, 2, 0, 0), SHIFT_REPEAT(33), - [713] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_definition, 3, 0, 1), - [715] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_definition, 3, 0, 1), - [717] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_or, 1, 0, 0), - [719] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_version_constraint, 2, 0, 0), - [723] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_version_constraint, 2, 0, 0), - [725] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_version_constraint, 1, 0, 0), - [727] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_version_constraint, 1, 0, 0), - [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_or, 2, 0, 0), - [731] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_and, 2, 0, 0), - [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [735] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bit_or_repeat1, 2, 0, 0), - [737] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_logical_and_repeat1, 2, 0, 0), - [739] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logical_and_repeat1, 2, 0, 0), SHIFT_REPEAT(32), - [742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_and, 1, 0, 0), - [744] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_name_repeat1, 2, 0, 0), - [746] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_name_repeat1, 2, 0, 0), - [748] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_name_repeat1, 2, 0, 0), SHIFT_REPEAT(224), - [751] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 1, 0, 0), - [753] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 1, 0, 0), - [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [757] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 1, 0, 0), - [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 1, 0, 0), - [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), - [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(357), - [769] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 2, 0, 0), - [771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 2, 0, 0), - [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_logical_or_repeat1, 2, 0, 0), - [775] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logical_or_repeat1, 2, 0, 0), SHIFT_REPEAT(31), - [778] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_or, 1, 0, 0), - [780] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [782] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_or, 2, 0, 0), - [784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [786] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_suffix, 3, 0, 0), - [788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_suffix, 3, 0, 0), - [790] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_suffix, 2, 0, 0), - [792] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_suffix, 2, 0, 0), - [794] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), - [796] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(351), - [799] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), - [801] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, 0, 0), SHIFT_REPEAT(27), - [804] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_expression_list_repeat1, 2, 0, 0), - [806] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), - [808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(218), - [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(343), - [812] = {.entry = {.count = 1, .reusable = true}}, SHIFT(322), - [814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(229), - [816] = {.entry = {.count = 1, .reusable = false}}, SHIFT(248), - [818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), - [820] = {.entry = {.count = 1, .reusable = false}}, SHIFT(283), - [822] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_variable_definition_repeat1, 2, 0, 0), - [824] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_variable_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(296), - [827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat1, 2, 0, 0), - [829] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(229), - [832] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [834] = {.entry = {.count = 1, .reusable = true}}, SHIFT(255), - [836] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [842] = {.entry = {.count = 1, .reusable = true}}, SHIFT(359), - [844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), - [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), - [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [854] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_console_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(175), - [857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_console_parameter_list_repeat1, 2, 0, 0), - [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(368), - [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), - [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [865] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), - [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_state_function_call_assignment_repeat1, 2, 0, 0), - [871] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_state_function_call_assignment_repeat1, 2, 0, 0), SHIFT_REPEAT(289), - [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [876] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_return_type_list_repeat1, 2, 0, 0), SHIFT_REPEAT(189), - [879] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_return_type_list_repeat1, 2, 0, 0), - [881] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_assignment_repeat1, 2, 0, 0), SHIFT_REPEAT(185), - [884] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_assignment_repeat1, 2, 0, 0), - [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(369), - [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), - [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(190), - [898] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), - [900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), - [902] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), - [904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), - [906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(312), - [908] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [910] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), - [912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(380), - [918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), - [924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), - [926] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(181), - [929] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), - [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_state_object_repeat1, 2, 0, 0), - [937] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_state_object_repeat1, 2, 0, 0), SHIFT_REPEAT(282), - [940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2, 0, 0), - [944] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0), - [946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_entry, 3, 0, 0), - [948] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 5, 0, 0), - [950] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), - [952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [954] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), - [956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(346), - [958] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(366), - [964] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), - [968] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_typed_binding, 4, 0, 0), - [970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(300), - [972] = {.entry = {.count = 1, .reusable = true}}, SHIFT(377), - [974] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), - [976] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [980] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_modifier, 1, 0, 0), - [982] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_modifier, 1, 0, 0), - [984] = {.entry = {.count = 1, .reusable = true}}, SHIFT(216), - [986] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), - [988] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typed_binding, 2, 0, 0), - [990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), - [992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(397), - [994] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter, 1, 0, 0), - [996] = {.entry = {.count = 1, .reusable = false}}, SHIFT(382), - [998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), - [1000] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 4, 0, 0), - [1002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [1004] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [1006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 3, 0, 0), - [1008] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [1010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(358), - [1012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), - [1014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(360), - [1016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(302), - [1018] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [1020] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 5, 0, 0), - [1022] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 4, 0, 0), - [1024] = {.entry = {.count = 1, .reusable = true}}, SHIFT(273), - [1026] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_version_operator, 1, 0, 0), - [1028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [1030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [1032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), - [1034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), - [1036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), - [1038] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [1040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(308), - [1042] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_value, 2, 0, 0), - [1044] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), - [1046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(345), - [1048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [1050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [1052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [1054] = {.entry = {.count = 1, .reusable = true}}, SHIFT(405), - [1056] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [1058] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [1060] = {.entry = {.count = 1, .reusable = true}}, SHIFT(297), - [1062] = {.entry = {.count = 1, .reusable = true}}, SHIFT(199), - [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), - [1066] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), - [1068] = {.entry = {.count = 1, .reusable = true}}, SHIFT(299), - [1070] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [1072] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require_message, 1, 0, 0), - [1074] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), - [1076] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [1078] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [1080] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [1082] = {.entry = {.count = 1, .reusable = true}}, SHIFT(182), - [1084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), - [1086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [1088] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 4, 0, 0), - [1090] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), - [1092] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [1094] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [1096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [1098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [1100] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [1102] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [1104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 6, 0, 0), - [1106] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [1108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2, 0, 0), - [1110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), - [1112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [1114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [1116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), - [1118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(288), - [1120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), - [1122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), - [1124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_size, 1, 0, 0), - [1128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), - [1130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [1132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), - [1134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [1136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(277), - [1138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [1140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [1142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [1144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 5, 0, 0), - [1146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tx_var, 1, 0, 0), - [1148] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [1152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [1154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_definition, 5, 0, 1), - [1156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [1158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [1160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [1162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 2, 0, 0), - [1164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), - [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(403), - [1170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 3, 0, 0), - [1172] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [1174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [1176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [1178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [1180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [1182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_definition, 6, 0, 1), - [1184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [1186] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [1188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), - [1190] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [1192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [1194] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [1196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), - [1198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [1200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [1202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(328), - [1204] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [557] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 11, 0, 0), + [559] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 11, 0, 0), + [561] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 0), + [563] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 0), + [565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [567] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [569] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(218), + [572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), + [574] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_struct_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(213), + [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [579] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_constant_definition, 6, 0, 5), + [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constant_definition, 6, 0, 5), + [583] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_equality_repeat1, 2, 0, 0), + [585] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_equality_repeat1, 2, 0, 0), + [587] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_equality_repeat1, 2, 0, 0), SHIFT_REPEAT(49), + [590] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_field_definition, 5, 0, 3), + [592] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_field_definition, 5, 0, 3), + [594] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equality, 2, 0, 0), + [596] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_equality, 2, 0, 0), + [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [600] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 7, 0, 7), + [602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 7, 0, 7), + [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(379), + [606] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_equality, 1, 0, 0), + [608] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_equality, 1, 0, 0), + [610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), + [612] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 1), + [614] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 1), + [616] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 4, 0, 1), + [618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, 0, 1), + [620] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), + [622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(431), + [624] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_definition, 5, 0, 1), + [626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 1), + [628] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 7), + [630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 7), + [632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 6, 0, 2), + [634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 6, 0, 2), + [636] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), + [638] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 4, 0, 1), + [640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 4, 0, 1), + [642] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_contract_item, 1, 0, 0), + [644] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_item, 1, 0, 0), + [646] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_definition, 5, 0, 2), + [648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_definition, 5, 0, 2), + [650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), + [652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(330), + [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(292), + [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_and, 1, 0, 0), + [660] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_and, 1, 0, 0), + [662] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), + [664] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_and, 2, 0, 0), + [666] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_and, 2, 0, 0), + [668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(409), + [670] = {.entry = {.count = 1, .reusable = false}}, SHIFT(409), + [672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_and_repeat1, 2, 0, 0), + [676] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bit_and_repeat1, 2, 0, 0), + [678] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_bit_and_repeat1, 2, 0, 0), SHIFT_REPEAT(48), + [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_value, 1, 0, 0), + [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_xor, 1, 0, 0), + [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [687] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_xor, 1, 0, 0), + [689] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_cast_type_name_repeat1, 2, 0, 0), + [691] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_cast_type_name_repeat1, 2, 0, 0), + [693] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_cast_type_name_repeat1, 2, 0, 0), SHIFT_REPEAT(227), + [696] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_xor, 2, 0, 0), + [698] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bit_xor, 2, 0, 0), + [700] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_xor_repeat1, 2, 0, 0), + [702] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_bit_xor_repeat1, 2, 0, 0), SHIFT_REPEAT(47), + [705] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bit_xor_repeat1, 2, 0, 0), + [707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_version_constraint, 1, 0, 0), + [709] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_version_constraint, 1, 0, 0), + [711] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 1, 0, 0), + [713] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 1, 0, 0), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), + [717] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_name, 2, 0, 0), + [719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_name, 2, 0, 0), + [721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_or, 1, 0, 0), + [723] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [725] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_struct_field_definition, 3, 0, 1), + [727] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_field_definition, 3, 0, 1), + [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_version_constraint, 2, 0, 0), + [731] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_version_constraint, 2, 0, 0), + [733] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bit_or, 2, 0, 0), + [735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_bit_or_repeat1, 2, 0, 0), + [737] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_bit_or_repeat1, 2, 0, 0), SHIFT_REPEAT(46), + [740] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_suffix, 2, 0, 0), + [742] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_suffix, 2, 0, 0), + [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_logical_and_repeat1, 2, 0, 0), + [746] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logical_and_repeat1, 2, 0, 0), SHIFT_REPEAT(45), + [749] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_and, 2, 0, 0), + [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_bit_or_repeat1, 2, 0, 0), + [755] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_builtin_type, 1, 0, 0), + [757] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_type, 1, 0, 0), + [759] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 1, 0, 0), + [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [763] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 1, 0, 0), + [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), + [769] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_suffix, 3, 0, 0), + [771] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_suffix, 3, 0, 0), + [773] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_and, 1, 0, 0), + [775] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_logical_or_repeat1, 2, 0, 0), + [777] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_logical_or_repeat1, 2, 0, 0), SHIFT_REPEAT(44), + [780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_or, 2, 0, 0), + [782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logical_or, 1, 0, 0), + [786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), + [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(375), + [792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(373), + [796] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), + [798] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat1, 2, 0, 0), + [800] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(312), + [803] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_path_repeat1, 2, 0, 0), + [805] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_path_repeat1, 2, 0, 0), SHIFT_REPEAT(404), + [808] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [810] = {.entry = {.count = 1, .reusable = true}}, SHIFT(186), + [812] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_declaration_source_file, 1, 0, 0), + [814] = {.entry = {.count = 1, .reusable = false}}, SHIFT(298), + [816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(339), + [818] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_contract_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(358), + [821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_contract_source_file_repeat1, 2, 0, 0), + [823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_declaration_source_file_repeat1, 2, 0, 0), + [825] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_declaration_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(391), + [828] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_type_name, 1, 0, 0), + [830] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_variable_definition_repeat1, 2, 0, 0), + [832] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_variable_definition_repeat1, 2, 0, 0), SHIFT_REPEAT(339), + [835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_return_expression_list_repeat1, 2, 0, 0), + [837] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_return_expression_list_repeat1, 2, 0, 0), SHIFT_REPEAT(37), + [840] = {.entry = {.count = 1, .reusable = false}}, SHIFT(268), + [842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_path, 1, 0, 0), + [844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), + [846] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_path, 2, 0, 0), + [848] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_type_name, 2, 0, 0), + [850] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_attribute, 3, 0, 0), + [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), + [854] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), + [856] = {.entry = {.count = 1, .reusable = true}}, SHIFT(408), + [858] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), + [860] = {.entry = {.count = 1, .reusable = true}}, SHIFT(262), + [862] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_return_type_list_repeat1, 2, 0, 0), SHIFT_REPEAT(190), + [865] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_return_type_list_repeat1, 2, 0, 0), + [867] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [869] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), + [871] = {.entry = {.count = 1, .reusable = true}}, SHIFT(352), + [873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 4, 0, 0), + [875] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_attribute, 4, 0, 0), + [877] = {.entry = {.count = 1, .reusable = true}}, SHIFT(350), + [879] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_state_object_repeat1, 2, 0, 0), + [883] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_state_object_repeat1, 2, 0, 0), SHIFT_REPEAT(344), + [886] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(179), + [889] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameter_list_repeat1, 2, 0, 0), + [891] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [893] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [895] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [897] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 3, 0, 0), + [899] = {.entry = {.count = 1, .reusable = true}}, SHIFT(438), + [901] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), + [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(374), + [905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_state_function_call_assignment_repeat1, 2, 0, 0), + [907] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_state_function_call_assignment_repeat1, 2, 0, 0), SHIFT_REPEAT(322), + [910] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_assignment_repeat1, 2, 0, 0), SHIFT_REPEAT(180), + [913] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_assignment_repeat1, 2, 0, 0), + [915] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attribute_args_repeat1, 2, 0, 0), SHIFT_REPEAT(300), + [918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attribute_args_repeat1, 2, 0, 0), + [920] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), + [924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [928] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [930] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), + [932] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(280), + [940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [942] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), + [946] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), + [948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(338), + [950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 5, 0, 0), + [952] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_console_parameter_list_repeat1, 2, 0, 0), SHIFT_REPEAT(17), + [955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_console_parameter_list_repeat1, 2, 0, 0), + [957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), + [959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), + [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), + [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), + [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), + [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(185), + [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), + [975] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter_list, 2, 0, 0), + [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(390), + [983] = {.entry = {.count = 1, .reusable = true}}, SHIFT(411), + [985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), + [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(435), + [991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), + [993] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 6, 0, 0), + [995] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter, 1, 0, 0), + [997] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 2, 0, 0), + [999] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_function_declaration, 5, 0, 1), + [1001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [1003] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [1005] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_arg, 3, 0, 4), + [1007] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_entry, 3, 0, 0), + [1009] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [1011] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [1013] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 2, 0, 0), + [1015] = {.entry = {.count = 1, .reusable = true}}, SHIFT(324), + [1017] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), + [1019] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), + [1021] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [1023] = {.entry = {.count = 1, .reusable = false}}, SHIFT(366), + [1025] = {.entry = {.count = 1, .reusable = true}}, SHIFT(365), + [1027] = {.entry = {.count = 1, .reusable = true}}, SHIFT(310), + [1029] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), + [1031] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), + [1033] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), + [1035] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), + [1037] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [1039] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_state_typed_binding, 4, 0, 0), + [1041] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 3, 0, 0), + [1043] = {.entry = {.count = 1, .reusable = true}}, SHIFT(336), + [1045] = {.entry = {.count = 1, .reusable = true}}, SHIFT(414), + [1047] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_builtin_function_declaration, 4, 0, 1), + [1049] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 5, 0, 0), + [1051] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [1053] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [1055] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_directive, 4, 0, 0), + [1057] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_type_list, 4, 0, 0), + [1059] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_modifier, 1, 0, 0), + [1061] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_modifier, 1, 0, 0), + [1063] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_typed_binding, 2, 0, 0), + [1065] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [1067] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [1069] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [1071] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), + [1073] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [1075] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [1077] = {.entry = {.count = 1, .reusable = true}}, SHIFT(367), + [1079] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [1081] = {.entry = {.count = 1, .reusable = true}}, SHIFT(311), + [1083] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 3, 0, 0), + [1085] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [1087] = {.entry = {.count = 1, .reusable = true}}, SHIFT(393), + [1089] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [1091] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), + [1093] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), + [1095] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [1097] = {.entry = {.count = 1, .reusable = true}}, SHIFT(337), + [1099] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_args, 4, 0, 0), + [1101] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [1103] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [1105] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), + [1107] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [1109] = {.entry = {.count = 1, .reusable = true}}, SHIFT(434), + [1111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_definition, 6, 0, 1), + [1113] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), + [1115] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [1117] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [1119] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), + [1121] = {.entry = {.count = 1, .reusable = true}}, SHIFT(419), + [1123] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [1125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_size, 1, 0, 0), + [1127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [1129] = {.entry = {.count = 1, .reusable = true}}, SHIFT(131), + [1131] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), + [1133] = {.entry = {.count = 1, .reusable = true}}, SHIFT(335), + [1135] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [1137] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_expression_list, 4, 0, 0), + [1139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [1141] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_require_message, 1, 0, 0), + [1143] = {.entry = {.count = 1, .reusable = true}}, SHIFT(412), + [1145] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [1147] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [1149] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [1151] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [1153] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 4, 0, 0), + [1155] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_args, 5, 0, 0), + [1157] = {.entry = {.count = 1, .reusable = true}}, SHIFT(303), + [1159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [1161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [1163] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [1165] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [1167] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [1169] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [1171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [1173] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [1175] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [1177] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [1179] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), + [1181] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [1183] = {.entry = {.count = 1, .reusable = true}}, SHIFT(290), + [1185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(315), + [1187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [1189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [1191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_version_operator, 1, 0, 0), + [1193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_expression_list, 5, 0, 0), + [1195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [1197] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [1199] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 2, 0, 0), + [1201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [1203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), + [1205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [1207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_console_parameter_list, 5, 0, 0), + [1209] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_source_file, 2, 0, 0), + [1211] = {.entry = {.count = 1, .reusable = true}}, SHIFT(329), + [1213] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_pragma_value, 2, 0, 0), + [1215] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [1217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_definition, 5, 0, 1), + [1219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [1221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [1223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(392), + [1225] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [1227] = {.entry = {.count = 1, .reusable = true}}, SHIFT(362), + [1229] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [1231] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [1233] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_expression_list, 6, 0, 0), + [1235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(323), + [1237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), + [1239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(442), + [1241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [1243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(309), + [1245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [1247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), + [1249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), + [1251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(306), + [1253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_contract_source_file, 1, 0, 0), + [1255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_expression_list, 7, 0, 0), + [1257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), + [1259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), + [1261] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_args, 3, 0, 0), + [1263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(400), + [1265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [1267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), + [1269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(342), + [1271] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tx_var, 1, 0, 0), + [1273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [1275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute_args, 2, 0, 0), + [1277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [1279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(370), + [1281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(331), }; #ifdef __cplusplus diff --git a/tree-sitter/src/tree_sitter/array.h b/tree-sitter/src/tree_sitter/array.h index 56fc8cd4..e99918e5 100644 --- a/tree-sitter/src/tree_sitter/array.h +++ b/tree-sitter/src/tree_sitter/array.h @@ -60,13 +60,7 @@ extern "C" { /// Free any memory allocated for this array. Note that this does not free any /// memory allocated for the array's contents. -#define array_delete(self) \ - do { \ - if ((self)->contents) ts_free((self)->contents); \ - (self)->contents = NULL; \ - (self)->size = 0; \ - (self)->capacity = 0; \ - } while (0) +#define array_delete(self) _array__delete((self), (void *)(self)->contents, sizeof(*self)) /// Push a new `element` onto the end of the array. #define array_push(self, element) \ @@ -136,11 +130,12 @@ extern "C" { /// Swap one array with another #define array_swap(self, other) \ do { \ - void *_array_swap_tmp = (void *)(self)->contents; \ - (self)->contents = (other)->contents; \ - (other)->contents = _array_swap_tmp; \ - _array__swap(&(self)->size, &(self)->capacity, \ - &(other)->size, &(other)->capacity); \ + struct Swap swapped_contents = _array__swap( \ + (void *)(self)->contents, &(self)->size, &(self)->capacity, \ + (void *)(other)->contents, &(other)->size, &(other)->capacity \ + ); \ + (self)->contents = swapped_contents.self_contents; \ + (other)->contents = swapped_contents.other_contents; \ } while (0) /// Get the size of the array contents @@ -193,6 +188,12 @@ extern "C" { // The `Array` type itself was not altered as a solution in order to avoid breakage // with existing consumers (in particular, parsers with external scanners). +/// This is not what you're looking for, see `array_delete`. +static inline void _array__delete(void *self, void *contents, size_t self_size) { + if (contents) ts_free(contents); + if (self) memset(self, 0, self_size); +} + /// This is not what you're looking for, see `array_erase`. static inline void _array__erase(void* self_contents, uint32_t *size, size_t element_size, uint32_t index) { @@ -227,15 +228,31 @@ static inline void *_array__assign(void* self_contents, uint32_t *self_size, uin return new_contents; } +struct Swap { + void *self_contents; + void *other_contents; +}; + /// This is not what you're looking for, see `array_swap`. -static inline void _array__swap(uint32_t *self_size, uint32_t *self_capacity, - uint32_t *other_size, uint32_t *other_capacity) { - uint32_t tmp_size = *self_size; - uint32_t tmp_capacity = *self_capacity; - *self_size = *other_size; - *self_capacity = *other_capacity; - *other_size = tmp_size; - *other_capacity = tmp_capacity; +// static inline void _array__swap(Array *self, Array *other) { +static inline struct Swap _array__swap(void *self_contents, uint32_t *self_size, uint32_t *self_capacity, + void *other_contents, uint32_t *other_size, uint32_t *other_capacity) { + void *new_self_contents = other_contents; + uint32_t new_self_size = *other_size; + uint32_t new_self_capacity = *other_capacity; + + void *new_other_contents = self_contents; + *other_size = *self_size; + *other_capacity = *self_capacity; + + *self_size = new_self_size; + *self_capacity = new_self_capacity; + + struct Swap out = { + .self_contents = new_self_contents, + .other_contents = new_other_contents, + }; + return out; } /// This is not what you're looking for, see `array_push` or `array_grow_by`.