diff --git a/grammar.js b/grammar.js index 17239ba..8c4d3ea 100644 --- a/grammar.js +++ b/grammar.js @@ -25,6 +25,11 @@ module.exports = grammar({ [$._lvalue, $.array_expression], ], + externals: ($) => [ + // Nested comments need to be tokenized externally + $.comment, + ], + extras: ($) => [ /( |\n|\r|\t)+/, $.comment, @@ -36,21 +41,6 @@ module.exports = grammar({ optional($._declaration_chunks), ), - comment: ($) => token( - seq( - "/*", - repeat( - choice( - // Match anything but the end-delimiter - /(\*[^/]|[^*])+/, - // Comments can be nested - // $.comment, - ), - ), - "*/", - ), - ), - // Expressions {{{ _expr: ($) => choice( diff --git a/src/grammar.json b/src/grammar.json index 3d9ced3..0465ba4 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -23,34 +23,6 @@ } ] }, - "comment": { - "type": "TOKEN", - "content": { - "type": "SEQ", - "members": [ - { - "type": "STRING", - "value": "/*" - }, - { - "type": "REPEAT", - "content": { - "type": "CHOICE", - "members": [ - { - "type": "PATTERN", - "value": "(\\*[^/]|[^*])+" - } - ] - } - }, - { - "type": "STRING", - "value": "*/" - } - ] - } - }, "_expr": { "type": "CHOICE", "members": [ @@ -1468,7 +1440,12 @@ ] ], "precedences": [], - "externals": [], + "externals": [ + { + "type": "SYMBOL", + "name": "comment" + } + ], "inline": [], "supertypes": [] } diff --git a/src/parser.c b/src/parser.c index 8488c8b..deae5a8 100644 --- a/src/parser.c +++ b/src/parser.c @@ -11,60 +11,60 @@ #define SYMBOL_COUNT 87 #define ALIAS_COUNT 0 #define TOKEN_COUNT 49 -#define EXTERNAL_TOKEN_COUNT 0 +#define EXTERNAL_TOKEN_COUNT 1 #define FIELD_COUNT 26 #define MAX_ALIAS_SEQUENCE_LENGTH 8 #define PRODUCTION_ID_COUNT 36 enum { sym_identifier = 1, - sym_comment = 2, - sym_nil_literal = 3, - sym_integer_literal = 4, - anon_sym_DQUOTE = 5, - aux_sym_string_literal_token1 = 6, - sym_escape_sequence = 7, - anon_sym_DOT = 8, - anon_sym_LBRACK = 9, - anon_sym_RBRACK = 10, - anon_sym_LPAREN = 11, - anon_sym_COMMA = 12, - anon_sym_RPAREN = 13, - anon_sym_DASH = 14, - anon_sym_STAR = 15, - anon_sym_SLASH = 16, - anon_sym_PLUS = 17, - anon_sym_GT_EQ = 18, - anon_sym_LT_EQ = 19, - anon_sym_EQ = 20, - anon_sym_LT_GT = 21, - anon_sym_LT = 22, - anon_sym_GT = 23, - anon_sym_AMP = 24, - anon_sym_PIPE = 25, - anon_sym_SEMI = 26, - anon_sym_of = 27, - anon_sym_LBRACE = 28, - anon_sym_RBRACE = 29, - anon_sym_COLON_EQ = 30, - anon_sym_if = 31, - anon_sym_then = 32, - anon_sym_else = 33, - anon_sym_while = 34, - anon_sym_do = 35, - anon_sym_for = 36, - anon_sym_to = 37, - sym_break_expression = 38, - anon_sym_let = 39, - anon_sym_in = 40, - anon_sym_end = 41, - anon_sym_type = 42, - anon_sym_COLON = 43, - anon_sym_array = 44, - anon_sym_function = 45, - anon_sym_primitive = 46, - anon_sym_var = 47, - anon_sym_import = 48, + sym_nil_literal = 2, + sym_integer_literal = 3, + anon_sym_DQUOTE = 4, + aux_sym_string_literal_token1 = 5, + sym_escape_sequence = 6, + anon_sym_DOT = 7, + anon_sym_LBRACK = 8, + anon_sym_RBRACK = 9, + anon_sym_LPAREN = 10, + anon_sym_COMMA = 11, + anon_sym_RPAREN = 12, + anon_sym_DASH = 13, + anon_sym_STAR = 14, + anon_sym_SLASH = 15, + anon_sym_PLUS = 16, + anon_sym_GT_EQ = 17, + anon_sym_LT_EQ = 18, + anon_sym_EQ = 19, + anon_sym_LT_GT = 20, + anon_sym_LT = 21, + anon_sym_GT = 22, + anon_sym_AMP = 23, + anon_sym_PIPE = 24, + anon_sym_SEMI = 25, + anon_sym_of = 26, + anon_sym_LBRACE = 27, + anon_sym_RBRACE = 28, + anon_sym_COLON_EQ = 29, + anon_sym_if = 30, + anon_sym_then = 31, + anon_sym_else = 32, + anon_sym_while = 33, + anon_sym_do = 34, + anon_sym_for = 35, + anon_sym_to = 36, + sym_break_expression = 37, + anon_sym_let = 38, + anon_sym_in = 39, + anon_sym_end = 40, + anon_sym_type = 41, + anon_sym_COLON = 42, + anon_sym_array = 43, + anon_sym_function = 44, + anon_sym_primitive = 45, + anon_sym_var = 46, + anon_sym_import = 47, + sym_comment = 48, sym_source_file = 49, sym__expr = 50, sym_string_literal = 51, @@ -108,7 +108,6 @@ enum { static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [sym_identifier] = "identifier", - [sym_comment] = "comment", [sym_nil_literal] = "nil_literal", [sym_integer_literal] = "integer_literal", [anon_sym_DQUOTE] = "\"", @@ -155,6 +154,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_primitive] = "primitive", [anon_sym_var] = "var", [anon_sym_import] = "import", + [sym_comment] = "comment", [sym_source_file] = "source_file", [sym__expr] = "_expr", [sym_string_literal] = "string_literal", @@ -198,7 +198,6 @@ static const char * const ts_symbol_names[] = { static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [sym_identifier] = sym_identifier, - [sym_comment] = sym_comment, [sym_nil_literal] = sym_nil_literal, [sym_integer_literal] = sym_integer_literal, [anon_sym_DQUOTE] = anon_sym_DQUOTE, @@ -245,6 +244,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_primitive] = anon_sym_primitive, [anon_sym_var] = anon_sym_var, [anon_sym_import] = anon_sym_import, + [sym_comment] = sym_comment, [sym_source_file] = sym_source_file, [sym__expr] = sym__expr, [sym_string_literal] = sym_string_literal, @@ -294,10 +294,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, - [sym_comment] = { - .visible = true, - .named = true, - }, [sym_nil_literal] = { .visible = true, .named = true, @@ -482,6 +478,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [sym_comment] = { + .visible = true, + .named = true, + }, [sym_source_file] = { .visible = true, .named = true, @@ -873,62 +873,53 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(11); + if (eof) ADVANCE(9); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(9) - if (lookahead == '"') ADVANCE(15); - if (lookahead == '&') ADVANCE(39); - if (lookahead == '(') ADVANCE(26); - if (lookahead == ')') ADVANCE(28); - if (lookahead == '*') ADVANCE(30); - if (lookahead == '+') ADVANCE(32); - if (lookahead == ',') ADVANCE(27); - if (lookahead == '-') ADVANCE(29); - if (lookahead == '.') ADVANCE(23); - if (lookahead == '/') ADVANCE(31); - if (lookahead == ':') ADVANCE(45); - if (lookahead == ';') ADVANCE(41); - if (lookahead == '<') ADVANCE(37); - if (lookahead == '=') ADVANCE(35); - if (lookahead == '>') ADVANCE(38); - if (lookahead == '[') ADVANCE(24); - if (lookahead == '\\') ADVANCE(6); - if (lookahead == ']') ADVANCE(25); - if (lookahead == '{') ADVANCE(42); - if (lookahead == '|') ADVANCE(40); - if (lookahead == '}') ADVANCE(43); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); + lookahead == ' ') SKIP(7) + if (lookahead == '"') ADVANCE(11); + if (lookahead == '&') ADVANCE(32); + if (lookahead == '(') ADVANCE(19); + if (lookahead == ')') ADVANCE(21); + if (lookahead == '*') ADVANCE(23); + if (lookahead == '+') ADVANCE(25); + if (lookahead == ',') ADVANCE(20); + if (lookahead == '-') ADVANCE(22); + if (lookahead == '.') ADVANCE(16); + if (lookahead == '/') ADVANCE(24); + if (lookahead == ':') ADVANCE(38); + if (lookahead == ';') ADVANCE(34); + if (lookahead == '<') ADVANCE(30); + if (lookahead == '=') ADVANCE(28); + if (lookahead == '>') ADVANCE(31); + if (lookahead == '[') ADVANCE(17); + if (lookahead == '\\') ADVANCE(4); + if (lookahead == ']') ADVANCE(18); + if (lookahead == '{') ADVANCE(35); + if (lookahead == '|') ADVANCE(33); + if (lookahead == '}') ADVANCE(36); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(10); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(21); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(14); END_STATE(); case 1: - if (lookahead == '*') ADVANCE(2); - if (lookahead != 0) ADVANCE(1); - END_STATE(); - case 2: - if (lookahead == '/') ADVANCE(12); - if (lookahead != 0) ADVANCE(1); - END_STATE(); - case 3: if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(19); - if (lookahead == '"') ADVANCE(15); - if (lookahead == '/') ADVANCE(16); - if (lookahead == '\\') ADVANCE(6); - if (lookahead != 0) ADVANCE(20); + lookahead == ' ') ADVANCE(12); + if (lookahead == '"') ADVANCE(11); + if (lookahead == '\\') ADVANCE(4); + if (lookahead != 0) ADVANCE(13); + END_STATE(); + case 2: + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(15); + END_STATE(); + case 3: + if (('0' <= lookahead && lookahead <= '7')) ADVANCE(2); END_STATE(); case 4: - if (('0' <= lookahead && lookahead <= '7')) ADVANCE(22); - END_STATE(); - case 5: - if (('0' <= lookahead && lookahead <= '7')) ADVANCE(4); - END_STATE(); - case 6: if (lookahead == '"' || lookahead == '\\' || lookahead == 'a' || @@ -937,224 +928,192 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { lookahead == 'n' || lookahead == 'r' || lookahead == 't' || - lookahead == 'v') ADVANCE(22); - if (lookahead == 'x') ADVANCE(8); - if (('0' <= lookahead && lookahead <= '3')) ADVANCE(5); + lookahead == 'v') ADVANCE(15); + if (lookahead == 'x') ADVANCE(6); + if (('0' <= lookahead && lookahead <= '3')) ADVANCE(3); + END_STATE(); + case 5: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(15); + END_STATE(); + case 6: + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(5); END_STATE(); case 7: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(22); - END_STATE(); - case 8: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(7); - END_STATE(); - case 9: - if (eof) ADVANCE(11); + if (eof) ADVANCE(9); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(9) - if (lookahead == '"') ADVANCE(15); - if (lookahead == '&') ADVANCE(39); - if (lookahead == '(') ADVANCE(26); - if (lookahead == ')') ADVANCE(28); - if (lookahead == '*') ADVANCE(30); - if (lookahead == '+') ADVANCE(32); - if (lookahead == ',') ADVANCE(27); - if (lookahead == '-') ADVANCE(29); - if (lookahead == '.') ADVANCE(23); - if (lookahead == '/') ADVANCE(31); - if (lookahead == ':') ADVANCE(45); - if (lookahead == ';') ADVANCE(41); - if (lookahead == '<') ADVANCE(37); - if (lookahead == '=') ADVANCE(35); - if (lookahead == '>') ADVANCE(38); - if (lookahead == '[') ADVANCE(24); - if (lookahead == ']') ADVANCE(25); - if (lookahead == '{') ADVANCE(42); - if (lookahead == '|') ADVANCE(40); - if (lookahead == '}') ADVANCE(43); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); + lookahead == ' ') SKIP(7) + if (lookahead == '"') ADVANCE(11); + if (lookahead == '&') ADVANCE(32); + if (lookahead == '(') ADVANCE(19); + if (lookahead == ')') ADVANCE(21); + if (lookahead == '*') ADVANCE(23); + if (lookahead == '+') ADVANCE(25); + if (lookahead == ',') ADVANCE(20); + if (lookahead == '-') ADVANCE(22); + if (lookahead == '.') ADVANCE(16); + if (lookahead == '/') ADVANCE(24); + if (lookahead == ':') ADVANCE(38); + if (lookahead == ';') ADVANCE(34); + if (lookahead == '<') ADVANCE(30); + if (lookahead == '=') ADVANCE(28); + if (lookahead == '>') ADVANCE(31); + if (lookahead == '[') ADVANCE(17); + if (lookahead == ']') ADVANCE(18); + if (lookahead == '{') ADVANCE(35); + if (lookahead == '|') ADVANCE(33); + if (lookahead == '}') ADVANCE(36); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(10); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(21); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(14); END_STATE(); - case 10: - if (eof) ADVANCE(11); + case 8: + if (eof) ADVANCE(9); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') SKIP(10) - if (lookahead == '&') ADVANCE(39); - if (lookahead == '(') ADVANCE(26); - if (lookahead == ')') ADVANCE(28); - if (lookahead == '*') ADVANCE(30); - if (lookahead == '+') ADVANCE(32); - if (lookahead == ',') ADVANCE(27); - if (lookahead == '-') ADVANCE(29); - if (lookahead == '.') ADVANCE(23); - if (lookahead == '/') ADVANCE(31); - if (lookahead == ':') ADVANCE(45); - if (lookahead == ';') ADVANCE(41); - if (lookahead == '<') ADVANCE(37); - if (lookahead == '=') ADVANCE(35); - if (lookahead == '>') ADVANCE(38); - if (lookahead == '[') ADVANCE(24); - if (lookahead == ']') ADVANCE(25); - if (lookahead == '{') ADVANCE(42); - if (lookahead == '|') ADVANCE(40); - if (lookahead == '}') ADVANCE(43); + lookahead == ' ') SKIP(8) + if (lookahead == '&') ADVANCE(32); + if (lookahead == '(') ADVANCE(19); + if (lookahead == ')') ADVANCE(21); + if (lookahead == '*') ADVANCE(23); + if (lookahead == '+') ADVANCE(25); + if (lookahead == ',') ADVANCE(20); + if (lookahead == '-') ADVANCE(22); + if (lookahead == '.') ADVANCE(16); + if (lookahead == '/') ADVANCE(24); + if (lookahead == ':') ADVANCE(38); + if (lookahead == ';') ADVANCE(34); + if (lookahead == '<') ADVANCE(30); + if (lookahead == '=') ADVANCE(28); + if (lookahead == '>') ADVANCE(31); + if (lookahead == '[') ADVANCE(17); + if (lookahead == ']') ADVANCE(18); + if (lookahead == '{') ADVANCE(35); + if (lookahead == '|') ADVANCE(33); + if (lookahead == '}') ADVANCE(36); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(21); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(14); END_STATE(); - case 11: + case 9: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); - case 12: - ACCEPT_TOKEN(sym_comment); - END_STATE(); - case 13: - ACCEPT_TOKEN(sym_comment); - if (lookahead != 0 && - lookahead != '"' && - lookahead != '\\') ADVANCE(20); - END_STATE(); - case 14: + case 10: ACCEPT_TOKEN(sym_integer_literal); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(14); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(10); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(21); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(14); END_STATE(); - case 15: + case 11: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 16: - ACCEPT_TOKEN(aux_sym_string_literal_token1); - if (lookahead == '*') ADVANCE(17); - if (lookahead != 0 && - lookahead != '"' && - lookahead != '\\') ADVANCE(20); - END_STATE(); - case 17: - ACCEPT_TOKEN(aux_sym_string_literal_token1); - if (lookahead == '*') ADVANCE(18); - if (lookahead == '"' || - lookahead == '\\') ADVANCE(1); - if (lookahead != 0) ADVANCE(17); - END_STATE(); - case 18: - ACCEPT_TOKEN(aux_sym_string_literal_token1); - if (lookahead == '/') ADVANCE(13); - if (lookahead == '"' || - lookahead == '\\') ADVANCE(1); - if (lookahead != 0) ADVANCE(17); - END_STATE(); - case 19: + case 12: ACCEPT_TOKEN(aux_sym_string_literal_token1); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || - lookahead == ' ') ADVANCE(19); - if (lookahead == '/') ADVANCE(16); + lookahead == ' ') ADVANCE(12); if (lookahead != 0 && lookahead != '"' && - lookahead != '\\') ADVANCE(20); + lookahead != '\\') ADVANCE(13); END_STATE(); - case 20: + case 13: ACCEPT_TOKEN(aux_sym_string_literal_token1); if (lookahead != 0 && lookahead != '"' && - lookahead != '\\') ADVANCE(20); + lookahead != '\\') ADVANCE(13); END_STATE(); - case 21: + case 14: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || - ('a' <= lookahead && lookahead <= 'z')) ADVANCE(21); + ('a' <= lookahead && lookahead <= 'z')) ADVANCE(14); END_STATE(); - case 22: + case 15: ACCEPT_TOKEN(sym_escape_sequence); END_STATE(); - case 23: + case 16: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 24: + case 17: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 25: + case 18: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 26: + case 19: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 27: + case 20: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 28: + case 21: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); - case 29: + case 22: ACCEPT_TOKEN(anon_sym_DASH); END_STATE(); - case 30: + case 23: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); - case 31: + case 24: ACCEPT_TOKEN(anon_sym_SLASH); - if (lookahead == '*') ADVANCE(1); END_STATE(); - case 32: + case 25: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); - case 33: + case 26: ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); - case 34: + case 27: ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); - case 35: + case 28: ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); - case 36: + case 29: ACCEPT_TOKEN(anon_sym_LT_GT); END_STATE(); - case 37: + case 30: ACCEPT_TOKEN(anon_sym_LT); - if (lookahead == '=') ADVANCE(34); - if (lookahead == '>') ADVANCE(36); + if (lookahead == '=') ADVANCE(27); + if (lookahead == '>') ADVANCE(29); END_STATE(); - case 38: + case 31: ACCEPT_TOKEN(anon_sym_GT); - if (lookahead == '=') ADVANCE(33); + if (lookahead == '=') ADVANCE(26); END_STATE(); - case 39: + case 32: ACCEPT_TOKEN(anon_sym_AMP); END_STATE(); - case 40: + case 33: ACCEPT_TOKEN(anon_sym_PIPE); END_STATE(); - case 41: + case 34: ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); - case 42: + case 35: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 43: + case 36: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); - case 44: + case 37: ACCEPT_TOKEN(anon_sym_COLON_EQ); END_STATE(); - case 45: + case 38: ACCEPT_TOKEN(anon_sym_COLON); - if (lookahead == '=') ADVANCE(44); + if (lookahead == '=') ADVANCE(37); END_STATE(); default: return false; @@ -1403,161 +1362,174 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { } static const TSLexMode ts_lex_modes[STATE_COUNT] = { - [0] = {.lex_state = 0}, - [1] = {.lex_state = 0}, - [2] = {.lex_state = 10}, - [3] = {.lex_state = 10}, - [4] = {.lex_state = 10}, - [5] = {.lex_state = 10}, - [6] = {.lex_state = 10}, - [7] = {.lex_state = 10}, - [8] = {.lex_state = 10}, - [9] = {.lex_state = 10}, - [10] = {.lex_state = 10}, - [11] = {.lex_state = 10}, - [12] = {.lex_state = 10}, - [13] = {.lex_state = 10}, - [14] = {.lex_state = 10}, - [15] = {.lex_state = 10}, - [16] = {.lex_state = 10}, - [17] = {.lex_state = 10}, - [18] = {.lex_state = 10}, - [19] = {.lex_state = 10}, - [20] = {.lex_state = 10}, - [21] = {.lex_state = 10}, - [22] = {.lex_state = 10}, - [23] = {.lex_state = 10}, - [24] = {.lex_state = 10}, - [25] = {.lex_state = 10}, - [26] = {.lex_state = 10}, - [27] = {.lex_state = 10}, - [28] = {.lex_state = 10}, - [29] = {.lex_state = 10}, - [30] = {.lex_state = 10}, - [31] = {.lex_state = 10}, - [32] = {.lex_state = 10}, - [33] = {.lex_state = 10}, - [34] = {.lex_state = 10}, - [35] = {.lex_state = 0}, - [36] = {.lex_state = 0}, - [37] = {.lex_state = 0}, - [38] = {.lex_state = 0}, - [39] = {.lex_state = 0}, - [40] = {.lex_state = 0}, - [41] = {.lex_state = 0}, - [42] = {.lex_state = 0}, - [43] = {.lex_state = 0}, - [44] = {.lex_state = 0}, - [45] = {.lex_state = 0}, - [46] = {.lex_state = 0}, - [47] = {.lex_state = 0}, - [48] = {.lex_state = 0}, - [49] = {.lex_state = 0}, - [50] = {.lex_state = 0}, - [51] = {.lex_state = 0}, - [52] = {.lex_state = 0}, - [53] = {.lex_state = 0}, - [54] = {.lex_state = 0}, - [55] = {.lex_state = 0}, - [56] = {.lex_state = 0}, - [57] = {.lex_state = 0}, - [58] = {.lex_state = 0}, - [59] = {.lex_state = 0}, - [60] = {.lex_state = 0}, - [61] = {.lex_state = 0}, - [62] = {.lex_state = 0}, - [63] = {.lex_state = 0}, - [64] = {.lex_state = 10}, - [65] = {.lex_state = 10}, - [66] = {.lex_state = 10}, - [67] = {.lex_state = 10}, - [68] = {.lex_state = 10}, - [69] = {.lex_state = 10}, - [70] = {.lex_state = 10}, - [71] = {.lex_state = 0}, - [72] = {.lex_state = 10}, - [73] = {.lex_state = 10}, - [74] = {.lex_state = 10}, - [75] = {.lex_state = 0}, - [76] = {.lex_state = 0}, - [77] = {.lex_state = 0}, - [78] = {.lex_state = 0}, - [79] = {.lex_state = 0}, - [80] = {.lex_state = 10}, - [81] = {.lex_state = 10}, - [82] = {.lex_state = 0}, - [83] = {.lex_state = 10}, - [84] = {.lex_state = 10}, - [85] = {.lex_state = 0}, - [86] = {.lex_state = 10}, - [87] = {.lex_state = 10}, - [88] = {.lex_state = 10}, - [89] = {.lex_state = 10}, - [90] = {.lex_state = 10}, - [91] = {.lex_state = 10}, - [92] = {.lex_state = 10}, - [93] = {.lex_state = 10}, - [94] = {.lex_state = 10}, - [95] = {.lex_state = 10}, - [96] = {.lex_state = 10}, - [97] = {.lex_state = 10}, - [98] = {.lex_state = 10}, - [99] = {.lex_state = 10}, - [100] = {.lex_state = 10}, - [101] = {.lex_state = 10}, - [102] = {.lex_state = 3}, - [103] = {.lex_state = 3}, - [104] = {.lex_state = 10}, - [105] = {.lex_state = 0}, - [106] = {.lex_state = 3}, - [107] = {.lex_state = 0}, - [108] = {.lex_state = 0}, - [109] = {.lex_state = 0}, - [110] = {.lex_state = 0}, - [111] = {.lex_state = 10}, - [112] = {.lex_state = 0}, - [113] = {.lex_state = 0}, - [114] = {.lex_state = 0}, - [115] = {.lex_state = 10}, - [116] = {.lex_state = 0}, - [117] = {.lex_state = 0}, - [118] = {.lex_state = 0}, - [119] = {.lex_state = 0}, - [120] = {.lex_state = 10}, - [121] = {.lex_state = 10}, - [122] = {.lex_state = 10}, - [123] = {.lex_state = 10}, - [124] = {.lex_state = 0}, - [125] = {.lex_state = 0}, - [126] = {.lex_state = 0}, - [127] = {.lex_state = 10}, - [128] = {.lex_state = 10}, - [129] = {.lex_state = 0}, - [130] = {.lex_state = 10}, - [131] = {.lex_state = 10}, - [132] = {.lex_state = 10}, - [133] = {.lex_state = 0}, - [134] = {.lex_state = 10}, - [135] = {.lex_state = 10}, - [136] = {.lex_state = 10}, - [137] = {.lex_state = 10}, - [138] = {.lex_state = 0}, - [139] = {.lex_state = 10}, - [140] = {.lex_state = 0}, - [141] = {.lex_state = 0}, - [142] = {.lex_state = 0}, - [143] = {.lex_state = 10}, - [144] = {.lex_state = 10}, - [145] = {.lex_state = 0}, - [146] = {.lex_state = 0}, - [147] = {.lex_state = 10}, + [0] = {.lex_state = 0, .external_lex_state = 1}, + [1] = {.lex_state = 0, .external_lex_state = 1}, + [2] = {.lex_state = 8, .external_lex_state = 1}, + [3] = {.lex_state = 8, .external_lex_state = 1}, + [4] = {.lex_state = 8, .external_lex_state = 1}, + [5] = {.lex_state = 8, .external_lex_state = 1}, + [6] = {.lex_state = 8, .external_lex_state = 1}, + [7] = {.lex_state = 8, .external_lex_state = 1}, + [8] = {.lex_state = 8, .external_lex_state = 1}, + [9] = {.lex_state = 8, .external_lex_state = 1}, + [10] = {.lex_state = 8, .external_lex_state = 1}, + [11] = {.lex_state = 8, .external_lex_state = 1}, + [12] = {.lex_state = 8, .external_lex_state = 1}, + [13] = {.lex_state = 8, .external_lex_state = 1}, + [14] = {.lex_state = 8, .external_lex_state = 1}, + [15] = {.lex_state = 8, .external_lex_state = 1}, + [16] = {.lex_state = 8, .external_lex_state = 1}, + [17] = {.lex_state = 8, .external_lex_state = 1}, + [18] = {.lex_state = 8, .external_lex_state = 1}, + [19] = {.lex_state = 8, .external_lex_state = 1}, + [20] = {.lex_state = 8, .external_lex_state = 1}, + [21] = {.lex_state = 8, .external_lex_state = 1}, + [22] = {.lex_state = 8, .external_lex_state = 1}, + [23] = {.lex_state = 8, .external_lex_state = 1}, + [24] = {.lex_state = 8, .external_lex_state = 1}, + [25] = {.lex_state = 8, .external_lex_state = 1}, + [26] = {.lex_state = 8, .external_lex_state = 1}, + [27] = {.lex_state = 8, .external_lex_state = 1}, + [28] = {.lex_state = 8, .external_lex_state = 1}, + [29] = {.lex_state = 8, .external_lex_state = 1}, + [30] = {.lex_state = 8, .external_lex_state = 1}, + [31] = {.lex_state = 8, .external_lex_state = 1}, + [32] = {.lex_state = 8, .external_lex_state = 1}, + [33] = {.lex_state = 8, .external_lex_state = 1}, + [34] = {.lex_state = 8, .external_lex_state = 1}, + [35] = {.lex_state = 0, .external_lex_state = 1}, + [36] = {.lex_state = 0, .external_lex_state = 1}, + [37] = {.lex_state = 0, .external_lex_state = 1}, + [38] = {.lex_state = 0, .external_lex_state = 1}, + [39] = {.lex_state = 0, .external_lex_state = 1}, + [40] = {.lex_state = 0, .external_lex_state = 1}, + [41] = {.lex_state = 0, .external_lex_state = 1}, + [42] = {.lex_state = 0, .external_lex_state = 1}, + [43] = {.lex_state = 0, .external_lex_state = 1}, + [44] = {.lex_state = 0, .external_lex_state = 1}, + [45] = {.lex_state = 0, .external_lex_state = 1}, + [46] = {.lex_state = 0, .external_lex_state = 1}, + [47] = {.lex_state = 0, .external_lex_state = 1}, + [48] = {.lex_state = 0, .external_lex_state = 1}, + [49] = {.lex_state = 0, .external_lex_state = 1}, + [50] = {.lex_state = 0, .external_lex_state = 1}, + [51] = {.lex_state = 0, .external_lex_state = 1}, + [52] = {.lex_state = 0, .external_lex_state = 1}, + [53] = {.lex_state = 0, .external_lex_state = 1}, + [54] = {.lex_state = 0, .external_lex_state = 1}, + [55] = {.lex_state = 0, .external_lex_state = 1}, + [56] = {.lex_state = 0, .external_lex_state = 1}, + [57] = {.lex_state = 0, .external_lex_state = 1}, + [58] = {.lex_state = 0, .external_lex_state = 1}, + [59] = {.lex_state = 0, .external_lex_state = 1}, + [60] = {.lex_state = 0, .external_lex_state = 1}, + [61] = {.lex_state = 0, .external_lex_state = 1}, + [62] = {.lex_state = 0, .external_lex_state = 1}, + [63] = {.lex_state = 0, .external_lex_state = 1}, + [64] = {.lex_state = 8, .external_lex_state = 1}, + [65] = {.lex_state = 8, .external_lex_state = 1}, + [66] = {.lex_state = 8, .external_lex_state = 1}, + [67] = {.lex_state = 8, .external_lex_state = 1}, + [68] = {.lex_state = 8, .external_lex_state = 1}, + [69] = {.lex_state = 8, .external_lex_state = 1}, + [70] = {.lex_state = 8, .external_lex_state = 1}, + [71] = {.lex_state = 0, .external_lex_state = 1}, + [72] = {.lex_state = 8, .external_lex_state = 1}, + [73] = {.lex_state = 8, .external_lex_state = 1}, + [74] = {.lex_state = 8, .external_lex_state = 1}, + [75] = {.lex_state = 0, .external_lex_state = 1}, + [76] = {.lex_state = 0, .external_lex_state = 1}, + [77] = {.lex_state = 0, .external_lex_state = 1}, + [78] = {.lex_state = 0, .external_lex_state = 1}, + [79] = {.lex_state = 0, .external_lex_state = 1}, + [80] = {.lex_state = 8, .external_lex_state = 1}, + [81] = {.lex_state = 8, .external_lex_state = 1}, + [82] = {.lex_state = 0, .external_lex_state = 1}, + [83] = {.lex_state = 8, .external_lex_state = 1}, + [84] = {.lex_state = 8, .external_lex_state = 1}, + [85] = {.lex_state = 0, .external_lex_state = 1}, + [86] = {.lex_state = 8, .external_lex_state = 1}, + [87] = {.lex_state = 8, .external_lex_state = 1}, + [88] = {.lex_state = 8, .external_lex_state = 1}, + [89] = {.lex_state = 8, .external_lex_state = 1}, + [90] = {.lex_state = 8, .external_lex_state = 1}, + [91] = {.lex_state = 8, .external_lex_state = 1}, + [92] = {.lex_state = 8, .external_lex_state = 1}, + [93] = {.lex_state = 8, .external_lex_state = 1}, + [94] = {.lex_state = 8, .external_lex_state = 1}, + [95] = {.lex_state = 8, .external_lex_state = 1}, + [96] = {.lex_state = 8, .external_lex_state = 1}, + [97] = {.lex_state = 8, .external_lex_state = 1}, + [98] = {.lex_state = 8, .external_lex_state = 1}, + [99] = {.lex_state = 8, .external_lex_state = 1}, + [100] = {.lex_state = 8, .external_lex_state = 1}, + [101] = {.lex_state = 8, .external_lex_state = 1}, + [102] = {.lex_state = 1, .external_lex_state = 1}, + [103] = {.lex_state = 1, .external_lex_state = 1}, + [104] = {.lex_state = 8, .external_lex_state = 1}, + [105] = {.lex_state = 0, .external_lex_state = 1}, + [106] = {.lex_state = 1, .external_lex_state = 1}, + [107] = {.lex_state = 0, .external_lex_state = 1}, + [108] = {.lex_state = 0, .external_lex_state = 1}, + [109] = {.lex_state = 0, .external_lex_state = 1}, + [110] = {.lex_state = 0, .external_lex_state = 1}, + [111] = {.lex_state = 8, .external_lex_state = 1}, + [112] = {.lex_state = 0, .external_lex_state = 1}, + [113] = {.lex_state = 0, .external_lex_state = 1}, + [114] = {.lex_state = 0, .external_lex_state = 1}, + [115] = {.lex_state = 8, .external_lex_state = 1}, + [116] = {.lex_state = 0, .external_lex_state = 1}, + [117] = {.lex_state = 0, .external_lex_state = 1}, + [118] = {.lex_state = 0, .external_lex_state = 1}, + [119] = {.lex_state = 0, .external_lex_state = 1}, + [120] = {.lex_state = 8, .external_lex_state = 1}, + [121] = {.lex_state = 8, .external_lex_state = 1}, + [122] = {.lex_state = 8, .external_lex_state = 1}, + [123] = {.lex_state = 8, .external_lex_state = 1}, + [124] = {.lex_state = 0, .external_lex_state = 1}, + [125] = {.lex_state = 0, .external_lex_state = 1}, + [126] = {.lex_state = 0, .external_lex_state = 1}, + [127] = {.lex_state = 8, .external_lex_state = 1}, + [128] = {.lex_state = 8, .external_lex_state = 1}, + [129] = {.lex_state = 0, .external_lex_state = 1}, + [130] = {.lex_state = 8, .external_lex_state = 1}, + [131] = {.lex_state = 8, .external_lex_state = 1}, + [132] = {.lex_state = 8, .external_lex_state = 1}, + [133] = {.lex_state = 0, .external_lex_state = 1}, + [134] = {.lex_state = 8, .external_lex_state = 1}, + [135] = {.lex_state = 8, .external_lex_state = 1}, + [136] = {.lex_state = 8, .external_lex_state = 1}, + [137] = {.lex_state = 8, .external_lex_state = 1}, + [138] = {.lex_state = 0, .external_lex_state = 1}, + [139] = {.lex_state = 8, .external_lex_state = 1}, + [140] = {.lex_state = 0, .external_lex_state = 1}, + [141] = {.lex_state = 0, .external_lex_state = 1}, + [142] = {.lex_state = 0, .external_lex_state = 1}, + [143] = {.lex_state = 8, .external_lex_state = 1}, + [144] = {.lex_state = 8, .external_lex_state = 1}, + [145] = {.lex_state = 0, .external_lex_state = 1}, + [146] = {.lex_state = 0, .external_lex_state = 1}, + [147] = {.lex_state = 8, .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), [sym_identifier] = ACTIONS(1), - [sym_comment] = ACTIONS(3), [sym_nil_literal] = ACTIONS(1), [sym_integer_literal] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), @@ -1603,6 +1575,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_primitive] = ACTIONS(1), [anon_sym_var] = ACTIONS(1), [anon_sym_import] = ACTIONS(1), + [sym_comment] = ACTIONS(3), }, [1] = { [sym_source_file] = STATE(141), @@ -1633,7 +1606,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [aux_sym__declaration_chunk_repeat2] = STATE(72), [ts_builtin_sym_end] = ACTIONS(5), [sym_identifier] = ACTIONS(7), - [sym_comment] = ACTIONS(3), [sym_nil_literal] = ACTIONS(9), [sym_integer_literal] = ACTIONS(9), [anon_sym_DQUOTE] = ACTIONS(11), @@ -1649,6 +1621,7 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_primitive] = ACTIONS(29), [anon_sym_var] = ACTIONS(31), [anon_sym_import] = ACTIONS(33), + [sym_comment] = ACTIONS(3), }, }; @@ -1662,11 +1635,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LPAREN, ACTIONS(44), 1, anon_sym_LBRACE, - ACTIONS(42), 3, - anon_sym_SLASH, + ACTIONS(42), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(35), 28, + ACTIONS(35), 29, ts_builtin_sym_end, anon_sym_DOT, anon_sym_RBRACK, @@ -1674,6 +1646,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, + anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, @@ -1698,11 +1671,10 @@ static const uint16_t ts_small_parse_table[] = { [48] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(48), 3, - anon_sym_SLASH, + ACTIONS(48), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(46), 29, + ACTIONS(46), 30, ts_builtin_sym_end, anon_sym_DOT, anon_sym_LBRACK, @@ -1711,6 +1683,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, + anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, @@ -1741,17 +1714,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(58), 1, anon_sym_COLON_EQ, - ACTIONS(56), 3, - anon_sym_SLASH, + ACTIONS(56), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(50), 26, + ACTIONS(50), 27, 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, @@ -1775,11 +1748,10 @@ static const uint16_t ts_small_parse_table[] = { [134] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(62), 3, - anon_sym_SLASH, + ACTIONS(62), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(60), 29, + ACTIONS(60), 30, ts_builtin_sym_end, anon_sym_DOT, anon_sym_LBRACK, @@ -1788,6 +1760,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, anon_sym_DASH, anon_sym_STAR, + anon_sym_SLASH, anon_sym_PLUS, anon_sym_GT_EQ, anon_sym_LT_EQ, @@ -1809,24 +1782,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [174] = 9, + [174] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -1849,20 +1821,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [223] = 3, + [221] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(82), 3, - anon_sym_SLASH, + ACTIONS(80), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(80), 26, + ACTIONS(78), 27, 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, @@ -1883,20 +1855,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [260] = 3, + [258] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(86), 3, - anon_sym_SLASH, + ACTIONS(84), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(84), 26, + ACTIONS(82), 27, 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, @@ -1917,29 +1889,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [297] = 9, + [295] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, + ACTIONS(74), 1, + anon_sym_AMP, ACTIONS(76), 1, - anon_sym_AMP, - ACTIONS(78), 1, anon_sym_PIPE, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(88), 17, + ACTIONS(86), 17, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -1957,20 +1928,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [346] = 3, + [342] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(92), 3, - anon_sym_SLASH, + ACTIONS(90), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(90), 26, + ACTIONS(88), 27, 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, @@ -1991,20 +1962,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [383] = 3, + [379] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(96), 3, - anon_sym_SLASH, + ACTIONS(94), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(94), 26, + ACTIONS(92), 27, 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, @@ -2025,20 +1996,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [420] = 3, + [416] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(100), 3, - anon_sym_SLASH, + ACTIONS(98), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(98), 26, + ACTIONS(96), 27, 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, @@ -2059,20 +2030,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [457] = 3, + [453] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(104), 3, - anon_sym_SLASH, + ACTIONS(102), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(102), 26, + ACTIONS(100), 27, 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, @@ -2093,20 +2064,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [494] = 3, + [490] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(108), 3, - anon_sym_SLASH, + ACTIONS(106), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(106), 26, + ACTIONS(104), 27, 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, @@ -2127,20 +2098,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [531] = 3, + [527] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(112), 3, - anon_sym_SLASH, + ACTIONS(110), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(110), 26, + ACTIONS(108), 27, 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, @@ -2161,20 +2132,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [568] = 3, + [564] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(116), 3, - anon_sym_SLASH, + ACTIONS(114), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(114), 26, + ACTIONS(112), 27, 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, @@ -2195,24 +2166,62 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [605] = 9, + [601] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, + ACTIONS(74), 1, + anon_sym_AMP, ACTIONS(76), 1, - anon_sym_AMP, - ACTIONS(78), 1, anon_sym_PIPE, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(116), 17, + 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, + [648] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(74), 1, + anon_sym_AMP, + ACTIONS(76), 1, + anon_sym_PIPE, + ACTIONS(66), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -2235,29 +2244,64 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [654] = 9, + [695] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, + ACTIONS(122), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(120), 27, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, anon_sym_STAR, - ACTIONS(70), 1, 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, + [732] = 9, + ACTIONS(3), 1, + sym_comment, + ACTIONS(74), 1, + anon_sym_AMP, ACTIONS(76), 1, - anon_sym_AMP, - ACTIONS(78), 1, anon_sym_PIPE, + ACTIONS(126), 1, + anon_sym_else, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(120), 17, + ACTIONS(124), 16, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -2265,7 +2309,6 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_SEMI, anon_sym_RBRACE, anon_sym_then, - anon_sym_else, anon_sym_do, anon_sym_to, anon_sym_in, @@ -2275,20 +2318,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [703] = 3, + [781] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(124), 3, - anon_sym_SLASH, + ACTIONS(130), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(122), 26, + ACTIONS(128), 27, 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, @@ -2309,240 +2352,164 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [740] = 10, + [818] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, + ACTIONS(134), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(132), 27, + ts_builtin_sym_end, + anon_sym_RBRACK, + anon_sym_COMMA, + anon_sym_RPAREN, + anon_sym_DASH, anon_sym_STAR, - ACTIONS(70), 1, 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, + [855] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(138), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(136), 27, + 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, + [892] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(142), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(140), 27, + 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, + [929] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(146), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(144), 27, + 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, + [966] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(74), 1, + anon_sym_AMP, ACTIONS(76), 1, - anon_sym_AMP, - ACTIONS(78), 1, - anon_sym_PIPE, - ACTIONS(128), 1, - anon_sym_else, - ACTIONS(66), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(74), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(72), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(126), 16, - 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, - [791] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(132), 3, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(130), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - 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, - [828] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(136), 3, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(134), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - 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, - [865] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(140), 3, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(138), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - 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, - [902] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(144), 3, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(142), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - 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, - [939] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(148), 3, - anon_sym_SLASH, - anon_sym_LT, - anon_sym_GT, - ACTIONS(146), 26, - ts_builtin_sym_end, - anon_sym_RBRACK, - anon_sym_COMMA, - anon_sym_RPAREN, - anon_sym_DASH, - anon_sym_STAR, - 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, - [976] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, - anon_sym_AMP, - ACTIONS(78), 1, anon_sym_PIPE, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(150), 17, + ACTIONS(148), 17, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -2560,20 +2527,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [1025] = 3, + [1013] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(154), 3, - anon_sym_SLASH, + ACTIONS(152), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(152), 26, + ACTIONS(150), 27, 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, @@ -2594,27 +2561,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [1062] = 8, + [1050] = 7, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(156), 18, + ACTIONS(154), 18, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -2633,25 +2599,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [1109] = 7, + [1095] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - ACTIONS(156), 19, + ACTIONS(154), 19, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -2671,20 +2636,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [1154] = 3, + [1138] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(158), 3, - anon_sym_SLASH, + ACTIONS(156), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(156), 26, + ACTIONS(154), 27, 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, @@ -2705,20 +2670,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [1191] = 3, + [1175] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(162), 3, - anon_sym_SLASH, + ACTIONS(160), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(160), 26, + ACTIONS(158), 27, 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, @@ -2739,20 +2704,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [1228] = 6, + [1212] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(158), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(156), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(156), 23, + ACTIONS(154), 23, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -2776,17 +2740,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [1271] = 5, + [1253] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, + ACTIONS(68), 2, anon_sym_STAR, - ACTIONS(70), 1, anon_sym_SLASH, - ACTIONS(158), 2, + ACTIONS(156), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(156), 25, + ACTIONS(154), 25, ts_builtin_sym_end, anon_sym_RBRACK, anon_sym_COMMA, @@ -2812,20 +2775,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [1312] = 3, + [1292] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(166), 3, - anon_sym_SLASH, + ACTIONS(164), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(164), 26, + ACTIONS(162), 27, 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, @@ -2846,7 +2809,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [1349] = 13, + [1329] = 13, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2865,9 +2828,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(170), 1, + ACTIONS(168), 1, anon_sym_end, - ACTIONS(168), 3, + ACTIONS(166), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, @@ -2889,7 +2852,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1405] = 13, + [1385] = 13, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2908,9 +2871,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(174), 1, + ACTIONS(172), 1, anon_sym_end, - ACTIONS(172), 3, + ACTIONS(170), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, @@ -2932,7 +2895,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1461] = 13, + [1441] = 13, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2951,9 +2914,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(178), 1, + ACTIONS(176), 1, anon_sym_RPAREN, - ACTIONS(176), 3, + ACTIONS(174), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, @@ -2975,7 +2938,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1517] = 13, + [1497] = 13, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2994,9 +2957,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(23), 1, anon_sym_let, - ACTIONS(182), 1, + ACTIONS(180), 1, anon_sym_RPAREN, - ACTIONS(180), 3, + ACTIONS(178), 3, sym_nil_literal, sym_integer_literal, sym_break_expression, @@ -3018,7 +2981,48 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1573] = 12, + [1553] = 12, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + sym_identifier, + ACTIONS(11), 1, + anon_sym_DQUOTE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + anon_sym_DASH, + ACTIONS(17), 1, + anon_sym_if, + ACTIONS(19), 1, + anon_sym_while, + ACTIONS(21), 1, + anon_sym_for, + ACTIONS(23), 1, + anon_sym_let, + ACTIONS(182), 3, + sym_nil_literal, + sym_integer_literal, + sym_break_expression, + STATE(4), 3, + sym__lvalue, + sym_record_value, + sym_array_value, + STATE(81), 13, + sym__expr, + sym_string_literal, + sym_function_call, + sym_unary_expression, + sym_binary_expression, + sym_sequence_expression, + sym_array_expression, + sym_record_expression, + sym_assignment_expression, + sym_if_expression, + sym_while_expression, + sym_for_expression, + sym_let_expression, + [1606] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3045,7 +3049,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(81), 13, + STATE(84), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3059,7 +3063,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1626] = 12, + [1659] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3086,7 +3090,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(84), 13, + STATE(79), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3100,7 +3104,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1679] = 12, + [1712] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3127,7 +3131,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(79), 13, + STATE(26), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3141,7 +3145,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1732] = 12, + [1765] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3168,7 +3172,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(26), 13, + STATE(77), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3182,7 +3186,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1785] = 12, + [1818] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3209,7 +3213,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(77), 13, + STATE(17), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3223,7 +3227,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1838] = 12, + [1871] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3250,7 +3254,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(17), 13, + STATE(80), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3264,7 +3268,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1891] = 12, + [1924] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3291,7 +3295,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(80), 13, + STATE(75), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3305,7 +3309,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1944] = 12, + [1977] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3332,7 +3336,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(75), 13, + STATE(33), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3346,7 +3350,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [1997] = 12, + [2030] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3373,7 +3377,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(33), 13, + STATE(30), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3387,7 +3391,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2050] = 12, + [2083] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3414,7 +3418,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(30), 13, + STATE(32), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3428,7 +3432,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2103] = 12, + [2136] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3455,7 +3459,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(32), 13, + STATE(29), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3469,7 +3473,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2156] = 12, + [2189] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3496,7 +3500,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(29), 13, + STATE(28), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3510,7 +3514,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2209] = 12, + [2242] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3537,7 +3541,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(28), 13, + STATE(6), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3551,7 +3555,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2262] = 12, + [2295] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3578,7 +3582,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(6), 13, + STATE(82), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3592,7 +3596,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2315] = 12, + [2348] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3619,7 +3623,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(82), 13, + STATE(25), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3633,7 +3637,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2368] = 12, + [2401] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3660,7 +3664,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(25), 13, + STATE(78), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3674,7 +3678,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2421] = 12, + [2454] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3701,7 +3705,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(78), 13, + STATE(9), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3715,7 +3719,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2474] = 12, + [2507] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3742,7 +3746,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(9), 13, + STATE(65), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3756,7 +3760,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2527] = 12, + [2560] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3783,7 +3787,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(65), 13, + STATE(83), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3797,7 +3801,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2580] = 12, + [2613] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3824,7 +3828,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(83), 13, + STATE(64), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3838,7 +3842,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2633] = 12, + [2666] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3865,7 +3869,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(64), 13, + STATE(66), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3879,7 +3883,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2686] = 12, + [2719] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3906,7 +3910,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(66), 13, + STATE(18), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3920,7 +3924,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2739] = 12, + [2772] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3947,7 +3951,7 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(18), 13, + STATE(74), 13, sym__expr, sym_string_literal, sym_function_call, @@ -3961,7 +3965,7 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2792] = 12, + [2825] = 12, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3988,47 +3992,6 @@ static const uint16_t ts_small_parse_table[] = { sym__lvalue, sym_record_value, sym_array_value, - STATE(74), 13, - sym__expr, - sym_string_literal, - sym_function_call, - sym_unary_expression, - sym_binary_expression, - sym_sequence_expression, - sym_array_expression, - sym_record_expression, - sym_assignment_expression, - sym_if_expression, - sym_while_expression, - sym_for_expression, - sym_let_expression, - [2845] = 12, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - sym_identifier, - ACTIONS(11), 1, - anon_sym_DQUOTE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - anon_sym_DASH, - ACTIONS(17), 1, - anon_sym_if, - ACTIONS(19), 1, - anon_sym_while, - ACTIONS(21), 1, - anon_sym_for, - ACTIONS(23), 1, - anon_sym_let, - ACTIONS(232), 3, - sym_nil_literal, - sym_integer_literal, - sym_break_expression, - STATE(4), 3, - sym__lvalue, - sym_record_value, - sym_array_value, STATE(20), 13, sym__expr, sym_string_literal, @@ -4043,24 +4006,52 @@ static const uint16_t ts_small_parse_table[] = { sym_while_expression, sym_for_expression, sym_let_expression, - [2898] = 9, + [2878] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + ACTIONS(232), 7, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [2915] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(74), 1, + anon_sym_AMP, + ACTIONS(76), 1, + anon_sym_PIPE, + ACTIONS(66), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -4073,24 +4064,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [2937] = 9, + [2952] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, @@ -4103,50 +4093,20 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [2976] = 9, + [2989] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, - anon_sym_AMP, - ACTIONS(78), 1, - anon_sym_PIPE, - ACTIONS(66), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(74), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(72), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - ACTIONS(238), 7, - ts_builtin_sym_end, - anon_sym_in, + ACTIONS(240), 1, anon_sym_type, + ACTIONS(243), 1, anon_sym_function, + ACTIONS(246), 1, anon_sym_primitive, + ACTIONS(249), 1, anon_sym_var, + ACTIONS(252), 1, anon_sym_import, - [3015] = 8, - ACTIONS(3), 1, - sym_comment, - ACTIONS(242), 1, - anon_sym_type, - ACTIONS(245), 1, - anon_sym_function, - ACTIONS(248), 1, - anon_sym_primitive, - ACTIONS(251), 1, - anon_sym_var, - ACTIONS(254), 1, - anon_sym_import, - ACTIONS(240), 2, + ACTIONS(238), 2, ts_builtin_sym_end, anon_sym_in, STATE(67), 9, @@ -4159,20 +4119,20 @@ static const uint16_t ts_small_parse_table[] = { sym_import_declaration, aux_sym__declaration_chunk_repeat1, aux_sym__declaration_chunk_repeat2, - [3049] = 8, + [3023] = 8, ACTIONS(3), 1, sym_comment, + ACTIONS(255), 1, + anon_sym_in, ACTIONS(257), 1, - anon_sym_in, - ACTIONS(259), 1, anon_sym_type, - ACTIONS(261), 1, + ACTIONS(259), 1, anon_sym_function, - ACTIONS(263), 1, + ACTIONS(261), 1, anon_sym_primitive, - ACTIONS(265), 1, + ACTIONS(263), 1, anon_sym_var, - ACTIONS(267), 1, + ACTIONS(265), 1, anon_sym_import, STATE(67), 9, aux_sym__declaration_chunks, @@ -4184,104 +4144,101 @@ static const uint16_t ts_small_parse_table[] = { sym_import_declaration, aux_sym__declaration_chunk_repeat1, aux_sym__declaration_chunk_repeat2, - [3082] = 11, + [3056] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(269), 1, + ACTIONS(267), 1, anon_sym_SEMI, - ACTIONS(271), 1, + ACTIONS(269), 1, anon_sym_end, STATE(115), 1, aux_sym_sequence_expression_repeat1, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3121] = 11, + [3093] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(269), 1, + ACTIONS(267), 1, anon_sym_SEMI, - ACTIONS(273), 1, + ACTIONS(271), 1, anon_sym_end, STATE(121), 1, aux_sym_sequence_expression_repeat1, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3160] = 11, + [3130] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(275), 1, + ACTIONS(273), 1, anon_sym_COMMA, - ACTIONS(277), 1, + ACTIONS(275), 1, anon_sym_RPAREN, STATE(113), 1, aux_sym_function_call_repeat1, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3199] = 8, + [3167] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 1, + ACTIONS(257), 1, anon_sym_type, - ACTIONS(261), 1, + ACTIONS(259), 1, anon_sym_function, - ACTIONS(263), 1, + ACTIONS(261), 1, anon_sym_primitive, - ACTIONS(265), 1, + ACTIONS(263), 1, anon_sym_var, - ACTIONS(267), 1, + ACTIONS(265), 1, anon_sym_import, - ACTIONS(279), 1, + ACTIONS(277), 1, ts_builtin_sym_end, STATE(67), 9, aux_sym__declaration_chunks, @@ -4293,20 +4250,20 @@ static const uint16_t ts_small_parse_table[] = { sym_import_declaration, aux_sym__declaration_chunk_repeat1, aux_sym__declaration_chunk_repeat2, - [3232] = 8, + [3200] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(259), 1, + ACTIONS(257), 1, anon_sym_type, - ACTIONS(261), 1, + ACTIONS(259), 1, anon_sym_function, - ACTIONS(263), 1, + ACTIONS(261), 1, anon_sym_primitive, - ACTIONS(265), 1, + ACTIONS(263), 1, anon_sym_var, - ACTIONS(267), 1, + ACTIONS(265), 1, anon_sym_import, - ACTIONS(281), 1, + ACTIONS(279), 1, anon_sym_in, STATE(68), 9, aux_sym__declaration_chunks, @@ -4318,327 +4275,315 @@ static const uint16_t ts_small_parse_table[] = { sym_import_declaration, aux_sym__declaration_chunk_repeat1, aux_sym__declaration_chunk_repeat2, - [3265] = 9, + [3233] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(283), 3, + ACTIONS(281), 3, anon_sym_RPAREN, anon_sym_SEMI, anon_sym_end, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3300] = 11, + [3266] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(285), 1, + ACTIONS(283), 1, anon_sym_COMMA, - ACTIONS(287), 1, + ACTIONS(285), 1, anon_sym_RBRACE, STATE(118), 1, aux_sym_record_expression_repeat1, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3339] = 11, + [3303] = 10, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(269), 1, + ACTIONS(267), 1, anon_sym_SEMI, - ACTIONS(289), 1, + ACTIONS(287), 1, anon_sym_RPAREN, STATE(114), 1, aux_sym_sequence_expression_repeat1, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3378] = 9, + [3340] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, + anon_sym_LT, + anon_sym_GT, + ACTIONS(289), 2, + anon_sym_COMMA, + anon_sym_RBRACE, + ACTIONS(70), 4, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ, + anon_sym_LT_GT, + [3372] = 8, + ACTIONS(3), 1, + sym_comment, + ACTIONS(74), 1, + anon_sym_AMP, + ACTIONS(76), 1, + anon_sym_PIPE, + ACTIONS(66), 2, + anon_sym_DASH, + anon_sym_PLUS, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, ACTIONS(291), 2, - anon_sym_COMMA, - anon_sym_RBRACE, - ACTIONS(72), 4, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ, - anon_sym_LT_GT, - [3412] = 9, - ACTIONS(3), 1, - sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, - anon_sym_AMP, - ACTIONS(78), 1, - anon_sym_PIPE, - ACTIONS(66), 2, - anon_sym_DASH, - anon_sym_PLUS, - ACTIONS(74), 2, - anon_sym_LT, - anon_sym_GT, - ACTIONS(293), 2, anon_sym_COMMA, anon_sym_RPAREN, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3446] = 9, + [3404] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(295), 1, + ACTIONS(293), 1, anon_sym_RBRACK, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3479] = 9, + [3435] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(297), 1, + ACTIONS(295), 1, anon_sym_then, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3512] = 9, + [3466] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(299), 1, + ACTIONS(297), 1, anon_sym_do, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3545] = 9, + [3497] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(301), 1, + ACTIONS(299), 1, anon_sym_RBRACK, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3578] = 9, + [3528] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(303), 1, + ACTIONS(301), 1, anon_sym_do, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3611] = 9, + [3559] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(305), 1, + ACTIONS(303), 1, anon_sym_to, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3644] = 9, + [3590] = 8, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 1, - anon_sym_STAR, - ACTIONS(70), 1, - anon_sym_SLASH, - ACTIONS(76), 1, + ACTIONS(74), 1, anon_sym_AMP, - ACTIONS(78), 1, + ACTIONS(76), 1, anon_sym_PIPE, - ACTIONS(279), 1, + ACTIONS(277), 1, ts_builtin_sym_end, ACTIONS(66), 2, anon_sym_DASH, anon_sym_PLUS, - ACTIONS(74), 2, + ACTIONS(68), 2, + anon_sym_STAR, + anon_sym_SLASH, + ACTIONS(72), 2, anon_sym_LT, anon_sym_GT, - ACTIONS(72), 4, + ACTIONS(70), 4, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ, anon_sym_LT_GT, - [3677] = 5, + [3621] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(309), 1, + ACTIONS(307), 1, anon_sym_function, - ACTIONS(312), 1, + ACTIONS(310), 1, anon_sym_primitive, STATE(86), 3, sym_function_declaration, sym_primitive_declaration, aux_sym__declaration_chunk_repeat2, - ACTIONS(307), 5, + ACTIONS(305), 5, ts_builtin_sym_end, anon_sym_in, anon_sym_type, anon_sym_var, anon_sym_import, - [3699] = 2, + [3643] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(315), 9, + ACTIONS(313), 9, ts_builtin_sym_end, anon_sym_EQ, anon_sym_in, @@ -4648,22 +4593,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3714] = 4, + [3658] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(319), 1, + ACTIONS(317), 1, anon_sym_type, STATE(88), 2, sym_type_declaration, aux_sym__declaration_chunk_repeat1, - ACTIONS(317), 6, + ACTIONS(315), 6, ts_builtin_sym_end, anon_sym_in, anon_sym_function, anon_sym_primitive, anon_sym_var, anon_sym_import, - [3733] = 2, + [3677] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(320), 9, + ts_builtin_sym_end, + anon_sym_EQ, + anon_sym_in, + anon_sym_type, + anon_sym_COLON, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [3692] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(322), 9, @@ -4676,25 +4634,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3748] = 2, + [3707] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(324), 9, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_in, - anon_sym_type, + ACTIONS(326), 1, anon_sym_COLON, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [3763] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(328), 1, - anon_sym_COLON, - ACTIONS(326), 8, + ACTIONS(324), 8, ts_builtin_sym_end, anon_sym_EQ, anon_sym_in, @@ -4703,10 +4648,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3780] = 2, + [3724] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(330), 8, + ACTIONS(328), 8, ts_builtin_sym_end, anon_sym_EQ, anon_sym_in, @@ -4715,7 +4660,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3794] = 2, + [3738] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(330), 7, + ts_builtin_sym_end, + anon_sym_in, + anon_sym_type, + anon_sym_function, + anon_sym_primitive, + anon_sym_var, + anon_sym_import, + [3751] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(332), 7, @@ -4726,7 +4682,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3807] = 2, + [3764] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(334), 7, @@ -4737,7 +4693,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3820] = 2, + [3777] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(336), 7, @@ -4748,7 +4704,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3833] = 2, + [3790] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(338), 7, @@ -4759,10 +4715,24 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3846] = 2, + [3803] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(340), 7, + ACTIONS(340), 1, + sym_identifier, + ACTIONS(342), 1, + anon_sym_LBRACE, + ACTIONS(344), 1, + anon_sym_array, + STATE(96), 4, + sym__type, + sym_type_alias, + sym_record_type, + sym_array_type, + [3822] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(346), 7, ts_builtin_sym_end, anon_sym_in, anon_sym_type, @@ -4770,21 +4740,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3859] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(342), 1, - sym_identifier, - ACTIONS(344), 1, - anon_sym_LBRACE, - ACTIONS(346), 1, - anon_sym_array, - STATE(96), 4, - sym__type, - sym_type_alias, - sym_record_type, - sym_array_type, - [3878] = 2, + [3835] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(348), 7, @@ -4795,7 +4751,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3891] = 2, + [3848] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(350), 7, @@ -4806,344 +4762,330 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_primitive, anon_sym_var, anon_sym_import, - [3904] = 2, + [3861] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(352), 7, - ts_builtin_sym_end, - anon_sym_in, - anon_sym_type, - anon_sym_function, - anon_sym_primitive, - anon_sym_var, - anon_sym_import, - [3917] = 5, - ACTIONS(354), 1, + ACTIONS(352), 1, + anon_sym_DQUOTE, + STATE(103), 1, + aux_sym_string_literal_repeat1, + ACTIONS(354), 2, + aux_sym_string_literal_token1, + sym_escape_sequence, + [3875] = 4, + ACTIONS(3), 1, sym_comment, ACTIONS(356), 1, anon_sym_DQUOTE, - ACTIONS(358), 1, - aux_sym_string_literal_token1, - ACTIONS(360), 1, - sym_escape_sequence, - STATE(103), 1, - aux_sym_string_literal_repeat1, - [3933] = 5, - ACTIONS(354), 1, - sym_comment, - ACTIONS(362), 1, - anon_sym_DQUOTE, - ACTIONS(364), 1, - aux_sym_string_literal_token1, - ACTIONS(366), 1, - sym_escape_sequence, STATE(106), 1, aux_sym_string_literal_repeat1, - [3949] = 4, + ACTIONS(358), 2, + aux_sym_string_literal_token1, + sym_escape_sequence, + [3889] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(360), 1, + anon_sym_SEMI, + STATE(104), 1, + aux_sym_sequence_expression_repeat1, + ACTIONS(281), 2, + anon_sym_RPAREN, + anon_sym_end, + [3903] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 1, + anon_sym_COMMA, + STATE(105), 1, + aux_sym_record_type_repeat1, + ACTIONS(366), 2, + anon_sym_RPAREN, + anon_sym_RBRACE, + [3917] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(368), 1, - anon_sym_SEMI, - STATE(104), 1, - aux_sym_sequence_expression_repeat1, - ACTIONS(283), 2, - anon_sym_RPAREN, - anon_sym_end, - [3963] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(371), 1, - anon_sym_COMMA, - STATE(105), 1, - aux_sym_record_type_repeat1, - ACTIONS(374), 2, - anon_sym_RPAREN, - anon_sym_RBRACE, - [3977] = 5, - ACTIONS(354), 1, - sym_comment, - ACTIONS(376), 1, anon_sym_DQUOTE, - ACTIONS(378), 1, - aux_sym_string_literal_token1, - ACTIONS(381), 1, - sym_escape_sequence, STATE(106), 1, aux_sym_string_literal_repeat1, - [3993] = 2, + ACTIONS(370), 2, + aux_sym_string_literal_token1, + sym_escape_sequence, + [3931] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(384), 3, + ACTIONS(373), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, - [4002] = 4, + [3940] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(386), 1, + ACTIONS(375), 1, anon_sym_COMMA, - ACTIONS(388), 1, + ACTIONS(377), 1, anon_sym_RPAREN, STATE(105), 1, aux_sym_record_type_repeat1, - [4015] = 4, + [3953] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(293), 1, + ACTIONS(291), 1, anon_sym_RPAREN, - ACTIONS(390), 1, + ACTIONS(379), 1, anon_sym_COMMA, STATE(109), 1, aux_sym_function_call_repeat1, - [4028] = 2, + [3966] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(393), 3, + ACTIONS(382), 3, anon_sym_COMMA, anon_sym_RPAREN, anon_sym_RBRACE, - [4037] = 4, + [3975] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(395), 1, + ACTIONS(384), 1, sym_identifier, - ACTIONS(397), 1, + ACTIONS(386), 1, anon_sym_RBRACE, STATE(117), 1, sym__typed_field, - [4050] = 4, + [3988] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(386), 1, + ACTIONS(375), 1, anon_sym_COMMA, - ACTIONS(399), 1, + ACTIONS(388), 1, anon_sym_RBRACE, STATE(105), 1, aux_sym_record_type_repeat1, - [4063] = 4, + [4001] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(275), 1, + ACTIONS(273), 1, anon_sym_COMMA, - ACTIONS(401), 1, + ACTIONS(390), 1, anon_sym_RPAREN, STATE(109), 1, aux_sym_function_call_repeat1, - [4076] = 4, + [4014] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(269), 1, + ACTIONS(267), 1, anon_sym_SEMI, - ACTIONS(403), 1, + ACTIONS(392), 1, anon_sym_RPAREN, STATE(104), 1, aux_sym_sequence_expression_repeat1, - [4089] = 4, + [4027] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(269), 1, + ACTIONS(267), 1, anon_sym_SEMI, - ACTIONS(405), 1, + ACTIONS(394), 1, anon_sym_end, STATE(104), 1, aux_sym_sequence_expression_repeat1, - [4102] = 4, + [4040] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(407), 1, + ACTIONS(396), 1, anon_sym_COMMA, - ACTIONS(410), 1, + ACTIONS(399), 1, anon_sym_RBRACE, STATE(116), 1, aux_sym_record_expression_repeat1, - [4115] = 4, + [4053] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(386), 1, + ACTIONS(375), 1, anon_sym_COMMA, - ACTIONS(412), 1, + ACTIONS(401), 1, anon_sym_RBRACE, STATE(112), 1, aux_sym_record_type_repeat1, - [4128] = 4, + [4066] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(285), 1, + ACTIONS(283), 1, anon_sym_COMMA, - ACTIONS(414), 1, + ACTIONS(403), 1, anon_sym_RBRACE, STATE(116), 1, aux_sym_record_expression_repeat1, - [4141] = 4, + [4079] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(386), 1, + ACTIONS(375), 1, anon_sym_COMMA, - ACTIONS(416), 1, + ACTIONS(405), 1, anon_sym_RPAREN, STATE(108), 1, aux_sym_record_type_repeat1, - [4154] = 4, + [4092] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(395), 1, + ACTIONS(384), 1, sym_identifier, - ACTIONS(418), 1, + ACTIONS(407), 1, anon_sym_RPAREN, STATE(119), 1, sym__typed_field, - [4167] = 4, + [4105] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(269), 1, + ACTIONS(267), 1, anon_sym_SEMI, - ACTIONS(420), 1, + ACTIONS(409), 1, anon_sym_end, STATE(104), 1, aux_sym_sequence_expression_repeat1, - [4180] = 3, + [4118] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(422), 1, + ACTIONS(411), 1, sym_identifier, - ACTIONS(424), 1, + ACTIONS(413), 1, anon_sym_RBRACE, - [4190] = 3, + [4128] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(426), 1, + ACTIONS(415), 1, sym_identifier, STATE(95), 1, sym__function_declaration_common, - [4200] = 3, + [4138] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(428), 1, + ACTIONS(417), 1, anon_sym_LPAREN, STATE(91), 1, sym_parameters, - [4210] = 3, + [4148] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(430), 1, + ACTIONS(419), 1, anon_sym_COLON_EQ, - ACTIONS(432), 1, + ACTIONS(421), 1, anon_sym_COLON, - [4220] = 3, + [4158] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(11), 1, anon_sym_DQUOTE, STATE(101), 1, sym_string_literal, - [4230] = 3, + [4168] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(395), 1, + ACTIONS(384), 1, sym_identifier, STATE(107), 1, sym__typed_field, - [4240] = 3, + [4178] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(426), 1, + ACTIONS(415), 1, sym_identifier, STATE(146), 1, sym__function_declaration_common, - [4250] = 2, + [4188] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(434), 1, + ACTIONS(423), 1, anon_sym_COLON_EQ, - [4257] = 2, + [4195] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(436), 1, + ACTIONS(425), 1, sym_identifier, - [4264] = 2, + [4202] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(438), 1, + ACTIONS(427), 1, sym_identifier, - [4271] = 2, + [4209] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(440), 1, + ACTIONS(429), 1, sym_identifier, - [4278] = 2, + [4216] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(442), 1, + ACTIONS(431), 1, anon_sym_EQ, - [4285] = 2, + [4223] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(444), 1, + ACTIONS(433), 1, sym_identifier, - [4292] = 2, + [4230] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(446), 1, + ACTIONS(435), 1, sym_identifier, - [4299] = 2, + [4237] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(448), 1, + ACTIONS(437), 1, anon_sym_of, - [4306] = 2, + [4244] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(450), 1, + ACTIONS(439), 1, anon_sym_of, - [4313] = 2, + [4251] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(452), 1, + ACTIONS(441), 1, anon_sym_EQ, - [4320] = 2, + [4258] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(454), 1, + ACTIONS(443), 1, sym_identifier, - [4327] = 2, + [4265] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(456), 1, + ACTIONS(445), 1, anon_sym_EQ, - [4334] = 2, + [4272] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(458), 1, + ACTIONS(447), 1, ts_builtin_sym_end, - [4341] = 2, + [4279] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(460), 1, + ACTIONS(449), 1, anon_sym_COLON_EQ, - [4348] = 2, + [4286] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(462), 1, + ACTIONS(451), 1, sym_identifier, - [4355] = 2, + [4293] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(464), 1, + ACTIONS(453), 1, sym_identifier, - [4362] = 2, + [4300] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(466), 1, + ACTIONS(455), 1, anon_sym_COLON, - [4369] = 2, + [4307] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(468), 1, + ACTIONS(457), 1, anon_sym_EQ, - [4376] = 2, + [4314] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(470), 1, + ACTIONS(459), 1, sym_identifier, }; @@ -5153,147 +5095,147 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(4)] = 88, [SMALL_STATE(5)] = 134, [SMALL_STATE(6)] = 174, - [SMALL_STATE(7)] = 223, - [SMALL_STATE(8)] = 260, - [SMALL_STATE(9)] = 297, - [SMALL_STATE(10)] = 346, - [SMALL_STATE(11)] = 383, - [SMALL_STATE(12)] = 420, - [SMALL_STATE(13)] = 457, - [SMALL_STATE(14)] = 494, - [SMALL_STATE(15)] = 531, - [SMALL_STATE(16)] = 568, - [SMALL_STATE(17)] = 605, - [SMALL_STATE(18)] = 654, - [SMALL_STATE(19)] = 703, - [SMALL_STATE(20)] = 740, - [SMALL_STATE(21)] = 791, - [SMALL_STATE(22)] = 828, - [SMALL_STATE(23)] = 865, - [SMALL_STATE(24)] = 902, - [SMALL_STATE(25)] = 939, - [SMALL_STATE(26)] = 976, - [SMALL_STATE(27)] = 1025, - [SMALL_STATE(28)] = 1062, - [SMALL_STATE(29)] = 1109, - [SMALL_STATE(30)] = 1154, - [SMALL_STATE(31)] = 1191, - [SMALL_STATE(32)] = 1228, - [SMALL_STATE(33)] = 1271, - [SMALL_STATE(34)] = 1312, - [SMALL_STATE(35)] = 1349, - [SMALL_STATE(36)] = 1405, - [SMALL_STATE(37)] = 1461, - [SMALL_STATE(38)] = 1517, - [SMALL_STATE(39)] = 1573, - [SMALL_STATE(40)] = 1626, - [SMALL_STATE(41)] = 1679, - [SMALL_STATE(42)] = 1732, - [SMALL_STATE(43)] = 1785, - [SMALL_STATE(44)] = 1838, - [SMALL_STATE(45)] = 1891, - [SMALL_STATE(46)] = 1944, - [SMALL_STATE(47)] = 1997, - [SMALL_STATE(48)] = 2050, - [SMALL_STATE(49)] = 2103, - [SMALL_STATE(50)] = 2156, - [SMALL_STATE(51)] = 2209, - [SMALL_STATE(52)] = 2262, - [SMALL_STATE(53)] = 2315, - [SMALL_STATE(54)] = 2368, - [SMALL_STATE(55)] = 2421, - [SMALL_STATE(56)] = 2474, - [SMALL_STATE(57)] = 2527, - [SMALL_STATE(58)] = 2580, - [SMALL_STATE(59)] = 2633, - [SMALL_STATE(60)] = 2686, - [SMALL_STATE(61)] = 2739, - [SMALL_STATE(62)] = 2792, - [SMALL_STATE(63)] = 2845, - [SMALL_STATE(64)] = 2898, - [SMALL_STATE(65)] = 2937, - [SMALL_STATE(66)] = 2976, - [SMALL_STATE(67)] = 3015, - [SMALL_STATE(68)] = 3049, - [SMALL_STATE(69)] = 3082, - [SMALL_STATE(70)] = 3121, - [SMALL_STATE(71)] = 3160, - [SMALL_STATE(72)] = 3199, - [SMALL_STATE(73)] = 3232, - [SMALL_STATE(74)] = 3265, - [SMALL_STATE(75)] = 3300, - [SMALL_STATE(76)] = 3339, - [SMALL_STATE(77)] = 3378, - [SMALL_STATE(78)] = 3412, - [SMALL_STATE(79)] = 3446, - [SMALL_STATE(80)] = 3479, - [SMALL_STATE(81)] = 3512, - [SMALL_STATE(82)] = 3545, - [SMALL_STATE(83)] = 3578, - [SMALL_STATE(84)] = 3611, - [SMALL_STATE(85)] = 3644, - [SMALL_STATE(86)] = 3677, - [SMALL_STATE(87)] = 3699, - [SMALL_STATE(88)] = 3714, - [SMALL_STATE(89)] = 3733, - [SMALL_STATE(90)] = 3748, - [SMALL_STATE(91)] = 3763, - [SMALL_STATE(92)] = 3780, - [SMALL_STATE(93)] = 3794, - [SMALL_STATE(94)] = 3807, - [SMALL_STATE(95)] = 3820, - [SMALL_STATE(96)] = 3833, - [SMALL_STATE(97)] = 3846, - [SMALL_STATE(98)] = 3859, - [SMALL_STATE(99)] = 3878, - [SMALL_STATE(100)] = 3891, - [SMALL_STATE(101)] = 3904, - [SMALL_STATE(102)] = 3917, - [SMALL_STATE(103)] = 3933, - [SMALL_STATE(104)] = 3949, - [SMALL_STATE(105)] = 3963, - [SMALL_STATE(106)] = 3977, - [SMALL_STATE(107)] = 3993, - [SMALL_STATE(108)] = 4002, - [SMALL_STATE(109)] = 4015, - [SMALL_STATE(110)] = 4028, - [SMALL_STATE(111)] = 4037, - [SMALL_STATE(112)] = 4050, - [SMALL_STATE(113)] = 4063, - [SMALL_STATE(114)] = 4076, - [SMALL_STATE(115)] = 4089, - [SMALL_STATE(116)] = 4102, - [SMALL_STATE(117)] = 4115, - [SMALL_STATE(118)] = 4128, - [SMALL_STATE(119)] = 4141, - [SMALL_STATE(120)] = 4154, - [SMALL_STATE(121)] = 4167, - [SMALL_STATE(122)] = 4180, - [SMALL_STATE(123)] = 4190, - [SMALL_STATE(124)] = 4200, - [SMALL_STATE(125)] = 4210, - [SMALL_STATE(126)] = 4220, - [SMALL_STATE(127)] = 4230, - [SMALL_STATE(128)] = 4240, - [SMALL_STATE(129)] = 4250, - [SMALL_STATE(130)] = 4257, - [SMALL_STATE(131)] = 4264, - [SMALL_STATE(132)] = 4271, - [SMALL_STATE(133)] = 4278, - [SMALL_STATE(134)] = 4285, - [SMALL_STATE(135)] = 4292, - [SMALL_STATE(136)] = 4299, - [SMALL_STATE(137)] = 4306, - [SMALL_STATE(138)] = 4313, - [SMALL_STATE(139)] = 4320, - [SMALL_STATE(140)] = 4327, - [SMALL_STATE(141)] = 4334, - [SMALL_STATE(142)] = 4341, - [SMALL_STATE(143)] = 4348, - [SMALL_STATE(144)] = 4355, - [SMALL_STATE(145)] = 4362, - [SMALL_STATE(146)] = 4369, - [SMALL_STATE(147)] = 4376, + [SMALL_STATE(7)] = 221, + [SMALL_STATE(8)] = 258, + [SMALL_STATE(9)] = 295, + [SMALL_STATE(10)] = 342, + [SMALL_STATE(11)] = 379, + [SMALL_STATE(12)] = 416, + [SMALL_STATE(13)] = 453, + [SMALL_STATE(14)] = 490, + [SMALL_STATE(15)] = 527, + [SMALL_STATE(16)] = 564, + [SMALL_STATE(17)] = 601, + [SMALL_STATE(18)] = 648, + [SMALL_STATE(19)] = 695, + [SMALL_STATE(20)] = 732, + [SMALL_STATE(21)] = 781, + [SMALL_STATE(22)] = 818, + [SMALL_STATE(23)] = 855, + [SMALL_STATE(24)] = 892, + [SMALL_STATE(25)] = 929, + [SMALL_STATE(26)] = 966, + [SMALL_STATE(27)] = 1013, + [SMALL_STATE(28)] = 1050, + [SMALL_STATE(29)] = 1095, + [SMALL_STATE(30)] = 1138, + [SMALL_STATE(31)] = 1175, + [SMALL_STATE(32)] = 1212, + [SMALL_STATE(33)] = 1253, + [SMALL_STATE(34)] = 1292, + [SMALL_STATE(35)] = 1329, + [SMALL_STATE(36)] = 1385, + [SMALL_STATE(37)] = 1441, + [SMALL_STATE(38)] = 1497, + [SMALL_STATE(39)] = 1553, + [SMALL_STATE(40)] = 1606, + [SMALL_STATE(41)] = 1659, + [SMALL_STATE(42)] = 1712, + [SMALL_STATE(43)] = 1765, + [SMALL_STATE(44)] = 1818, + [SMALL_STATE(45)] = 1871, + [SMALL_STATE(46)] = 1924, + [SMALL_STATE(47)] = 1977, + [SMALL_STATE(48)] = 2030, + [SMALL_STATE(49)] = 2083, + [SMALL_STATE(50)] = 2136, + [SMALL_STATE(51)] = 2189, + [SMALL_STATE(52)] = 2242, + [SMALL_STATE(53)] = 2295, + [SMALL_STATE(54)] = 2348, + [SMALL_STATE(55)] = 2401, + [SMALL_STATE(56)] = 2454, + [SMALL_STATE(57)] = 2507, + [SMALL_STATE(58)] = 2560, + [SMALL_STATE(59)] = 2613, + [SMALL_STATE(60)] = 2666, + [SMALL_STATE(61)] = 2719, + [SMALL_STATE(62)] = 2772, + [SMALL_STATE(63)] = 2825, + [SMALL_STATE(64)] = 2878, + [SMALL_STATE(65)] = 2915, + [SMALL_STATE(66)] = 2952, + [SMALL_STATE(67)] = 2989, + [SMALL_STATE(68)] = 3023, + [SMALL_STATE(69)] = 3056, + [SMALL_STATE(70)] = 3093, + [SMALL_STATE(71)] = 3130, + [SMALL_STATE(72)] = 3167, + [SMALL_STATE(73)] = 3200, + [SMALL_STATE(74)] = 3233, + [SMALL_STATE(75)] = 3266, + [SMALL_STATE(76)] = 3303, + [SMALL_STATE(77)] = 3340, + [SMALL_STATE(78)] = 3372, + [SMALL_STATE(79)] = 3404, + [SMALL_STATE(80)] = 3435, + [SMALL_STATE(81)] = 3466, + [SMALL_STATE(82)] = 3497, + [SMALL_STATE(83)] = 3528, + [SMALL_STATE(84)] = 3559, + [SMALL_STATE(85)] = 3590, + [SMALL_STATE(86)] = 3621, + [SMALL_STATE(87)] = 3643, + [SMALL_STATE(88)] = 3658, + [SMALL_STATE(89)] = 3677, + [SMALL_STATE(90)] = 3692, + [SMALL_STATE(91)] = 3707, + [SMALL_STATE(92)] = 3724, + [SMALL_STATE(93)] = 3738, + [SMALL_STATE(94)] = 3751, + [SMALL_STATE(95)] = 3764, + [SMALL_STATE(96)] = 3777, + [SMALL_STATE(97)] = 3790, + [SMALL_STATE(98)] = 3803, + [SMALL_STATE(99)] = 3822, + [SMALL_STATE(100)] = 3835, + [SMALL_STATE(101)] = 3848, + [SMALL_STATE(102)] = 3861, + [SMALL_STATE(103)] = 3875, + [SMALL_STATE(104)] = 3889, + [SMALL_STATE(105)] = 3903, + [SMALL_STATE(106)] = 3917, + [SMALL_STATE(107)] = 3931, + [SMALL_STATE(108)] = 3940, + [SMALL_STATE(109)] = 3953, + [SMALL_STATE(110)] = 3966, + [SMALL_STATE(111)] = 3975, + [SMALL_STATE(112)] = 3988, + [SMALL_STATE(113)] = 4001, + [SMALL_STATE(114)] = 4014, + [SMALL_STATE(115)] = 4027, + [SMALL_STATE(116)] = 4040, + [SMALL_STATE(117)] = 4053, + [SMALL_STATE(118)] = 4066, + [SMALL_STATE(119)] = 4079, + [SMALL_STATE(120)] = 4092, + [SMALL_STATE(121)] = 4105, + [SMALL_STATE(122)] = 4118, + [SMALL_STATE(123)] = 4128, + [SMALL_STATE(124)] = 4138, + [SMALL_STATE(125)] = 4148, + [SMALL_STATE(126)] = 4158, + [SMALL_STATE(127)] = 4168, + [SMALL_STATE(128)] = 4178, + [SMALL_STATE(129)] = 4188, + [SMALL_STATE(130)] = 4195, + [SMALL_STATE(131)] = 4202, + [SMALL_STATE(132)] = 4209, + [SMALL_STATE(133)] = 4216, + [SMALL_STATE(134)] = 4223, + [SMALL_STATE(135)] = 4230, + [SMALL_STATE(136)] = 4237, + [SMALL_STATE(137)] = 4244, + [SMALL_STATE(138)] = 4251, + [SMALL_STATE(139)] = 4258, + [SMALL_STATE(140)] = 4265, + [SMALL_STATE(141)] = 4272, + [SMALL_STATE(142)] = 4279, + [SMALL_STATE(143)] = 4286, + [SMALL_STATE(144)] = 4293, + [SMALL_STATE(145)] = 4300, + [SMALL_STATE(146)] = 4307, + [SMALL_STATE(147)] = 4314, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -5332,205 +5274,206 @@ static const TSParseActionEntry ts_parse_actions[] = { [64] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_expression, 6, .production_id = 23), [66] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), [68] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [70] = {.entry = {.count = 1, .reusable = false}}, SHIFT(48), - [72] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [74] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), - [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [78] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 10), - [82] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 10), - [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 26), - [86] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 26), - [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 25), - [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 24), - [92] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 24), - [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3), - [96] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3), - [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 20), - [100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 20), - [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 19), - [104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 19), - [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, .production_id = 18), - [108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, .production_id = 18), - [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 14), - [112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 14), - [114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 13), - [116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 13), - [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 8, .production_id = 34), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 4, .production_id = 12), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), - [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), - [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 11), - [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 4), - [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 4), - [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 3), - [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 3), - [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 32), - [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 32), - [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 2), - [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 2), - [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 9), - [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, .production_id = 9), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 1), - [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 5), - [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 5), - [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 7), - [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 7), - [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), - [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), - [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 4), - [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 4), - [168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), - [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), - [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), - [176] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), - [178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [180] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), - [182] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), - [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), - [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), - [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), - [192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), - [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), - [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), - [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), - [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), - [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), - [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), - [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), - [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), - [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), - [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), - [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), - [218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), - [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), - [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), - [224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), - [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), - [228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), - [230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), - [232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), - [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 16), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, .production_id = 15), - [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, .production_id = 31), - [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), - [242] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(147), - [245] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(128), - [248] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(123), - [251] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(134), - [254] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(126), - [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), - [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), - [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), - [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [279] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [283] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), - [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), - [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [289] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 4, .production_id = 35), - [293] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), - [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), - [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), - [305] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), - [309] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(128), - [312] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(123), - [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 4, .production_id = 29), - [317] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), - [319] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), SHIFT_REPEAT(147), - [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, .production_id = 21), - [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), - [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_common, 2, .production_id = 6), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_common, 4, .production_id = 22), - [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 1), - [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 3, .production_id = 27), - [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_declaration, 2, .production_id = 2), - [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, .production_id = 15), - [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 29), - [342] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), - [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [346] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), - [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), - [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 3, .production_id = 21), - [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2, .production_id = 3), - [354] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), - [358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), - [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [364] = {.entry = {.count = 1, .reusable = false}}, SHIFT(106), - [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [368] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), SHIFT_REPEAT(62), - [371] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 30), SHIFT_REPEAT(127), - [374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 30), - [376] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), - [378] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(106), - [381] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(106), - [384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 21), - [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), - [390] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(55), - [393] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typed_field, 3, .production_id = 28), - [395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), - [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [407] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 33), SHIFT_REPEAT(143), - [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 33), - [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [422] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), - [430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [432] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), - [434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [436] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [438] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), - [440] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [442] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [444] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [446] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [448] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [450] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [458] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [70] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [72] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), + [74] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [76] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [78] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 10), + [80] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 10), + [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 6, .production_id = 26), + [84] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 6, .production_id = 26), + [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 6, .production_id = 25), + [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 6, .production_id = 24), + [90] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 6, .production_id = 24), + [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 3), + [94] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 3), + [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 20), + [98] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 20), + [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 5, .production_id = 19), + [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 5, .production_id = 19), + [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 5, .production_id = 18), + [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 5, .production_id = 18), + [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 14), + [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 14), + [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_let_expression, 4, .production_id = 13), + [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_let_expression, 4, .production_id = 13), + [116] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expression, 8, .production_id = 34), + [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_expression, 4, .production_id = 12), + [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 2), + [122] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 2), + [124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_expression, 4, .production_id = 11), + [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 4), + [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 4), + [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 3), + [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 3), + [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 7, .production_id = 32), + [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 7, .production_id = 32), + [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_sequence_expression, 2), + [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_sequence_expression, 2), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, .production_id = 9), + [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, .production_id = 9), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 1), + [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_expression, 3, .production_id = 5), + [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_record_expression, 3, .production_id = 5), + [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 7), + [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 7), + [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_literal, 3), + [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_literal, 3), + [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 4), + [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 4), + [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(69), + [168] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), + [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), + [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(11), + [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), + [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(79), + [188] = {.entry = {.count = 1, .reusable = false}}, SHIFT(26), + [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), + [192] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), + [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), + [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(75), + [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), + [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), + [202] = {.entry = {.count = 1, .reusable = false}}, SHIFT(32), + [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), + [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(28), + [208] = {.entry = {.count = 1, .reusable = false}}, SHIFT(6), + [210] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(25), + [214] = {.entry = {.count = 1, .reusable = false}}, SHIFT(78), + [216] = {.entry = {.count = 1, .reusable = false}}, SHIFT(9), + [218] = {.entry = {.count = 1, .reusable = false}}, SHIFT(65), + [220] = {.entry = {.count = 1, .reusable = false}}, SHIFT(83), + [222] = {.entry = {.count = 1, .reusable = false}}, SHIFT(64), + [224] = {.entry = {.count = 1, .reusable = false}}, SHIFT(66), + [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(18), + [228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), + [230] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_declaration, 4, .production_id = 16), + [234] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, .production_id = 15), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 6, .production_id = 31), + [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), + [240] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(147), + [243] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(128), + [246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(123), + [249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(134), + [252] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunks, 2), SHIFT_REPEAT(126), + [255] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [257] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [259] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), + [261] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(134), + [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(126), + [267] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [275] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [277] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [281] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), + [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [287] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 4, .production_id = 35), + [291] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), + [293] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [295] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [297] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), + [301] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [303] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [305] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), + [307] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(128), + [310] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat2, 2), SHIFT_REPEAT(123), + [313] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 4, .production_id = 29), + [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), + [317] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__declaration_chunk_repeat1, 2), SHIFT_REPEAT(147), + [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, .production_id = 21), + [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_common, 2, .production_id = 6), + [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_declaration_common, 4, .production_id = 22), + [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 1), + [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_type, 3, .production_id = 27), + [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_declaration, 2, .production_id = 2), + [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_declaration, 4, .production_id = 15), + [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 4, .production_id = 29), + [340] = {.entry = {.count = 1, .reusable = false}}, SHIFT(93), + [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [344] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), + [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 2), + [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_record_type, 3, .production_id = 21), + [350] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_import_declaration, 2, .production_id = 3), + [352] = {.entry = {.count = 1, .reusable = false}}, SHIFT(19), + [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [356] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), + [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [360] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_sequence_expression_repeat1, 2), SHIFT_REPEAT(62), + [363] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 30), SHIFT_REPEAT(127), + [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 30), + [368] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_literal_repeat1, 2), + [370] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_literal_repeat1, 2), SHIFT_REPEAT(106), + [373] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_type_repeat1, 2, .production_id = 21), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [379] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_call_repeat1, 2), SHIFT_REPEAT(55), + [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__typed_field, 3, .production_id = 28), + [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [396] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 33), SHIFT_REPEAT(143), + [399] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_record_expression_repeat1, 2, .production_id = 33), + [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [421] = {.entry = {.count = 1, .reusable = false}}, SHIFT(135), + [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), + [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), + [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), + [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [447] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), + [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), }; #ifdef __cplusplus extern "C" { #endif +void *tree_sitter_tiger_external_scanner_create(void); +void tree_sitter_tiger_external_scanner_destroy(void *); +bool tree_sitter_tiger_external_scanner_scan(void *, TSLexer *, const bool *); +unsigned tree_sitter_tiger_external_scanner_serialize(void *, char *); +void tree_sitter_tiger_external_scanner_deserialize(void *, const char *, unsigned); + #ifdef _WIN32 #define extern __declspec(dllexport) #endif @@ -5563,6 +5506,15 @@ extern const TSLanguage *tree_sitter_tiger(void) { .lex_fn = ts_lex, .keyword_lex_fn = ts_lex_keywords, .keyword_capture_token = sym_identifier, + .external_scanner = { + &ts_external_scanner_states[0][0], + ts_external_scanner_symbol_map, + tree_sitter_tiger_external_scanner_create, + tree_sitter_tiger_external_scanner_destroy, + tree_sitter_tiger_external_scanner_scan, + tree_sitter_tiger_external_scanner_serialize, + tree_sitter_tiger_external_scanner_deserialize, + }, }; return &language; } diff --git a/src/scanner.c b/src/scanner.c new file mode 100644 index 0000000..8b19246 --- /dev/null +++ b/src/scanner.c @@ -0,0 +1,98 @@ +#include +#include + +#include + +enum TokenType { + COMMENT, +}; + +static int32_t advance(TSLexer *lexer) { + int32_t last = lexer->lookahead; + lexer->advance(lexer, false); + return last; +} + +static bool expect(TSLexer *lexer, int32_t expected) { + if (lexer->eof(lexer) || lexer->lookahead != expected) { + return false; + } + advance(lexer); + return true; +} + +static void skip_whitespace(TSLexer *lexer) { + while (!lexer->eof(lexer)) { + switch (lexer->lookahead) { + case ' ': + case '\t': + case '\n': + case '\r': + lexer->advance(lexer, true); + default: + return; + } + } +} + +// Comments start with "/*", end with "*/", and can be nested like OCaml +static bool scan_comment(TSLexer *lexer) { + // '/' already consumed outside of the function + if (!expect(lexer, '*')) { + return false; // Division etc... + } + + unsigned long level = 1; + + while (level > 0 && !lexer->eof(lexer)) { + switch (advance(lexer)) { + case '/': + if (expect(lexer, '*')) { + ++level; + } + break; + case '*': + if (expect(lexer, '/')) { + --level; + } + break; + } + } + + return level == 0; +} + +void *tree_sitter_tiger_external_scanner_create() { + return NULL; +} + +void tree_sitter_tiger_external_scanner_destroy(void *payload) {} + +unsigned tree_sitter_tiger_external_scanner_serialize(void *payload, + char *buffer) { + return 0; +} + +void tree_sitter_tiger_external_scanner_deserialize(void *payload, + char const *buffer, + unsigned length) {} + +bool tree_sitter_tiger_external_scanner_scan(void *payload, + TSLexer *lexer, + bool const *valid_symbols) { + // Only try to scan when appropriate + if (!valid_symbols[COMMENT]) { + return false; + } + + // Apparently it is expected of us to skip all whitespace by ourselves... + skip_whitespace(lexer); + + // Comments start with "/*", scan_comment expects '/' to have been consumed + if (expect(lexer, '/')) { + lexer->result_symbol = COMMENT; + return scan_comment(lexer); + } + + return false; +} diff --git a/test/corpus/comments.txt b/test/corpus/comments.txt index 9823a22..e992ca0 100644 --- a/test/corpus/comments.txt +++ b/test/corpus/comments.txt @@ -51,13 +51,7 @@ Nested comment -------------------------------------------------------------------------------- (source_file - (comment) - (identifier) - (ERROR - (operator) - (operator) - (operator) - (operator))) + (comment)) ================================================================================ Unterminated comment