diff --git a/Makefile b/Makefile index de71411..32102bd 100644 --- a/Makefile +++ b/Makefile @@ -1,16 +1,17 @@ -.PHONE: all +.PHONY: all all: tree-sitter generate -.PHONE: test +.PHONY: test test: all tree-sitter test nvim-test -.PHONE: update-tests +.PHONY: update-tests update-tests: all tree-sitter test -u +.PHONY: playground playground: nix shell pkgs#emscripten --command tree-sitter build-wasm tree-sitter playground diff --git a/flake.lock b/flake.lock index 9d5b470..627cef7 100644 --- a/flake.lock +++ b/flake.lock @@ -1,28 +1,31 @@ { "nodes": { "flake-utils": { + "inputs": { + "systems": "systems" + }, "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { "owner": "numtide", - "ref": "master", + "ref": "main", "repo": "flake-utils", "type": "github" } }, "nixpkgs": { "locked": { - "lastModified": 1669045945, - "narHash": "sha256-BQxzijvZpLQ7R+KuQzCPcFgIS6OK0Onb29pYFe2pzJo=", + "lastModified": 1712482522, + "narHash": "sha256-Ai/xNgZpbwGcw0TSXwEPwwbPi8Iu906sB9M9z3o6UgA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6b5019a48f876f3288efc626fa8b70ad0c64eb46", + "rev": "efe8ce06ca261f370d672def5b1e0be300c726e1", "type": "github" }, "original": { @@ -62,6 +65,21 @@ "nixpkgs": "nixpkgs", "pre-commit-hooks": "pre-commit-hooks" } + }, + "systems": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index d9e44c1..3b98145 100644 --- a/flake.nix +++ b/flake.nix @@ -6,7 +6,7 @@ type = "github"; owner = "numtide"; repo = "flake-utils"; - ref = "master"; + ref = "main"; }; nixpkgs = { diff --git a/queries/folds.scm b/queries/folds.scm index 24332a0..3b076bc 100644 --- a/queries/folds.scm +++ b/queries/folds.scm @@ -8,9 +8,7 @@ (let_expression) (function_declaration) (primitive_declaration) - (record_type) - (class_declaration) (class_type) (method_declaration) diff --git a/queries/highlights.scm b/queries/highlights.scm index 6299d5b..a256d0e 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -1,23 +1,22 @@ ; Built-ins {{{ ((function_call function: (identifier) @function.builtin) - (#match? @function.builtin "^(chr|concat|exit|flush|getchar|not|ord|print|print_err|print_int|size|strcmp|streq|substring)$") - (#is-not? local)) + (#any-of? @function.builtin + "chr" "concat" "exit" "flush" "getchar" "not" "ord" "print" "print_err" "print_int" "size" + "strcmp" "streq" "substring")) ((type_identifier) @type.builtin - (#match? @type.builtin "^(int|string|Object)$") - (#is-not? local)) + (#any-of? @type.builtin "int" "string" "Object")) ((identifier) @variable.builtin - (#match? @variable.builtin "^self$") - (#is-not? local)) -; }}} + (#eq? @variable.builtin "self")) +; }}} ; Keywords {{{ [ - "function" - "method" - "primitive" + "function" + "primitive" + "method" ] @keyword.function [ @@ -27,14 +26,9 @@ "while" ] @keyword.repeat -[ - "new" -] @keyword.constructor +"new" @keyword.operator - -[ - "import" -] @include +"import" @keyword.import [ "array" @@ -48,73 +42,80 @@ "then" "type" "var" - - "class" "extends" - "_cast" "_chunks" "_exp" "_lvalue" "_namety" ] @keyword -; }}} +"class" @keyword.type + +; }}} ; Operators {{{ (operator) @operator [ - "," - ";" - ":" - "." + "," + ";" + ":" + "." ] @punctuation.delimiter [ - "(" - ")" - "[" - "]" - "{" - "}" + "(" + ")" + "[" + "]" + "{" + "}" ] @punctuation.bracket -; }}} +; }}} ; Functions and methods {{{ (function_call function: (identifier) @function) + (function_declaration name: (identifier) @function) + (primitive_declaration name: (identifier) @function) (method_call - method: (identifier) @method) + method: (identifier) @function.method) + (method_declaration - name: (identifier) @method) + name: (identifier) @function.method) (parameters - name: (identifier) @parameter) -; }}} + name: (identifier) @variable.parameter) +; }}} ; Declarations {{{ (import_declaration file: (string_literal) @string.special.path) -; }}} +; }}} ; Literals {{{ (nil_literal) @constant.builtin -(integer_literal) @number -(string_literal) @string -(escape_sequence) @string.escape -; }}} +(integer_literal) @number + +(string_literal) @string + +(escape_sequence) @string.escape + +; }}} ; Misc {{{ -(comment) @comment +(comment) @comment ; @spell (type_identifier) @type -(field_identifier) @property -(identifier) @variable -; }}} +(field_identifier) @variable.member + +(identifier) @variable + +; }}} ; vim: sw=2 foldmethod=marker diff --git a/queries/indents.scm b/queries/indents.scm index 4ac8d24..686bfde 100644 --- a/queries/indents.scm +++ b/queries/indents.scm @@ -1,69 +1,104 @@ ; Control flow {{{ -(if_expression) @indent -"then" @branch -"else" @branch +(if_expression) @indent.begin -(while_expression) @indent -"do" @branch +"then" @indent.branch + +"else" @indent.branch + +(while_expression) @indent.begin + +"do" @indent.branch + +(for_expression) @indent.begin + +"to" @indent.branch -(for_expression) @indent -"to" @branch ; }}} - ; Class {{{ -(class_declaration) @indent -(class_declaration "}" @indent_end) +(class_declaration) @indent.begin + +(class_declaration + "}" @indent.end) + +(class_type) @indent.begin + +(class_type + "}" @indent.end) -(class_type) @indent -(class_type "}" @indent_end) ; }}} - ; Groups {{{ -(let_expression) @indent -"in" @branch -"end" @branch -(let_expression "end" @indent_end) +(let_expression) @indent.begin + +"in" @indent.branch + +"end" @indent.branch + +(let_expression + "end" @indent.end) + +(sequence_expression) @indent.begin + +")" @indent.branch + +(sequence_expression + ")" @indent.end) -(sequence_expression) @indent -")" @branch -(sequence_expression ")" @indent_end) ; }}} - ; Functions and methods {{{ -(parameters) @indent -(parameters ")" @indent_end) +(parameters) @indent.begin -(function_call) @indent -(method_call) @indent -")" @branch +(parameters + ")" @indent.end) + +(function_call) @indent.begin + +(function_call + ")" @indent.end) + +(method_call) @indent.begin + +")" @indent.branch + +(function_declaration) @indent.begin + +(primitive_declaration) @indent.begin + +(method_declaration) @indent.begin -(function_declaration) @indent -(primitive_declaration) @indent -(method_declaration) @indent ; }}} - ; Values and expressions {{{ -(array_value) @indent -"]" @branch -(array_value "]" @indent_end) +(array_value) @indent.begin -(array_expression) @indent -"of" @branch +"]" @indent.branch -(record_expression) @indent -"}" @branch -(record_expression "}" @indent_end) +(array_value + "]" @indent.end) -(record_type) @indent -"}" @branch -(record_type "}" @indent_end) +(array_expression) @indent.begin + +"of" @indent.branch + +(record_expression) @indent.begin + +"}" @indent.branch + +(record_expression + "}" @indent.end) + +(record_type) @indent.begin + +"}" @indent.branch + +(record_type + "}" @indent.end) + +(variable_declaration) @indent.begin -(variable_declaration) @indent ; }}} - ; Misc{{{ -(comment) @ignore -(string_literal) @ignore -; }}} +(comment) @indent.ignore +(string_literal) @indent.ignore + +; }}} ; vim: sw=2 foldmethod=marker diff --git a/queries/injections.scm b/queries/injections.scm index 2135031..9735c59 100644 --- a/queries/injections.scm +++ b/queries/injections.scm @@ -1,3 +1,4 @@ -(comment) @comment +((comment) @injection.content + (#set! injection.language "comment")) ; vim: sw=2 foldmethod=marker diff --git a/queries/locals.scm b/queries/locals.scm deleted file mode 100644 index 70baf87..0000000 --- a/queries/locals.scm +++ /dev/null @@ -1,35 +0,0 @@ -; See this issue [1] for support for "lazy scoping" which is somewhat needed -; for Tiger semantics (e.g: one can call a function before it has been defined -; top-to-bottom). -; -; [1]: https://github.com/tree-sitter/tree-sitter/issues/918 - -; Scopes {{{ -[ - (for_expression) - (let_expression) - (function_declaration) -] @local.scope -; }}} - -; Definitions {{{ -(type_declaration - name: (identifier) @local.definition) - -(parameters - name: (identifier) @local.definition) - -(function_declaration - name: (identifier) @local.definition) -(primitive_declaration - name: (identifier) @local.definition) - -(variable_declaration - name: (identifier) @local.definition) -; }}} - -; References {{{ -(identifier) @local.reference -; }}} - -; vim: sw=2 foldmethod=marker diff --git a/src/parser.c b/src/parser.c index 1a06c85..33fa474 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,4 +1,4 @@ -#include +#include "tree_sitter/parser.h" #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic push @@ -16,7 +16,7 @@ #define MAX_ALIAS_SEQUENCE_LENGTH 8 #define PRODUCTION_ID_COUNT 65 -enum { +enum ts_symbol_identifiers { sym_identifier = 1, sym_nil_literal = 2, sym_integer_literal = 3, @@ -811,7 +811,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { }, }; -enum { +enum ts_field_identifiers { field_alternative = 1, field_arguments = 2, field_array = 3, @@ -2196,11 +2196,11 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [98] = {.lex_state = 0, .external_lex_state = 1}, [99] = {.lex_state = 0, .external_lex_state = 1}, [100] = {.lex_state = 9, .external_lex_state = 1}, - [101] = {.lex_state = 0, .external_lex_state = 1}, + [101] = {.lex_state = 9, .external_lex_state = 1}, [102] = {.lex_state = 9, .external_lex_state = 1}, [103] = {.lex_state = 9, .external_lex_state = 1}, [104] = {.lex_state = 0, .external_lex_state = 1}, - [105] = {.lex_state = 9, .external_lex_state = 1}, + [105] = {.lex_state = 0, .external_lex_state = 1}, [106] = {.lex_state = 9, .external_lex_state = 1}, [107] = {.lex_state = 9, .external_lex_state = 1}, [108] = {.lex_state = 0, .external_lex_state = 1}, @@ -2211,10 +2211,10 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [113] = {.lex_state = 0, .external_lex_state = 1}, [114] = {.lex_state = 0, .external_lex_state = 1}, [115] = {.lex_state = 9, .external_lex_state = 1}, - [116] = {.lex_state = 9, .external_lex_state = 1}, + [116] = {.lex_state = 0, .external_lex_state = 1}, [117] = {.lex_state = 9, .external_lex_state = 1}, [118] = {.lex_state = 9, .external_lex_state = 1}, - [119] = {.lex_state = 0, .external_lex_state = 1}, + [119] = {.lex_state = 9, .external_lex_state = 1}, [120] = {.lex_state = 9, .external_lex_state = 1}, [121] = {.lex_state = 9, .external_lex_state = 1}, [122] = {.lex_state = 9, .external_lex_state = 1}, @@ -2360,20 +2360,6 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [262] = {.lex_state = 0, .external_lex_state = 1}, }; -enum { - ts_external_token_comment = 0, -}; - -static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { - [ts_external_token_comment] = sym_comment, -}; - -static const bool ts_external_scanner_states[2][EXTERNAL_TOKEN_COUNT] = { - [1] = { - [ts_external_token_comment] = true, - }, -}; - static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [0] = { [ts_builtin_sym_end] = ACTIONS(1), @@ -2436,22 +2422,22 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { }, [1] = { [sym_source_file] = STATE(217), - [sym__expr] = STATE(119), - [sym_string_literal] = STATE(119), - [sym__lvalue] = STATE(44), - [sym_record_value] = STATE(44), - [sym_array_value] = STATE(44), - [sym_function_call] = STATE(119), - [sym_unary_expression] = STATE(119), - [sym_binary_expression] = STATE(119), - [sym_sequence_expression] = STATE(119), - [sym_array_expression] = STATE(119), - [sym_record_expression] = STATE(119), - [sym_assignment_expression] = STATE(119), - [sym_if_expression] = STATE(119), - [sym_while_expression] = STATE(119), - [sym_for_expression] = STATE(119), - [sym_let_expression] = STATE(119), + [sym__expr] = STATE(116), + [sym_string_literal] = STATE(116), + [sym__lvalue] = STATE(45), + [sym_record_value] = STATE(45), + [sym_array_value] = STATE(45), + [sym_function_call] = STATE(116), + [sym_unary_expression] = STATE(116), + [sym_binary_expression] = STATE(116), + [sym_sequence_expression] = STATE(116), + [sym_array_expression] = STATE(116), + [sym_record_expression] = STATE(116), + [sym_assignment_expression] = STATE(116), + [sym_if_expression] = STATE(116), + [sym_while_expression] = STATE(116), + [sym_for_expression] = STATE(116), + [sym_let_expression] = STATE(116), [aux_sym__declaration_chunks] = STATE(95), [sym__declaration_chunk] = STATE(95), [sym_type_declaration] = STATE(95), @@ -2459,13 +2445,13 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_primitive_declaration] = STATE(95), [sym_variable_declaration] = STATE(95), [sym_import_declaration] = STATE(95), - [sym_new_expression] = STATE(119), - [sym_method_call] = STATE(119), + [sym_new_expression] = STATE(116), + [sym_method_call] = STATE(116), [sym_class_declaration] = STATE(95), [sym_meta_chunks] = STATE(95), - [sym_meta_cast] = STATE(119), - [sym_meta_expression] = STATE(119), - [sym_meta_lvalue] = STATE(44), + [sym_meta_cast] = STATE(116), + [sym_meta_expression] = STATE(116), + [sym_meta_lvalue] = STATE(45), [sym_meta_type_identifier] = STATE(199), [aux_sym__declaration_chunk_repeat1] = STATE(95), [aux_sym__declaration_chunk_repeat2] = STATE(95), @@ -2536,12 +2522,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(107), 17, + STATE(102), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2596,12 +2582,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(98), 17, + STATE(105), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2656,12 +2642,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(108), 17, + STATE(98), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2716,7 +2702,7 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, @@ -2776,12 +2762,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(99), 17, + STATE(104), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2834,12 +2820,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(64), 17, + STATE(48), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2892,12 +2878,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(111), 17, + STATE(115), 17, sym__expr, sym_string_literal, sym_function_call, @@ -2950,12 +2936,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(116), 17, + STATE(118), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3008,12 +2994,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(50), 17, + STATE(91), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3066,12 +3052,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(104), 17, + STATE(108), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3124,12 +3110,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(106), 17, + STATE(101), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3182,12 +3168,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(102), 17, + STATE(106), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3240,12 +3226,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(91), 17, + STATE(93), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3298,7 +3284,7 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, @@ -3356,12 +3342,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(51), 17, + STATE(92), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3414,7 +3400,7 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, @@ -3472,12 +3458,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(52), 17, + STATE(84), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3530,12 +3516,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(62), 17, + STATE(119), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3588,12 +3574,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(105), 17, + STATE(107), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3646,12 +3632,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(75), 17, + STATE(99), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3704,12 +3690,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(92), 17, + STATE(58), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3762,12 +3748,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(69), 17, + STATE(49), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3820,12 +3806,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(101), 17, + STATE(88), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3878,12 +3864,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(59), 17, + STATE(56), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3936,12 +3922,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(93), 17, + STATE(113), 17, sym__expr, sym_string_literal, sym_function_call, @@ -3994,12 +3980,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(88), 17, + STATE(117), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4052,12 +4038,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(57), 17, + STATE(62), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4110,12 +4096,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(117), 17, + STATE(70), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4168,12 +4154,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(118), 17, + STATE(103), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4226,12 +4212,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(112), 17, + STATE(111), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4284,12 +4270,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(60), 17, + STATE(89), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4342,12 +4328,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(63), 17, + STATE(109), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4400,12 +4386,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(103), 17, + STATE(81), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4458,12 +4444,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(89), 17, + STATE(65), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4516,12 +4502,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(109), 17, + STATE(50), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4574,12 +4560,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(115), 17, + STATE(69), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4632,12 +4618,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(73), 17, + STATE(82), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4690,12 +4676,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(84), 17, + STATE(114), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4748,12 +4734,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(114), 17, + STATE(112), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4806,12 +4792,12 @@ static const uint16_t ts_small_parse_table[] = { sym_nil_literal, sym_integer_literal, sym_break_expression, - STATE(44), 4, + STATE(45), 4, sym__lvalue, sym_record_value, sym_array_value, sym_meta_lvalue, - STATE(113), 17, + STATE(77), 17, sym__expr, sym_string_literal, sym_function_call, @@ -4916,20 +4902,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3152] = 6, + [3152] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(158), 1, - anon_sym_DOT, - ACTIONS(160), 1, - anon_sym_LBRACK, - ACTIONS(164), 1, - anon_sym_COLON_EQ, - ACTIONS(162), 2, + ACTIONS(158), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(156), 30, + ACTIONS(156), 33, ts_builtin_sym_end, + anon_sym_DOT, + anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, @@ -4945,6 +4927,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, + anon_sym_COLON_EQ, anon_sym_then, anon_sym_else, anon_sym_do, @@ -4959,16 +4942,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3201] = 3, + [3195] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(168), 2, + ACTIONS(162), 1, + anon_sym_DOT, + ACTIONS(164), 1, + anon_sym_LBRACK, + ACTIONS(168), 1, + anon_sym_COLON_EQ, + ACTIONS(166), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(166), 33, + ACTIONS(160), 30, ts_builtin_sym_end, - anon_sym_DOT, - anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, @@ -4984,7 +4971,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, - anon_sym_COLON_EQ, anon_sym_then, anon_sym_else, anon_sym_do, @@ -5006,6 +4992,46 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LT, anon_sym_GT, ACTIONS(170), 33, + ts_builtin_sym_end, + anon_sym_DOT, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_COLON_EQ, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3287] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(176), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(174), 33, ts_builtin_sym_end, anon_sym_LBRACK, anon_sym_RBRACK, @@ -5039,67 +5065,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3287] = 3, + [3330] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(176), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(174), 33, - ts_builtin_sym_end, - anon_sym_DOT, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, + ACTIONS(188), 1, anon_sym_AMP, + ACTIONS(190), 1, anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_COLON_EQ, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym_class, - anon_sym_method, - anon_sym__chunks, - [3330] = 3, - ACTIONS(3), 1, - sym_comment, ACTIONS(180), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(178), 30, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - anon_sym_PLUS, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, + ACTIONS(178), 20, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, @@ -5116,27 +5107,32 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3370] = 3, + [3380] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(184), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(182), 30, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, + ACTIONS(188), 1, + anon_sym_AMP, + ACTIONS(190), 1, + anon_sym_PIPE, + ACTIONS(180), 2, anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - anon_sym_PLUS, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, + ACTIONS(192), 20, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, @@ -5153,92 +5149,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3410] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(188), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(190), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(194), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(192), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(186), 22, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym_class, - anon_sym_method, - anon_sym__chunks, - [3456] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(188), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(190), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(196), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(186), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym_class, - anon_sym_method, - anon_sym__chunks, - [3500] = 3, + [3430] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(196), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(186), 30, + ACTIONS(194), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5269,7 +5186,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3540] = 3, + [3470] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(200), 2, @@ -5306,7 +5223,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3580] = 3, + [3510] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(204), 2, @@ -5343,7 +5260,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3620] = 3, + [3550] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(208), 2, @@ -5380,7 +5297,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3660] = 3, + [3590] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(212), 2, @@ -5417,28 +5334,65 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3700] = 8, + [3630] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, - anon_sym_AMP, - ACTIONS(218), 1, - anon_sym_PIPE, - ACTIONS(188), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(190), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(216), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(214), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(214), 20, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3670] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(188), 1, + anon_sym_AMP, + ACTIONS(190), 1, + anon_sym_PIPE, + ACTIONS(180), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(182), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(184), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(218), 20, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5459,7 +5413,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3750] = 3, + [3720] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(222), 2, @@ -5496,23 +5450,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3790] = 8, + [3760] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -5538,32 +5492,64 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3840] = 8, + [3810] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, - anon_sym_AMP, - ACTIONS(218), 1, - anon_sym_PIPE, - ACTIONS(188), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(190), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(228), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(226), 20, + ACTIONS(226), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3850] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(232), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(230), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, @@ -5583,10 +5569,10 @@ static const uint16_t ts_small_parse_table[] = { [3890] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(230), 2, + ACTIONS(236), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(228), 30, + ACTIONS(234), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5617,16 +5603,132 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3930] = 4, + [3930] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(190), 2, + ACTIONS(188), 1, + anon_sym_AMP, + ACTIONS(190), 1, + anon_sym_PIPE, + ACTIONS(180), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(182), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(184), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(238), 20, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [3980] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(242), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(240), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4020] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(246), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(244), 30, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, + anon_sym_STAR, + anon_sym_SLASH, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4060] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, ACTIONS(196), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(186), 28, + ACTIONS(194), 28, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5655,98 +5757,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [3972] = 9, + [4102] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, - anon_sym_AMP, - ACTIONS(218), 1, - anon_sym_PIPE, - ACTIONS(234), 1, - anon_sym_else, - ACTIONS(188), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(190), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(250), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(232), 19, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym_class, - anon_sym_method, - anon_sym__chunks, - [4024] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(216), 1, - anon_sym_AMP, - ACTIONS(218), 1, - anon_sym_PIPE, - ACTIONS(188), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(190), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(194), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(192), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(236), 20, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym_class, - anon_sym_method, - anon_sym__chunks, - [4074] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(240), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(238), 30, + ACTIONS(248), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5777,13 +5794,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [4114] = 3, + [4142] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(244), 2, + ACTIONS(254), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(242), 30, + ACTIONS(252), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -5814,123 +5831,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [4154] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(248), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(246), 30, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym_class, - anon_sym_method, - anon_sym__chunks, - [4194] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(252), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(250), 30, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - anon_sym_AMP, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym_class, - anon_sym_method, - anon_sym__chunks, - [4234] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(216), 1, - anon_sym_AMP, - ACTIONS(218), 1, - anon_sym_PIPE, - ACTIONS(188), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(190), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(194), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(192), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(254), 20, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym_class, - anon_sym_method, - anon_sym__chunks, - [4284] = 3, + [4182] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(258), 2, @@ -5967,21 +5868,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [4324] = 3, + [4222] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(262), 2, + ACTIONS(180), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(182), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(196), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(260), 30, + ACTIONS(194), 26, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - anon_sym_SLASH, - anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -6004,7 +5907,50 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [4364] = 3, + [4266] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(188), 1, + anon_sym_AMP, + ACTIONS(190), 1, + anon_sym_PIPE, + ACTIONS(262), 1, + anon_sym_else, + ACTIONS(180), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(182), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(184), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(260), 19, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4318] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(266), 2, @@ -6041,48 +5987,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [4404] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(216), 1, - anon_sym_AMP, - ACTIONS(188), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(190), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(194), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(192), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(186), 21, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_PIPE, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym_class, - anon_sym_method, - anon_sym__chunks, - [4452] = 3, + [4358] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(270), 2, @@ -6119,55 +6024,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [4492] = 8, + [4398] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, - anon_sym_AMP, - ACTIONS(218), 1, - anon_sym_PIPE, - ACTIONS(188), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(190), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(274), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(272), 20, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_SEMI, - anon_sym_RBRACE, - anon_sym_then, - anon_sym_else, - anon_sym_do, - anon_sym_to, - anon_sym_in, - anon_sym_end, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - anon_sym_class, - anon_sym_method, - anon_sym__chunks, - [4542] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(276), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(274), 30, + ACTIONS(272), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -6198,13 +6061,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [4582] = 3, + [4438] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(280), 2, + ACTIONS(278), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(278), 30, + ACTIONS(276), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -6235,13 +6098,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [4622] = 3, + [4478] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(284), 2, + ACTIONS(282), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(282), 30, + ACTIONS(280), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -6272,13 +6135,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [4662] = 3, + [4518] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(288), 2, + ACTIONS(286), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(286), 30, + ACTIONS(284), 30, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -6309,7 +6172,49 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [4702] = 3, + [4558] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(188), 1, + anon_sym_AMP, + ACTIONS(190), 1, + anon_sym_PIPE, + ACTIONS(180), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(182), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(184), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(288), 20, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4608] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(292), 2, @@ -6346,7 +6251,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [4742] = 3, + [4648] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(296), 2, @@ -6383,7 +6288,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, - [4782] = 3, + [4688] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(300), 2, @@ -6420,6 +6325,87 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_class, anon_sym_method, anon_sym__chunks, + [4728] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(188), 1, + anon_sym_AMP, + ACTIONS(180), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(182), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(184), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(194), 21, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, + [4776] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(180), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(182), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(184), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(194), 22, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_AMP, + anon_sym_PIPE, + anon_sym_SEMI, + anon_sym_RBRACE, + anon_sym_then, + anon_sym_else, + anon_sym_do, + anon_sym_to, + anon_sym_in, + anon_sym_end, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + anon_sym_class, + anon_sym_method, + anon_sym__chunks, [4822] = 3, ACTIONS(3), 1, sym_comment, @@ -6460,20 +6446,20 @@ static const uint16_t ts_small_parse_table[] = { [4862] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -6613,20 +6599,20 @@ static const uint16_t ts_small_parse_table[] = { [5032] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -6646,20 +6632,20 @@ static const uint16_t ts_small_parse_table[] = { [5073] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -6679,20 +6665,20 @@ static const uint16_t ts_small_parse_table[] = { [5114] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -6712,20 +6698,20 @@ static const uint16_t ts_small_parse_table[] = { [5155] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -6743,20 +6729,20 @@ static const uint16_t ts_small_parse_table[] = { [5194] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -6774,20 +6760,20 @@ static const uint16_t ts_small_parse_table[] = { [5233] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -6934,26 +6920,26 @@ static const uint16_t ts_small_parse_table[] = { [5441] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, ACTIONS(375), 1, - anon_sym_COMMA, - ACTIONS(377), 1, anon_sym_RPAREN, - STATE(197), 1, - aux_sym_function_call_repeat1, - ACTIONS(188), 2, + ACTIONS(377), 1, + anon_sym_SEMI, + STATE(178), 1, + aux_sym_sequence_expression_repeat1, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -6961,26 +6947,26 @@ static const uint16_t ts_small_parse_table[] = { [5478] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(375), 1, - anon_sym_COMMA, ACTIONS(379), 1, - anon_sym_RPAREN, - STATE(180), 1, - aux_sym_function_call_repeat1, - ACTIONS(188), 2, + anon_sym_COMMA, + ACTIONS(381), 1, + anon_sym_RBRACE, + STATE(198), 1, + aux_sym_record_expression_repeat1, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -6988,78 +6974,78 @@ static const uint16_t ts_small_parse_table[] = { [5515] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(381), 1, + ACTIONS(377), 1, anon_sym_SEMI, ACTIONS(383), 1, anon_sym_end, STATE(173), 1, aux_sym_sequence_expression_repeat1, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [5552] = 10, + [5552] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(385), 1, - anon_sym_COMMA, - ACTIONS(387), 1, - anon_sym_RBRACE, - STATE(198), 1, - aux_sym_record_expression_repeat1, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [5589] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(216), 1, - anon_sym_AMP, - ACTIONS(218), 1, - anon_sym_PIPE, - ACTIONS(188), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(190), 2, - anon_sym_STAR, - anon_sym_SLASH, - ACTIONS(194), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(389), 3, + ACTIONS(385), 3, anon_sym_RBRACE, anon_sym_var, anon_sym_method, - ACTIONS(192), 4, + ACTIONS(184), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [5585] = 10, + ACTIONS(3), 1, + sym_comment, + ACTIONS(188), 1, + anon_sym_AMP, + ACTIONS(190), 1, + anon_sym_PIPE, + ACTIONS(377), 1, + anon_sym_SEMI, + ACTIONS(387), 1, + anon_sym_end, + STATE(193), 1, + aux_sym_sequence_expression_repeat1, + ACTIONS(180), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(182), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(186), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7067,24 +7053,24 @@ static const uint16_t ts_small_parse_table[] = { [5622] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(391), 3, + ACTIONS(389), 3, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_end, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7092,103 +7078,103 @@ static const uint16_t ts_small_parse_table[] = { [5655] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(385), 1, + ACTIONS(391), 1, anon_sym_COMMA, ACTIONS(393), 1, - anon_sym_RBRACE, - STATE(189), 1, - aux_sym_record_expression_repeat1, - ACTIONS(188), 2, + anon_sym_RPAREN, + STATE(180), 1, + aux_sym_function_call_repeat1, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [5692] = 8, + [5692] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(391), 1, + anon_sym_COMMA, + ACTIONS(395), 1, + anon_sym_RPAREN, + STATE(197), 1, + aux_sym_function_call_repeat1, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(395), 3, - anon_sym_RBRACE, - anon_sym_var, - anon_sym_method, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [5725] = 8, + [5729] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, ACTIONS(397), 3, anon_sym_RBRACE, anon_sym_var, anon_sym_method, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [5758] = 10, + [5762] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(381), 1, - anon_sym_SEMI, - ACTIONS(399), 1, - anon_sym_end, - STATE(193), 1, - aux_sym_sequence_expression_repeat1, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(399), 3, + anon_sym_RBRACE, + anon_sym_var, + anon_sym_method, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7196,26 +7182,26 @@ static const uint16_t ts_small_parse_table[] = { [5795] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(381), 1, - anon_sym_SEMI, + ACTIONS(379), 1, + anon_sym_COMMA, ACTIONS(401), 1, - anon_sym_RPAREN, - STATE(178), 1, - aux_sym_sequence_expression_repeat1, - ACTIONS(188), 2, + anon_sym_RBRACE, + STATE(189), 1, + aux_sym_record_expression_repeat1, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7223,23 +7209,23 @@ static const uint16_t ts_small_parse_table[] = { [5832] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, ACTIONS(403), 2, anon_sym_COMMA, anon_sym_RBRACE, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7247,23 +7233,23 @@ static const uint16_t ts_small_parse_table[] = { [5864] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, ACTIONS(405), 2, anon_sym_COMMA, anon_sym_RPAREN, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7271,22 +7257,22 @@ static const uint16_t ts_small_parse_table[] = { [5896] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, ACTIONS(407), 1, - anon_sym_COMMA, - ACTIONS(188), 2, + anon_sym_RBRACK, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7294,22 +7280,22 @@ static const uint16_t ts_small_parse_table[] = { [5927] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, ACTIONS(409), 1, anon_sym_RBRACK, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7317,22 +7303,22 @@ static const uint16_t ts_small_parse_table[] = { [5958] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, ACTIONS(411), 1, anon_sym_RBRACK, - ACTIONS(188), 2, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7340,22 +7326,22 @@ static const uint16_t ts_small_parse_table[] = { [5989] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, ACTIONS(413), 1, - anon_sym_RBRACK, - ACTIONS(188), 2, + anon_sym_COMMA, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7363,22 +7349,22 @@ static const uint16_t ts_small_parse_table[] = { [6020] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, ACTIONS(415), 1, - anon_sym_then, - ACTIONS(188), 2, + anon_sym_do, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7386,22 +7372,22 @@ static const uint16_t ts_small_parse_table[] = { [6051] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(417), 1, - anon_sym_do, - ACTIONS(188), 2, + ACTIONS(355), 1, + ts_builtin_sym_end, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7409,22 +7395,22 @@ static const uint16_t ts_small_parse_table[] = { [6082] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(419), 1, - anon_sym_do, - ACTIONS(188), 2, + ACTIONS(417), 1, + anon_sym_to, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7432,22 +7418,22 @@ static const uint16_t ts_small_parse_table[] = { [6113] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(421), 1, - anon_sym_to, - ACTIONS(188), 2, + ACTIONS(419), 1, + anon_sym_do, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -7455,22 +7441,22 @@ static const uint16_t ts_small_parse_table[] = { [6144] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(216), 1, + ACTIONS(188), 1, anon_sym_AMP, - ACTIONS(218), 1, + ACTIONS(190), 1, anon_sym_PIPE, - ACTIONS(355), 1, - ts_builtin_sym_end, - ACTIONS(188), 2, + ACTIONS(421), 1, + anon_sym_then, + ACTIONS(180), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(190), 2, + ACTIONS(182), 2, anon_sym_STAR, anon_sym_SLASH, - ACTIONS(194), 2, + ACTIONS(186), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(192), 4, + ACTIONS(184), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -8121,7 +8107,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SEMI, STATE(164), 1, aux_sym_sequence_expression_repeat1, - ACTIONS(391), 2, + ACTIONS(389), 2, anon_sym_RPAREN, anon_sym_end, [6976] = 4, @@ -8200,7 +8186,7 @@ static const uint16_t ts_small_parse_table[] = { [7081] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(381), 1, + ACTIONS(377), 1, anon_sym_SEMI, ACTIONS(566), 1, anon_sym_end, @@ -8245,7 +8231,7 @@ static const uint16_t ts_small_parse_table[] = { [7146] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(381), 1, + ACTIONS(377), 1, anon_sym_SEMI, ACTIONS(581), 1, anon_sym_RPAREN, @@ -8263,7 +8249,7 @@ static const uint16_t ts_small_parse_table[] = { [7172] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(375), 1, + ACTIONS(391), 1, anon_sym_COMMA, ACTIONS(588), 1, anon_sym_RPAREN, @@ -8312,7 +8298,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym__namety, ACTIONS(600), 1, sym_identifier, - STATE(55), 1, + STATE(54), 1, sym_meta_type_identifier, [7250] = 4, ACTIONS(3), 1, @@ -8344,7 +8330,7 @@ static const uint16_t ts_small_parse_table[] = { [7289] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(385), 1, + ACTIONS(379), 1, anon_sym_COMMA, ACTIONS(608), 1, anon_sym_RBRACE, @@ -8378,7 +8364,7 @@ static const uint16_t ts_small_parse_table[] = { [7337] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(381), 1, + ACTIONS(377), 1, anon_sym_SEMI, ACTIONS(616), 1, anon_sym_end, @@ -8414,7 +8400,7 @@ static const uint16_t ts_small_parse_table[] = { [7389] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(375), 1, + ACTIONS(391), 1, anon_sym_COMMA, ACTIONS(627), 1, anon_sym_RPAREN, @@ -8423,7 +8409,7 @@ static const uint16_t ts_small_parse_table[] = { [7402] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(385), 1, + ACTIONS(379), 1, anon_sym_COMMA, ACTIONS(629), 1, anon_sym_RBRACE, @@ -8823,44 +8809,44 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(42)] = 3055, [SMALL_STATE(43)] = 3106, [SMALL_STATE(44)] = 3152, - [SMALL_STATE(45)] = 3201, + [SMALL_STATE(45)] = 3195, [SMALL_STATE(46)] = 3244, [SMALL_STATE(47)] = 3287, [SMALL_STATE(48)] = 3330, - [SMALL_STATE(49)] = 3370, - [SMALL_STATE(50)] = 3410, - [SMALL_STATE(51)] = 3456, - [SMALL_STATE(52)] = 3500, - [SMALL_STATE(53)] = 3540, - [SMALL_STATE(54)] = 3580, - [SMALL_STATE(55)] = 3620, - [SMALL_STATE(56)] = 3660, - [SMALL_STATE(57)] = 3700, - [SMALL_STATE(58)] = 3750, - [SMALL_STATE(59)] = 3790, - [SMALL_STATE(60)] = 3840, + [SMALL_STATE(49)] = 3380, + [SMALL_STATE(50)] = 3430, + [SMALL_STATE(51)] = 3470, + [SMALL_STATE(52)] = 3510, + [SMALL_STATE(53)] = 3550, + [SMALL_STATE(54)] = 3590, + [SMALL_STATE(55)] = 3630, + [SMALL_STATE(56)] = 3670, + [SMALL_STATE(57)] = 3720, + [SMALL_STATE(58)] = 3760, + [SMALL_STATE(59)] = 3810, + [SMALL_STATE(60)] = 3850, [SMALL_STATE(61)] = 3890, [SMALL_STATE(62)] = 3930, - [SMALL_STATE(63)] = 3972, - [SMALL_STATE(64)] = 4024, - [SMALL_STATE(65)] = 4074, - [SMALL_STATE(66)] = 4114, - [SMALL_STATE(67)] = 4154, - [SMALL_STATE(68)] = 4194, - [SMALL_STATE(69)] = 4234, - [SMALL_STATE(70)] = 4284, - [SMALL_STATE(71)] = 4324, - [SMALL_STATE(72)] = 4364, - [SMALL_STATE(73)] = 4404, - [SMALL_STATE(74)] = 4452, - [SMALL_STATE(75)] = 4492, - [SMALL_STATE(76)] = 4542, - [SMALL_STATE(77)] = 4582, - [SMALL_STATE(78)] = 4622, - [SMALL_STATE(79)] = 4662, - [SMALL_STATE(80)] = 4702, - [SMALL_STATE(81)] = 4742, - [SMALL_STATE(82)] = 4782, + [SMALL_STATE(63)] = 3980, + [SMALL_STATE(64)] = 4020, + [SMALL_STATE(65)] = 4060, + [SMALL_STATE(66)] = 4102, + [SMALL_STATE(67)] = 4142, + [SMALL_STATE(68)] = 4182, + [SMALL_STATE(69)] = 4222, + [SMALL_STATE(70)] = 4266, + [SMALL_STATE(71)] = 4318, + [SMALL_STATE(72)] = 4358, + [SMALL_STATE(73)] = 4398, + [SMALL_STATE(74)] = 4438, + [SMALL_STATE(75)] = 4478, + [SMALL_STATE(76)] = 4518, + [SMALL_STATE(77)] = 4558, + [SMALL_STATE(78)] = 4608, + [SMALL_STATE(79)] = 4648, + [SMALL_STATE(80)] = 4688, + [SMALL_STATE(81)] = 4728, + [SMALL_STATE(82)] = 4776, [SMALL_STATE(83)] = 4822, [SMALL_STATE(84)] = 4862, [SMALL_STATE(85)] = 4912, @@ -8880,12 +8866,12 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(99)] = 5478, [SMALL_STATE(100)] = 5515, [SMALL_STATE(101)] = 5552, - [SMALL_STATE(102)] = 5589, + [SMALL_STATE(102)] = 5585, [SMALL_STATE(103)] = 5622, [SMALL_STATE(104)] = 5655, [SMALL_STATE(105)] = 5692, - [SMALL_STATE(106)] = 5725, - [SMALL_STATE(107)] = 5758, + [SMALL_STATE(106)] = 5729, + [SMALL_STATE(107)] = 5762, [SMALL_STATE(108)] = 5795, [SMALL_STATE(109)] = 5832, [SMALL_STATE(110)] = 5864, @@ -9049,11 +9035,11 @@ static const TSParseActionEntry ts_parse_actions[] = { [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), [7] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), - [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), + [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(260), [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), @@ -9069,51 +9055,51 @@ static const TSParseActionEntry ts_parse_actions[] = { [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229), [45] = {.entry = {.count = 1, .reusable = false}}, SHIFT(228), [47] = {.entry = {.count = 1, .reusable = false}}, SHIFT(227), - [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), - [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [53] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(98), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), [61] = {.entry = {.count = 1, .reusable = false}}, SHIFT(100), [63] = {.entry = {.count = 1, .reusable = false}}, SHIFT(61), - [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), - [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(116), - [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), - [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), - [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), - [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [65] = {.entry = {.count = 1, .reusable = false}}, SHIFT(104), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), + [71] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), + [73] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), + [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), + [77] = {.entry = {.count = 1, .reusable = false}}, SHIFT(108), + [79] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), [85] = {.entry = {.count = 1, .reusable = false}}, SHIFT(110), - [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), + [87] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), [89] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), - [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), - [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), - [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(105), - [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), - [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(59), - [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), - [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), - [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117), - [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(118), - [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), - [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), - [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(63), - [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), - [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), - [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), - [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), - [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), - [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), + [91] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [93] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), + [95] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), + [97] = {.entry = {.count = 1, .reusable = false}}, SHIFT(99), + [99] = {.entry = {.count = 1, .reusable = false}}, SHIFT(58), + [101] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), + [103] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), + [105] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), + [107] = {.entry = {.count = 1, .reusable = false}}, SHIFT(113), + [109] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117), + [111] = {.entry = {.count = 1, .reusable = false}}, SHIFT(62), + [113] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [115] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), + [117] = {.entry = {.count = 1, .reusable = false}}, SHIFT(111), + [119] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), + [121] = {.entry = {.count = 1, .reusable = false}}, SHIFT(109), + [123] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [125] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [127] = {.entry = {.count = 1, .reusable = false}}, SHIFT(50), + [129] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [131] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [133] = {.entry = {.count = 1, .reusable = false}}, SHIFT(114), + [135] = {.entry = {.count = 1, .reusable = false}}, SHIFT(112), + [137] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), [139] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__lvalue, 1), [141] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym__lvalue, 1), SHIFT(31), [144] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), @@ -9122,94 +9108,94 @@ static const TSParseActionEntry ts_parse_actions[] = { [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_value, 3, .production_id = 9), [152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_value, 3, .production_id = 9), - [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), - [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), - [160] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1), - [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_value, 4, .production_id = 24), - [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_value, 4, .production_id = 24), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_type_identifier, 4), - [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_type_identifier, 4), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_lvalue, 4, .production_id = 23), - [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_lvalue, 4, .production_id = 23), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call, 5, .production_id = 32), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call, 5, .production_id = 32), - [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 6), - [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 6), - [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 8), - [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), - [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(16), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_value, 4, .production_id = 24), + [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_value, 4, .production_id = 24), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expr, 1), + [162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), + [164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expr, 1), + [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_lvalue, 4, .production_id = 23), + [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_lvalue, 4, .production_id = 23), + [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_type_identifier, 4), + [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_type_identifier, 4), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 10), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [184] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(37), + [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 8, .production_id = 55), + [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 8), [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 8), - [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 36), - [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 36), - [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 2, .production_id = 3), - [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 2, .production_id = 3), - [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 2, .production_id = 4), - [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 2, .production_id = 4), - [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 15), - [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 15), - [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 35), - [216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [218] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 54), + [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 54), + [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 36), + [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 36), + [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 2, .production_id = 3), + [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 2, .production_id = 3), + [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new_expression, 2, .production_id = 4), + [212] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new_expression, 2, .production_id = 4), + [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 4), + [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 4), + [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 35), [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 34), [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 34), [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 33), - [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 4, .production_id = 14), - [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 16), - [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 16), - [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 13), - [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 10), - [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call, 7, .production_id = 53), - [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call, 7, .production_id = 53), - [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 4), - [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 4), - [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), - [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), - [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 12), - [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 12), - [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 8, .production_id = 55), - [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 5), - [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 5), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 46), - [262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 46), - [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, .production_id = 25), - [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, .production_id = 25), - [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 3), - [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 3), - [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 1), - [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 27), - [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 27), - [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 11), - [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 11), - [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 2), - [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 2), - [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call, 6, .production_id = 43), - [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call, 6, .production_id = 43), - [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3), - [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3), - [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_expression, 4, .production_id = 23), - [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_expression, 4, .production_id = 23), - [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_cast, 6, .production_id = 42), - [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_cast, 6, .production_id = 42), + [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 12), + [228] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 12), + [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call, 5, .production_id = 32), + [232] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call, 5, .production_id = 32), + [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 16), + [236] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 16), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 4, .production_id = 14), + [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_cast, 6, .production_id = 42), + [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_cast, 6, .production_id = 42), + [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 11), + [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 11), + [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_meta_expression, 4, .production_id = 23), + [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_meta_expression, 4, .production_id = 23), + [252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), + [254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 2), + [258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 2), + [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 13), + [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 5), + [266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 5), + [268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 45), + [270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 45), + [272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 6), + [274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 6), + [276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 3), + [278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 3), + [280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call, 6, .production_id = 43), + [282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call, 6, .production_id = 43), + [284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 27), + [286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 27), + [288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 44), + [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_call, 7, .production_id = 53), + [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_method_call, 7, .production_id = 53), + [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3), + [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3), [302] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 26), [304] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 26), - [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 44), - [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), - [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), - [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 54), - [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 54), - [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 45), - [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 45), + [306] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 1), + [308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 15), + [310] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 15), + [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, .production_id = 25), + [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, .production_id = 25), + [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 46), + [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 46), [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, .production_id = 18), [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, .production_id = 39), [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, .production_id = 40), - [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 28), - [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 51), - [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 52), + [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 51), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 7, .production_id = 52), + [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 5, .production_id = 28), [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), [334] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(259), [337] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(255), @@ -9228,29 +9214,29 @@ static const TSParseActionEntry ts_parse_actions[] = { [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), - [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 51), - [391] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), - [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 5, .production_id = 28), - [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 52), - [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 52), + [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [389] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), + [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 7, .production_id = 51), + [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method_declaration, 5, .production_id = 28), + [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), [403] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 4, .production_id = 62), [405] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), - [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), - [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), - [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), + [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), + [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat3, 2), [425] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat3, 2), SHIFT_REPEAT(255), @@ -9306,9 +9292,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), [533] = {.entry = {.count = 1, .reusable = false}}, SHIFT(67), [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(165), - [537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [537] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), - [541] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), SHIFT_REPEAT(34), + [541] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), SHIFT_REPEAT(30), [544] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), [546] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(165), [549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(194), @@ -9319,27 +9305,27 @@ static const TSParseActionEntry ts_parse_actions[] = { [560] = {.entry = {.count = 1, .reusable = false}}, SHIFT(236), [562] = {.entry = {.count = 1, .reusable = false}}, SHIFT(202), [564] = {.entry = {.count = 1, .reusable = false}}, SHIFT(208), - [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [566] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), [568] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 60), SHIFT_REPEAT(235), [571] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 60), [573] = {.entry = {.count = 1, .reusable = false}}, SHIFT(140), [575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), [579] = {.entry = {.count = 1, .reusable = false}}, SHIFT(167), - [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [581] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), [583] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 60), SHIFT_REPEAT(222), [586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, .production_id = 60), - [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), [590] = {.entry = {.count = 1, .reusable = false}}, SHIFT(250), [592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(235), [594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), [596] = {.entry = {.count = 1, .reusable = false}}, SHIFT(145), [598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), + [600] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), [602] = {.entry = {.count = 1, .reusable = false}}, SHIFT(246), [604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), [606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), [610] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__field_declaration, 1, .production_id = 20), [612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), [614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), @@ -9348,16 +9334,16 @@ static const TSParseActionEntry ts_parse_actions[] = { [620] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 47), SHIFT_REPEAT(215), [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 47), [625] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [627] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [629] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [631] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), [633] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), [635] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), [637] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), [639] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 4, .production_id = 57), [641] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 4, .production_id = 56), [643] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 4, .production_id = 50), - [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [645] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), [647] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170), [649] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), [651] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), @@ -9366,13 +9352,13 @@ static const TSParseActionEntry ts_parse_actions[] = { [657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(244), [659] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), [661] = {.entry = {.count = 1, .reusable = true}}, SHIFT(242), - [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [663] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), [665] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), - [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [667] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), [669] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), [673] = {.entry = {.count = 1, .reusable = true}}, SHIFT(240), - [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [675] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), [677] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), [681] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_extends_qualifier, 2, .production_id = 22), @@ -9386,39 +9372,53 @@ static const TSParseActionEntry ts_parse_actions[] = { [697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), [699] = {.entry = {.count = 1, .reusable = true}}, SHIFT(226), [701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(224), - [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(261), [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), - [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), - [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), [727] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [729] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(177), - [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), + [733] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), [735] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), [749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), [751] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), [753] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), - [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), [761] = {.entry = {.count = 1, .reusable = true}}, SHIFT(257), [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(256), - [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), +}; + +enum ts_external_scanner_symbol_identifiers { + ts_external_token_comment = 0, +}; + +static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { + [ts_external_token_comment] = sym_comment, +}; + +static const bool ts_external_scanner_states[2][EXTERNAL_TOKEN_COUNT] = { + [1] = { + [ts_external_token_comment] = true, + }, }; #ifdef __cplusplus diff --git a/src/tree_sitter/parser.h b/src/tree_sitter/parser.h index 2b14ac1..17b4fde 100644 --- a/src/tree_sitter/parser.h +++ b/src/tree_sitter/parser.h @@ -13,9 +13,8 @@ extern "C" { #define ts_builtin_sym_end 0 #define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 -typedef uint16_t TSStateId; - #ifndef TREE_SITTER_API_H_ +typedef uint16_t TSStateId; typedef uint16_t TSSymbol; typedef uint16_t TSFieldId; typedef struct TSLanguage TSLanguage; @@ -130,9 +129,16 @@ struct TSLanguage { * Lexer Macros */ +#ifdef _MSC_VER +#define UNUSED __pragma(warning(suppress : 4101)) +#else +#define UNUSED __attribute__((unused)) +#endif + #define START_LEXER() \ bool result = false; \ bool skip = false; \ + UNUSED \ bool eof = false; \ int32_t lookahead; \ goto start; \ @@ -166,7 +172,7 @@ struct TSLanguage { * Parse Table Macros */ -#define SMALL_STATE(id) id - LARGE_STATE_COUNT +#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) #define STATE(id) id @@ -176,7 +182,7 @@ struct TSLanguage { {{ \ .shift = { \ .type = TSParseActionTypeShift, \ - .state = state_value \ + .state = (state_value) \ } \ }} @@ -184,7 +190,7 @@ struct TSLanguage { {{ \ .shift = { \ .type = TSParseActionTypeShift, \ - .state = state_value, \ + .state = (state_value), \ .repetition = true \ } \ }} diff --git a/test/highlight/built-ins.tig b/test/highlight/built-ins.tig index 6879054..f359959 100644 --- a/test/highlight/built-ins.tig +++ b/test/highlight/built-ins.tig @@ -6,7 +6,7 @@ let /* ^ type.builtin */ var b := exit(0) - /* ^ function */ + /* ^ function.builtin */ type int = string /* Shadowing the built-in type */ /* ^ type.builtin */ @@ -30,13 +30,13 @@ in end; exit(1); - /* <- function */ + /* <- function.builtin */ print("shadowing is fun"); /* <- function.builtin */ self; - /* <- variable */ + /* <- variable.builtin */ b := print /* ^ variable */ diff --git a/test/highlight/functions.tig b/test/highlight/functions.tig index 1b210dd..635dff9 100644 --- a/test/highlight/functions.tig +++ b/test/highlight/functions.tig @@ -1,8 +1,8 @@ primitive print(s: string) /* ^ function */ -/* ^ parameter */ +/* ^ variable.parameter */ function func(a: int) : int = (print("Hello World!"); a) /* ^ function */ -/* ^ parameter */ -/* ^ function */ +/* ^ variable.parameter */ +/* ^ function.builtin */ diff --git a/test/highlight/identifiers.tig b/test/highlight/identifiers.tig index 2d52edd..d583320 100644 --- a/test/highlight/identifiers.tig +++ b/test/highlight/identifiers.tig @@ -6,24 +6,24 @@ type int_array = array of int /* ^ type.builtin */ type record = {a: int, b: string} -/* ^ property */ +/* ^ variable.member */ /* ^ type.builtin */ -/* ^ property */ +/* ^ variable.member */ /* ^ type.builtin */ var record := record {a = 12, b = "27"} /* ^ variable */ /* ^ type */ -/* ^ property */ -/* ^ property */ +/* ^ variable.member */ +/* ^ variable.member */ var array := int_array[12] of 27; /* ^ variable */ /* ^ type */ primitive func(a: int, b: string) : array -/* ^ parameter */ +/* ^ variable.parameter */ /* ^ type.builtin */ -/* ^ parameter */ +/* ^ variable.parameter */ /* ^ type.builtin */ /* ^ type */ diff --git a/test/highlight/imports.tig b/test/highlight/imports.tig index 6addf12..44a2c2b 100644 --- a/test/highlight/imports.tig +++ b/test/highlight/imports.tig @@ -1,3 +1,3 @@ import "lib.tih" -/* <- include */ +/* <- keyword.import */ /* ^ string.special.path */ diff --git a/test/highlight/keywords.tig b/test/highlight/keywords.tig index 6704c42..5a90a33 100644 --- a/test/highlight/keywords.tig +++ b/test/highlight/keywords.tig @@ -10,7 +10,7 @@ let /* <- keyword.function */ import "lib.tih" - /* <- include */ + /* <- keyword.import */ type array_of_int = array of int /* <- keyword */ diff --git a/test/highlight/object-oriented.tig b/test/highlight/object-oriented.tig index 2a71476..895e1b3 100644 --- a/test/highlight/object-oriented.tig +++ b/test/highlight/object-oriented.tig @@ -1,11 +1,11 @@ let class A extends Object {} - /* <- keyword */ + /* <- keyword.type */ /* ^ keyword */ /* ^ type.builtin */ type B = class extends A { - /* ^ keyword */ + /* ^ keyword.type */ /* ^ keyword */ /* ^ type */ @@ -13,16 +13,16 @@ let method meth() : int = self.a /* <- keyword.function */ - /* ^ method */ + /* ^ function.method */ /* ^ variable.builtin */ } var object := new B - /* ^ keyword.constructor */ + /* ^ keyword.operator */ in object.a := 27; - /* ^ property */ + /* ^ variable.member */ object.meth() - /* ^ method */ + /* ^ function.method */ end