From 73ff874ae4c9e9b45462673cbc0a1e350e2522a7 Mon Sep 17 00:00:00 2001 From: Christian Clason Date: Sat, 20 Apr 2024 14:39:04 +0200 Subject: [PATCH] fix(grammar): adapt to upstream regex change --- grammar.js | 2 +- src/grammar.json | 17 +- src/parser.c | 2060 +++++++++++++++++++------------------- src/tree_sitter/alloc.h | 54 + src/tree_sitter/array.h | 290 ++++++ src/tree_sitter/parser.h | 67 +- 6 files changed, 1424 insertions(+), 1066 deletions(-) create mode 100644 src/tree_sitter/alloc.h create mode 100644 src/tree_sitter/array.h diff --git a/grammar.js b/grammar.js index 07e832d..bd09fba 100644 --- a/grammar.js +++ b/grammar.js @@ -745,7 +745,7 @@ module.exports = grammar({ /[0-7]{1,3}/, /x[0-9a-fA-F]{2}/, /u[0-9a-fA-F]{4}/, - /u{[0-9a-fA-F]+}/, + /u\{[0-9a-fA-F]+\}/, /U[0-9a-fA-F]{8}/, ))), diff --git a/src/grammar.json b/src/grammar.json index eb2496c..c1a08d1 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -5764,7 +5764,7 @@ }, { "type": "PATTERN", - "value": "u{[0-9a-fA-F]+}" + "value": "u\\{[0-9a-fA-F]+\\}" }, { "type": "PATTERN", @@ -5878,18 +5878,5 @@ "literal", "statement", "type" - ], - "PREC": { - "LAMBDA": -2, - "PARENTHESES": -1, - "ASSIGNMENT": 1, - "BINARY": 2, - "CAST": 3, - "UNARY": 4, - "CALL": 5, - "MEMBER": 6, - "TYPEARGS": 7, - "ARRAY_LITERAL": 8 - } + ] } - diff --git a/src/parser.c b/src/parser.c index acbdb7f..192624c 100644 --- a/src/parser.c +++ b/src/parser.c @@ -1,7 +1,6 @@ -#include +#include "tree_sitter/parser.h" #if defined(__GNUC__) || defined(__clang__) -#pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif @@ -16,7 +15,7 @@ #define MAX_ALIAS_SEQUENCE_LENGTH 15 #define PRODUCTION_ID_COUNT 27 -enum { +enum ts_symbol_identifiers { sym_identifier = 1, anon_sym_use = 2, anon_sym_EQ = 3, @@ -1851,7 +1850,7 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { }, }; -enum { +enum ts_field_identifiers { field_argument = 1, field_callee = 2, field_collection = 3, @@ -4504,229 +4503,217 @@ static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [2516] = 2377, }; -static inline bool sym_escape_sequence_character_set_1(int32_t c) { - return (c < 'a' - ? (c < '?' - ? (c < '\'' - ? c == '"' - : c <= '\'') - : (c <= '?' || c == '\\')) - : (c <= 'b' || (c < 'r' - ? (c < 'n' - ? c == 'f' - : c <= 'n') - : (c <= 'r' || (c >= 't' && c <= 'v'))))); -} - static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (eof) ADVANCE(45); - if (lookahead == '!') ADVANCE(68); - if (lookahead == '"') ADVANCE(123); - if (lookahead == '#') ADVANCE(10); - if (lookahead == '%') ADVANCE(82); - if (lookahead == '&') ADVANCE(71); - if (lookahead == '\'') ADVANCE(125); - if (lookahead == '(') ADVANCE(112); - if (lookahead == ')') ADVANCE(57); - if (lookahead == '*') ADVANCE(80); - if (lookahead == '+') ADVANCE(79); - if (lookahead == ',') ADVANCE(55); - if (lookahead == '-') ADVANCE(76); - if (lookahead == '.') ADVANCE(60); - if (lookahead == '/') ADVANCE(81); - if (lookahead == '0') ADVANCE(116); - if (lookahead == ':') ADVANCE(52); - if (lookahead == ';') ADVANCE(75); - if (lookahead == '<') ADVANCE(91); - if (lookahead == '=') ADVANCE(46); - if (lookahead == '>') ADVANCE(88); - if (lookahead == '?') ADVANCE(51); - if (lookahead == '@') ADVANCE(48); - if (lookahead == '[') ADVANCE(49); - if (lookahead == '\\') ADVANCE(54); - if (lookahead == ']') ADVANCE(50); - if (lookahead == '^') ADVANCE(69); - if (lookahead == '{') ADVANCE(73); - if (lookahead == '|') ADVANCE(70); - if (lookahead == '}') ADVANCE(74); - if (lookahead == '~') ADVANCE(114); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(42) + ADVANCE_MAP( + '!', 68, + '"', 123, + '#', 11, + '%', 82, + '&', 71, + '\'', 125, + '(', 112, + ')', 57, + '*', 80, + '+', 79, + ',', 55, + '-', 76, + '.', 60, + '/', 81, + '0', 116, + ':', 52, + ';', 75, + '<', 91, + '=', 46, + '>', 88, + '?', 51, + '@', 48, + '[', 49, + '\\', 54, + ']', 50, + '^', 69, + '{', 73, + '|', 70, + '}', 74, + '~', 114, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(42); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(117); if (('A' <= lookahead && lookahead <= '_') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); END_STATE(); case 1: - if (lookahead == '"') ADVANCE(124); + if (lookahead == '\r') ADVANCE(141); + if (lookahead != 0) ADVANCE(140); END_STATE(); case 2: + if (lookahead == '"') ADVANCE(124); + END_STATE(); + case 3: if (lookahead == '"') ADVANCE(122); if (lookahead == '/') ADVANCE(132); - if (lookahead == '\\') ADVANCE(9); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || + if (lookahead == '\\') ADVANCE(10); + if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(131); if (lookahead != 0) ADVANCE(133); END_STATE(); - case 3: + case 4: if (lookahead == '\'') ADVANCE(125); if (lookahead == '/') ADVANCE(128); - if (lookahead == '\\') ADVANCE(9); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || + if (lookahead == '\\') ADVANCE(10); + if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(127); if (lookahead != 0) ADVANCE(129); END_STATE(); - case 4: + case 5: if (lookahead == ')') ADVANCE(57); - if (lookahead == '.') ADVANCE(5); - if (lookahead == '/') ADVANCE(7); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(4) + if (lookahead == '.') ADVANCE(6); + if (lookahead == '/') ADVANCE(8); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(5); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); END_STATE(); - case 5: - if (lookahead == '.') ADVANCE(6); - END_STATE(); case 6: - if (lookahead == '.') ADVANCE(58); + if (lookahead == '.') ADVANCE(7); END_STATE(); case 7: - if (lookahead == '/') ADVANCE(140); + if (lookahead == '.') ADVANCE(58); END_STATE(); case 8: - if (lookahead == ':') ADVANCE(115); + if (lookahead == '/') ADVANCE(140); END_STATE(); case 9: + if (lookahead == ':') ADVANCE(115); + END_STATE(); + case 10: if (lookahead == 'U') ADVANCE(136); - if (lookahead == 'u') ADVANCE(25); - if (lookahead == 'x') ADVANCE(35); + if (lookahead == 'u') ADVANCE(26); + if (lookahead == 'x') ADVANCE(36); if (('0' <= lookahead && lookahead <= '7')) ADVANCE(135); - if (sym_escape_sequence_character_set_1(lookahead)) ADVANCE(137); + if (lookahead == '"' || + lookahead == '\'' || + lookahead == '?' || + lookahead == '\\' || + lookahead == 'a' || + lookahead == 'b' || + lookahead == 'f' || + lookahead == 'n' || + lookahead == 'r' || + ('t' <= lookahead && lookahead <= 'v')) ADVANCE(137); if (lookahead != 0) ADVANCE(134); END_STATE(); - case 10: - if (lookahead == 'a') ADVANCE(20); - if (lookahead == 'r') ADVANCE(16); - if (lookahead == 's') ADVANCE(17); - END_STATE(); case 11: - if (lookahead == 'a') ADVANCE(14); + if (lookahead == 'a') ADVANCE(21); + if (lookahead == 'r') ADVANCE(17); + if (lookahead == 's') ADVANCE(18); END_STATE(); case 12: - if (lookahead == 'a') ADVANCE(22); + if (lookahead == 'a') ADVANCE(15); END_STATE(); case 13: if (lookahead == 'a') ADVANCE(23); END_STATE(); case 14: - if (lookahead == 'd') ADVANCE(62); + if (lookahead == 'a') ADVANCE(24); END_STATE(); case 15: - if (lookahead == 'd') ADVANCE(63); + if (lookahead == 'd') ADVANCE(62); END_STATE(); case 16: - if (lookahead == 'e') ADVANCE(11); + if (lookahead == 'd') ADVANCE(63); END_STATE(); case 17: - if (lookahead == 'e') ADVANCE(21); - if (lookahead == 'h') ADVANCE(12); + if (lookahead == 'e') ADVANCE(12); END_STATE(); case 18: - if (lookahead == 'e') ADVANCE(64); + if (lookahead == 'e') ADVANCE(22); + if (lookahead == 'h') ADVANCE(13); END_STATE(); case 19: - if (lookahead == 'i') ADVANCE(13); + if (lookahead == 'e') ADVANCE(64); END_STATE(); case 20: - if (lookahead == 'l') ADVANCE(19); - if (lookahead == 'n') ADVANCE(24); + if (lookahead == 'i') ADVANCE(14); END_STATE(); case 21: - if (lookahead == 'n') ADVANCE(15); + if (lookahead == 'l') ADVANCE(20); + if (lookahead == 'n') ADVANCE(25); END_STATE(); case 22: - if (lookahead == 'r') ADVANCE(18); + if (lookahead == 'n') ADVANCE(16); END_STATE(); case 23: - if (lookahead == 's') ADVANCE(65); + if (lookahead == 'r') ADVANCE(19); END_STATE(); case 24: - if (lookahead == 'y') ADVANCE(66); + if (lookahead == 's') ADVANCE(65); END_STATE(); case 25: - if (lookahead == '{') ADVANCE(33); + if (lookahead == 'y') ADVANCE(66); + END_STATE(); + case 26: + if (lookahead == '{') ADVANCE(34); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(34); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(35); END_STATE(); - case 26: + case 27: if (lookahead == '}') ADVANCE(137); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(26); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(27); END_STATE(); - case 27: + case 28: if (lookahead == '+' || - lookahead == '-') ADVANCE(30); + lookahead == '-') ADVANCE(31); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(121); END_STATE(); - case 28: + case 29: if (lookahead == '0' || lookahead == '1') ADVANCE(118); END_STATE(); - case 29: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(120); - END_STATE(); case 30: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(121); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(120); END_STATE(); case 31: - if (('0' <= lookahead && lookahead <= '9') || - ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(119); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(121); END_STATE(); case 32: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(137); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(119); END_STATE(); case 33: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(26); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(137); END_STATE(); case 34: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(35); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(27); END_STATE(); case 35: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(32); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(36); END_STATE(); case 36: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(34); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(33); END_STATE(); case 37: if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(36); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(35); END_STATE(); case 38: if (('0' <= lookahead && lookahead <= '9') || @@ -4739,45 +4726,45 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ('a' <= lookahead && lookahead <= 'f')) ADVANCE(38); END_STATE(); case 40: - if (lookahead != 0 && - lookahead != '\r') ADVANCE(140); - if (lookahead == '\r') ADVANCE(141); + if (('0' <= lookahead && lookahead <= '9') || + ('A' <= lookahead && lookahead <= 'F') || + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(39); END_STATE(); case 41: if (eof) ADVANCE(45); - if (lookahead == '!') ADVANCE(68); - if (lookahead == '"') ADVANCE(123); - if (lookahead == '#') ADVANCE(10); - if (lookahead == '%') ADVANCE(82); - if (lookahead == '&') ADVANCE(71); - if (lookahead == '\'') ADVANCE(125); - if (lookahead == '(') ADVANCE(112); - if (lookahead == ')') ADVANCE(57); - if (lookahead == '*') ADVANCE(80); - if (lookahead == '+') ADVANCE(79); - if (lookahead == ',') ADVANCE(55); - if (lookahead == '-') ADVANCE(76); - if (lookahead == '.') ADVANCE(61); - if (lookahead == '/') ADVANCE(81); - if (lookahead == '0') ADVANCE(116); - if (lookahead == ':') ADVANCE(52); - if (lookahead == ';') ADVANCE(75); - if (lookahead == '<') ADVANCE(92); - if (lookahead == '=') ADVANCE(46); - if (lookahead == '>') ADVANCE(88); - if (lookahead == '?') ADVANCE(51); - if (lookahead == '@') ADVANCE(48); - if (lookahead == '[') ADVANCE(49); - if (lookahead == ']') ADVANCE(50); - if (lookahead == '^') ADVANCE(69); - if (lookahead == '{') ADVANCE(73); - if (lookahead == '|') ADVANCE(70); - if (lookahead == '}') ADVANCE(74); - if (lookahead == '~') ADVANCE(114); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(43) + ADVANCE_MAP( + '!', 68, + '"', 123, + '#', 11, + '%', 82, + '&', 71, + '\'', 125, + '(', 112, + ')', 57, + '*', 80, + '+', 79, + ',', 55, + '-', 76, + '.', 61, + '/', 81, + '0', 116, + ':', 52, + ';', 75, + '<', 92, + '=', 46, + '>', 88, + '?', 51, + '@', 48, + '[', 49, + ']', 50, + '^', 69, + '{', 73, + '|', 70, + '}', 74, + '~', 114, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(43); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(117); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -4785,79 +4772,79 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 42: if (eof) ADVANCE(45); - if (lookahead == '!') ADVANCE(68); - if (lookahead == '"') ADVANCE(123); - if (lookahead == '#') ADVANCE(10); - if (lookahead == '%') ADVANCE(82); - if (lookahead == '&') ADVANCE(71); - if (lookahead == '\'') ADVANCE(125); - if (lookahead == '(') ADVANCE(56); - if (lookahead == ')') ADVANCE(57); - if (lookahead == '*') ADVANCE(80); - if (lookahead == '+') ADVANCE(79); - if (lookahead == ',') ADVANCE(55); - if (lookahead == '-') ADVANCE(76); - if (lookahead == '.') ADVANCE(60); - if (lookahead == '/') ADVANCE(81); - if (lookahead == '0') ADVANCE(116); - if (lookahead == ':') ADVANCE(52); - if (lookahead == ';') ADVANCE(75); - if (lookahead == '<') ADVANCE(91); - if (lookahead == '=') ADVANCE(46); - if (lookahead == '>') ADVANCE(88); - if (lookahead == '?') ADVANCE(51); - if (lookahead == '@') ADVANCE(48); - if (lookahead == '[') ADVANCE(49); - if (lookahead == '\\') ADVANCE(54); - if (lookahead == ']') ADVANCE(50); - if (lookahead == '^') ADVANCE(69); - if (lookahead == '{') ADVANCE(73); - if (lookahead == '|') ADVANCE(70); - if (lookahead == '}') ADVANCE(74); - if (lookahead == '~') ADVANCE(114); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(42) + ADVANCE_MAP( + '!', 68, + '"', 123, + '#', 11, + '%', 82, + '&', 71, + '\'', 125, + '(', 56, + ')', 57, + '*', 80, + '+', 79, + ',', 55, + '-', 76, + '.', 60, + '/', 81, + '0', 116, + ':', 52, + ';', 75, + '<', 91, + '=', 46, + '>', 88, + '?', 51, + '@', 48, + '[', 49, + '\\', 54, + ']', 50, + '^', 69, + '{', 73, + '|', 70, + '}', 74, + '~', 114, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(42); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(117); if (('A' <= lookahead && lookahead <= '_') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); END_STATE(); case 43: if (eof) ADVANCE(45); - if (lookahead == '!') ADVANCE(68); - if (lookahead == '"') ADVANCE(123); - if (lookahead == '#') ADVANCE(10); - if (lookahead == '%') ADVANCE(82); - if (lookahead == '&') ADVANCE(71); - if (lookahead == '\'') ADVANCE(125); - if (lookahead == '(') ADVANCE(56); - if (lookahead == ')') ADVANCE(57); - if (lookahead == '*') ADVANCE(80); - if (lookahead == '+') ADVANCE(79); - if (lookahead == ',') ADVANCE(55); - if (lookahead == '-') ADVANCE(76); - if (lookahead == '.') ADVANCE(61); - if (lookahead == '/') ADVANCE(81); - if (lookahead == '0') ADVANCE(116); - if (lookahead == ':') ADVANCE(52); - if (lookahead == ';') ADVANCE(75); - if (lookahead == '<') ADVANCE(92); - if (lookahead == '=') ADVANCE(46); - if (lookahead == '>') ADVANCE(88); - if (lookahead == '?') ADVANCE(51); - if (lookahead == '@') ADVANCE(48); - if (lookahead == '[') ADVANCE(49); - if (lookahead == ']') ADVANCE(50); - if (lookahead == '^') ADVANCE(69); - if (lookahead == '{') ADVANCE(73); - if (lookahead == '|') ADVANCE(70); - if (lookahead == '}') ADVANCE(74); - if (lookahead == '~') ADVANCE(114); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(43) + ADVANCE_MAP( + '!', 68, + '"', 123, + '#', 11, + '%', 82, + '&', 71, + '\'', 125, + '(', 56, + ')', 57, + '*', 80, + '+', 79, + ',', 55, + '-', 76, + '.', 61, + '/', 81, + '0', 116, + ':', 52, + ';', 75, + '<', 92, + '=', 46, + '>', 88, + '?', 51, + '@', 48, + '[', 49, + ']', 50, + '^', 69, + '{', 73, + '|', 70, + '}', 74, + '~', 114, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(43); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(117); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || @@ -4865,35 +4852,35 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 44: if (eof) ADVANCE(45); - if (lookahead == '!') ADVANCE(67); - if (lookahead == '"') ADVANCE(123); - if (lookahead == '#') ADVANCE(10); - if (lookahead == '&') ADVANCE(71); - if (lookahead == '\'') ADVANCE(125); - if (lookahead == '(') ADVANCE(56); - if (lookahead == ')') ADVANCE(57); - if (lookahead == ',') ADVANCE(55); - if (lookahead == '-') ADVANCE(77); - if (lookahead == '.') ADVANCE(59); - if (lookahead == '/') ADVANCE(7); - if (lookahead == '0') ADVANCE(116); - if (lookahead == ':') ADVANCE(52); - if (lookahead == ';') ADVANCE(75); - if (lookahead == '<') ADVANCE(8); - if (lookahead == '=') ADVANCE(47); - if (lookahead == '?') ADVANCE(51); - if (lookahead == '@') ADVANCE(48); - if (lookahead == '[') ADVANCE(49); - if (lookahead == '\\') ADVANCE(54); - if (lookahead == ']') ADVANCE(50); - if (lookahead == '^') ADVANCE(69); - if (lookahead == '{') ADVANCE(73); - if (lookahead == '|') ADVANCE(70); - if (lookahead == '}') ADVANCE(74); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(44) + ADVANCE_MAP( + '!', 67, + '"', 123, + '#', 11, + '&', 71, + '\'', 125, + '(', 56, + ')', 57, + ',', 55, + '-', 77, + '.', 59, + '/', 8, + '0', 116, + ':', 52, + ';', 75, + '<', 9, + '=', 47, + '?', 51, + '@', 48, + '[', 49, + '\\', 54, + ']', 50, + '^', 69, + '{', 73, + '|', 70, + '}', 74, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(44); if (('1' <= lookahead && lookahead <= '9')) ADVANCE(117); if (('A' <= lookahead && lookahead <= '_') || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(139); @@ -4948,7 +4935,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 60: ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == '.') ADVANCE(6); + if (lookahead == '.') ADVANCE(7); if (lookahead == '>') ADVANCE(113); END_STATE(); case 61: @@ -5153,21 +5140,21 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 116: ACCEPT_TOKEN(sym_number); - if (lookahead == '.') ADVANCE(29); + if (lookahead == '.') ADVANCE(30); if (lookahead == 'B' || - lookahead == 'b') ADVANCE(28); + lookahead == 'b') ADVANCE(29); if (lookahead == 'E' || - lookahead == 'e') ADVANCE(27); + lookahead == 'e') ADVANCE(28); if (lookahead == 'X' || - lookahead == 'x') ADVANCE(31); + lookahead == 'x') ADVANCE(32); if (('0' <= lookahead && lookahead <= '9') || lookahead == '_') ADVANCE(117); END_STATE(); case 117: ACCEPT_TOKEN(sym_number); - if (lookahead == '.') ADVANCE(29); + if (lookahead == '.') ADVANCE(30); if (lookahead == 'E' || - lookahead == 'e') ADVANCE(27); + lookahead == 'e') ADVANCE(28); if (('0' <= lookahead && lookahead <= '9') || lookahead == '_') ADVANCE(117); END_STATE(); @@ -5187,7 +5174,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 120: ACCEPT_TOKEN(sym_float); if (lookahead == 'E' || - lookahead == 'e') ADVANCE(27); + lookahead == 'e') ADVANCE(28); if (('0' <= lookahead && lookahead <= '9') || lookahead == '_') ADVANCE(120); END_STATE(); @@ -5200,7 +5187,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 123: ACCEPT_TOKEN(anon_sym_DQUOTE); - if (lookahead == '"') ADVANCE(1); + if (lookahead == '"') ADVANCE(2); END_STATE(); case 124: ACCEPT_TOKEN(anon_sym_DQUOTE_DQUOTE_DQUOTE); @@ -5218,9 +5205,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 127: ACCEPT_TOKEN(sym_character_content); if (lookahead == '/') ADVANCE(128); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || + if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(127); if (lookahead != 0 && lookahead != '\'' && @@ -5249,9 +5234,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 131: ACCEPT_TOKEN(sym_string_content); if (lookahead == '/') ADVANCE(132); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || + if (('\t' <= lookahead && lookahead <= '\r') || lookahead == ' ') ADVANCE(131); if (lookahead != 0 && lookahead != '"' && @@ -5281,7 +5264,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { ACCEPT_TOKEN(aux_sym__escape_sequence_token1); if (('0' <= lookahead && lookahead <= '9') || ('A' <= lookahead && lookahead <= 'F') || - ('a' <= lookahead && lookahead <= 'f')) ADVANCE(39); + ('a' <= lookahead && lookahead <= 'f')) ADVANCE(40); END_STATE(); case 137: ACCEPT_TOKEN(sym_escape_sequence); @@ -5300,15 +5283,14 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 140: ACCEPT_TOKEN(sym_line_comment); - if (lookahead == '\\') ADVANCE(40); + if (lookahead == '\\') ADVANCE(1); if (lookahead != 0 && lookahead != '\n') ADVANCE(140); END_STATE(); case 141: ACCEPT_TOKEN(sym_line_comment); - if (lookahead != 0 && - lookahead != '\\') ADVANCE(140); - if (lookahead == '\\') ADVANCE(40); + if (lookahead == '\\') ADVANCE(1); + if (lookahead != 0) ADVANCE(140); END_STATE(); default: return false; @@ -5320,30 +5302,30 @@ static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (lookahead == '_') ADVANCE(1); - if (lookahead == 'a') ADVANCE(2); - if (lookahead == 'b') ADVANCE(3); - if (lookahead == 'c') ADVANCE(4); - if (lookahead == 'd') ADVANCE(5); - if (lookahead == 'e') ADVANCE(6); - if (lookahead == 'f') ADVANCE(7); - if (lookahead == 'i') ADVANCE(8); - if (lookahead == 'l') ADVANCE(9); - if (lookahead == 'm') ADVANCE(10); - if (lookahead == 'n') ADVANCE(11); - if (lookahead == 'o') ADVANCE(12); - if (lookahead == 'p') ADVANCE(13); - if (lookahead == 'r') ADVANCE(14); - if (lookahead == 's') ADVANCE(15); - if (lookahead == 't') ADVANCE(16); - if (lookahead == 'u') ADVANCE(17); - if (lookahead == 'v') ADVANCE(18); - if (lookahead == 'w') ADVANCE(19); - if (lookahead == 'x') ADVANCE(20); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(0) + ADVANCE_MAP( + '_', 1, + 'a', 2, + 'b', 3, + 'c', 4, + 'd', 5, + 'e', 6, + 'f', 7, + 'i', 8, + 'l', 9, + 'm', 10, + 'n', 11, + 'o', 12, + 'p', 13, + 'r', 14, + 's', 15, + 't', 16, + 'u', 17, + 'v', 18, + 'w', 19, + 'x', 20, + ); + if (('\t' <= lookahead && lookahead <= '\r') || + lookahead == ' ') SKIP(0); END_STATE(); case 1: if (lookahead == '_') ADVANCE(21); @@ -7792,53 +7774,53 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [1754] = {.lex_state = 0, .external_lex_state = 2}, [1755] = {.lex_state = 0, .external_lex_state = 2}, [1756] = {.lex_state = 0, .external_lex_state = 2}, - [1757] = {.lex_state = 2, .external_lex_state = 2}, - [1758] = {.lex_state = 3, .external_lex_state = 2}, + [1757] = {.lex_state = 3, .external_lex_state = 2}, + [1758] = {.lex_state = 4, .external_lex_state = 2}, [1759] = {.lex_state = 0, .external_lex_state = 2}, - [1760] = {.lex_state = 2, .external_lex_state = 2}, - [1761] = {.lex_state = 2, .external_lex_state = 2}, + [1760] = {.lex_state = 3, .external_lex_state = 2}, + [1761] = {.lex_state = 3, .external_lex_state = 2}, [1762] = {.lex_state = 0, .external_lex_state = 2}, - [1763] = {.lex_state = 2, .external_lex_state = 2}, + [1763] = {.lex_state = 3, .external_lex_state = 2}, [1764] = {.lex_state = 0, .external_lex_state = 2}, [1765] = {.lex_state = 0, .external_lex_state = 2}, [1766] = {.lex_state = 0, .external_lex_state = 2}, [1767] = {.lex_state = 0, .external_lex_state = 2}, [1768] = {.lex_state = 0, .external_lex_state = 2}, - [1769] = {.lex_state = 3, .external_lex_state = 2}, - [1770] = {.lex_state = 2, .external_lex_state = 2}, - [1771] = {.lex_state = 2, .external_lex_state = 2}, - [1772] = {.lex_state = 2, .external_lex_state = 2}, - [1773] = {.lex_state = 2, .external_lex_state = 2}, - [1774] = {.lex_state = 2, .external_lex_state = 2}, - [1775] = {.lex_state = 2, .external_lex_state = 2}, + [1769] = {.lex_state = 4, .external_lex_state = 2}, + [1770] = {.lex_state = 3, .external_lex_state = 2}, + [1771] = {.lex_state = 3, .external_lex_state = 2}, + [1772] = {.lex_state = 3, .external_lex_state = 2}, + [1773] = {.lex_state = 3, .external_lex_state = 2}, + [1774] = {.lex_state = 3, .external_lex_state = 2}, + [1775] = {.lex_state = 3, .external_lex_state = 2}, [1776] = {.lex_state = 0, .external_lex_state = 2}, - [1777] = {.lex_state = 2, .external_lex_state = 2}, - [1778] = {.lex_state = 3, .external_lex_state = 2}, + [1777] = {.lex_state = 3, .external_lex_state = 2}, + [1778] = {.lex_state = 4, .external_lex_state = 2}, [1779] = {.lex_state = 0, .external_lex_state = 2}, [1780] = {.lex_state = 0, .external_lex_state = 2}, [1781] = {.lex_state = 0, .external_lex_state = 2}, - [1782] = {.lex_state = 2, .external_lex_state = 2}, - [1783] = {.lex_state = 2, .external_lex_state = 2}, - [1784] = {.lex_state = 2, .external_lex_state = 2}, + [1782] = {.lex_state = 3, .external_lex_state = 2}, + [1783] = {.lex_state = 3, .external_lex_state = 2}, + [1784] = {.lex_state = 3, .external_lex_state = 2}, [1785] = {.lex_state = 0, .external_lex_state = 2}, - [1786] = {.lex_state = 2, .external_lex_state = 2}, - [1787] = {.lex_state = 2, .external_lex_state = 2}, + [1786] = {.lex_state = 3, .external_lex_state = 2}, + [1787] = {.lex_state = 3, .external_lex_state = 2}, [1788] = {.lex_state = 0, .external_lex_state = 2}, [1789] = {.lex_state = 0, .external_lex_state = 2}, [1790] = {.lex_state = 0, .external_lex_state = 2}, [1791] = {.lex_state = 0, .external_lex_state = 2}, [1792] = {.lex_state = 0, .external_lex_state = 2}, [1793] = {.lex_state = 0, .external_lex_state = 2}, - [1794] = {.lex_state = 3, .external_lex_state = 2}, + [1794] = {.lex_state = 4, .external_lex_state = 2}, [1795] = {.lex_state = 0, .external_lex_state = 2}, [1796] = {.lex_state = 0, .external_lex_state = 2}, [1797] = {.lex_state = 0, .external_lex_state = 2}, [1798] = {.lex_state = 0, .external_lex_state = 2}, [1799] = {.lex_state = 0, .external_lex_state = 2}, - [1800] = {.lex_state = 3, .external_lex_state = 2}, + [1800] = {.lex_state = 4, .external_lex_state = 2}, [1801] = {.lex_state = 0, .external_lex_state = 2}, [1802] = {.lex_state = 0, .external_lex_state = 2}, - [1803] = {.lex_state = 2, .external_lex_state = 2}, + [1803] = {.lex_state = 3, .external_lex_state = 2}, [1804] = {.lex_state = 0, .external_lex_state = 2}, [1805] = {.lex_state = 44, .external_lex_state = 2}, [1806] = {.lex_state = 44, .external_lex_state = 2}, @@ -7852,7 +7834,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [1814] = {.lex_state = 44, .external_lex_state = 2}, [1815] = {.lex_state = 44, .external_lex_state = 2}, [1816] = {.lex_state = 0, .external_lex_state = 2}, - [1817] = {.lex_state = 3, .external_lex_state = 2}, + [1817] = {.lex_state = 4, .external_lex_state = 2}, [1818] = {.lex_state = 0, .external_lex_state = 2}, [1819] = {.lex_state = 44, .external_lex_state = 2}, [1820] = {.lex_state = 44, .external_lex_state = 2}, @@ -7870,13 +7852,13 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [1832] = {.lex_state = 44, .external_lex_state = 2}, [1833] = {.lex_state = 0, .external_lex_state = 2}, [1834] = {.lex_state = 44, .external_lex_state = 2}, - [1835] = {.lex_state = 3, .external_lex_state = 2}, + [1835] = {.lex_state = 4, .external_lex_state = 2}, [1836] = {.lex_state = 44, .external_lex_state = 2}, [1837] = {.lex_state = 44, .external_lex_state = 2}, [1838] = {.lex_state = 44, .external_lex_state = 2}, [1839] = {.lex_state = 0, .external_lex_state = 2}, [1840] = {.lex_state = 44, .external_lex_state = 2}, - [1841] = {.lex_state = 3, .external_lex_state = 2}, + [1841] = {.lex_state = 4, .external_lex_state = 2}, [1842] = {.lex_state = 0, .external_lex_state = 2}, [1843] = {.lex_state = 44, .external_lex_state = 2}, [1844] = {.lex_state = 44, .external_lex_state = 2}, @@ -7887,7 +7869,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [1849] = {.lex_state = 44, .external_lex_state = 2}, [1850] = {.lex_state = 0, .external_lex_state = 2}, [1851] = {.lex_state = 0, .external_lex_state = 2}, - [1852] = {.lex_state = 3, .external_lex_state = 2}, + [1852] = {.lex_state = 4, .external_lex_state = 2}, [1853] = {.lex_state = 0, .external_lex_state = 2}, [1854] = {.lex_state = 44, .external_lex_state = 2}, [1855] = {.lex_state = 44, .external_lex_state = 2}, @@ -7902,7 +7884,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [1864] = {.lex_state = 0, .external_lex_state = 2}, [1865] = {.lex_state = 44, .external_lex_state = 2}, [1866] = {.lex_state = 44, .external_lex_state = 2}, - [1867] = {.lex_state = 4, .external_lex_state = 2}, + [1867] = {.lex_state = 5, .external_lex_state = 2}, [1868] = {.lex_state = 0, .external_lex_state = 2}, [1869] = {.lex_state = 44, .external_lex_state = 2}, [1870] = {.lex_state = 44, .external_lex_state = 2}, @@ -8035,7 +8017,7 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [1997] = {.lex_state = 0, .external_lex_state = 4}, [1998] = {.lex_state = 0, .external_lex_state = 2}, [1999] = {.lex_state = 0, .external_lex_state = 2}, - [2000] = {.lex_state = 4, .external_lex_state = 2}, + [2000] = {.lex_state = 5, .external_lex_state = 2}, [2001] = {.lex_state = 0, .external_lex_state = 2}, [2002] = {.lex_state = 0, .external_lex_state = 2}, [2003] = {.lex_state = 0, .external_lex_state = 2}, @@ -8554,37 +8536,6 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [2516] = {.lex_state = 44, .external_lex_state = 2}, }; -enum { - ts_external_token__type_args_start = 0, - ts_external_token_block_comment = 1, - ts_external_token__multiline_string_content = 2, -}; - -static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { - [ts_external_token__type_args_start] = sym__type_args_start, - [ts_external_token_block_comment] = sym_block_comment, - [ts_external_token__multiline_string_content] = sym__multiline_string_content, -}; - -static const bool ts_external_scanner_states[5][EXTERNAL_TOKEN_COUNT] = { - [1] = { - [ts_external_token__type_args_start] = true, - [ts_external_token_block_comment] = true, - [ts_external_token__multiline_string_content] = true, - }, - [2] = { - [ts_external_token_block_comment] = true, - }, - [3] = { - [ts_external_token__type_args_start] = true, - [ts_external_token_block_comment] = true, - }, - [4] = { - [ts_external_token_block_comment] = true, - [ts_external_token__multiline_string_content] = true, - }, -}; - static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [0] = { [ts_builtin_sym_end] = ACTIONS(1), @@ -136163,7 +136114,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), - [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0), + [5] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 0, 0, 0), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1709), [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2485), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1938), @@ -136174,9 +136125,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1569), [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1774), [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1997), - [27] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 1), + [27] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 1, 0, 0), [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(686), - [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 1), + [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 1, 0, 0), [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(842), [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(841), [37] = {.entry = {.count = 1, .reusable = false}}, SHIFT(838), @@ -136186,48 +136137,48 @@ static const TSParseActionEntry ts_parse_actions[] = { [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(609), [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(837), [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(836), - [51] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 1), - [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 1), - [55] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 1), - [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 1), - [59] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 1), - [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1), - [63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(324), - [66] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), - [68] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1751), - [71] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(607), - [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), - [76] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(2218), - [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(831), - [82] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1727), - [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(839), - [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(390), - [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(321), - [94] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(850), - [97] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(850), - [100] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(606), - [103] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(606), - [106] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1248), - [109] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1982), - [112] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(614), - [115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(621), - [118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1880), - [121] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(598), - [124] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(478), - [127] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(605), - [130] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(5), - [133] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(4), - [136] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(3), - [139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1738), - [142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1382), - [145] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(400), - [148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(400), - [151] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1787), - [154] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1935), - [157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1817), - [160] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(396), - [163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), - [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), + [51] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 1, 0, 0), + [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 1, 0, 0), + [55] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 1, 0, 0), + [57] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 1, 0, 0), + [59] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 1, 0, 0), + [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 1, 0, 0), + [63] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(324), + [66] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), + [68] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1751), + [71] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(607), + [74] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), + [76] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(2218), + [79] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(831), + [82] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1727), + [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(839), + [88] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(390), + [91] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(321), + [94] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(850), + [97] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(850), + [100] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(606), + [103] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(606), + [106] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1248), + [109] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1982), + [112] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(614), + [115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(621), + [118] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1880), + [121] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(598), + [124] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(478), + [127] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(605), + [130] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(5), + [133] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(4), + [136] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(3), + [139] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1738), + [142] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1382), + [145] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(400), + [148] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(400), + [151] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1787), + [154] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1935), + [157] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1817), + [160] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(396), + [163] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2, 0, 0), + [165] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2, 0, 0), [167] = {.entry = {.count = 1, .reusable = false}}, SHIFT(186), [169] = {.entry = {.count = 1, .reusable = false}}, SHIFT(729), [171] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1754), @@ -136266,36 +136217,36 @@ static const TSParseActionEntry ts_parse_actions[] = { [237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), [239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1835), [241] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), - [243] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(186), - [246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1754), - [249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(594), - [252] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(2230), - [255] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(855), - [258] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1750), - [261] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(843), - [264] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(270), - [267] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(377), - [270] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(856), - [273] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(856), - [276] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1296), - [279] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(2114), - [282] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(617), - [285] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(616), - [288] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1900), - [291] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(615), - [294] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(479), - [297] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(613), - [300] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(13), - [303] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(11), - [306] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(12), - [309] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1748), - [312] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1385), - [315] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(274), - [318] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(274), - [321] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1770), - [324] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(2087), - [327] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1835), - [330] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(275), + [243] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(186), + [246] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1754), + [249] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(594), + [252] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(2230), + [255] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(855), + [258] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1750), + [261] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(843), + [264] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(270), + [267] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(377), + [270] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(856), + [273] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(856), + [276] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1296), + [279] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(2114), + [282] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(617), + [285] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(616), + [288] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1900), + [291] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(615), + [294] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(479), + [297] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(613), + [300] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(13), + [303] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(11), + [306] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(12), + [309] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1748), + [312] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1385), + [315] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(274), + [318] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(274), + [321] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1770), + [324] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(2087), + [327] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1835), + [330] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(275), [333] = {.entry = {.count = 1, .reusable = false}}, SHIFT(324), [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1751), [337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(607), @@ -136381,77 +136332,77 @@ static const TSParseActionEntry ts_parse_actions[] = { [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [503] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(781), - [506] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(775), - [509] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(775), - [512] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(38), - [515] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(33), - [518] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(32), - [521] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(472), - [524] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1752), - [527] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(618), - [530] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(2513), - [533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(810), - [536] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1721), - [539] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(785), - [542] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(560), - [545] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(470), - [548] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(797), - [551] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(797), - [554] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1241), - [557] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1961), - [560] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(619), - [563] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(620), - [566] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1887), - [569] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(593), - [572] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(500), - [575] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(602), - [578] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(41), - [581] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(45), - [584] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(44), - [587] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1749), - [590] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1403), - [593] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(561), - [596] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(561), - [599] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1772), - [602] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(2062), - [605] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(1841), - [608] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(562), - [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 2, .production_id = 4), - [613] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 2, .production_id = 4), + [503] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(781), + [506] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(775), + [509] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(775), + [512] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(38), + [515] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(33), + [518] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(32), + [521] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(472), + [524] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1752), + [527] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(618), + [530] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(2513), + [533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(810), + [536] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1721), + [539] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(785), + [542] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(560), + [545] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(470), + [548] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(797), + [551] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(797), + [554] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1241), + [557] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1961), + [560] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(619), + [563] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(620), + [566] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1887), + [569] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(593), + [572] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(500), + [575] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(602), + [578] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(41), + [581] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(45), + [584] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(44), + [587] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1749), + [590] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1403), + [593] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(561), + [596] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(561), + [599] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1772), + [602] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(2062), + [605] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(1841), + [608] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(562), + [611] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 2, 0, 4), + [613] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 2, 0, 4), [615] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2209), [617] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1232), - [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 1, .production_id = 1), - [621] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 1, .production_id = 1), - [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_base_type_repeat1, 2), - [625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_base_type_repeat1, 2), - [627] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_base_type_repeat1, 2), SHIFT_REPEAT(2209), - [630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 6, .production_id = 16), - [632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 6, .production_id = 16), - [634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 6, .production_id = 19), - [636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 6, .production_id = 19), - [638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_args, 4), - [640] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_args, 4), - [642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 3, .production_id = 4), - [644] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 3, .production_id = 4), - [646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 9, .production_id = 20), - [648] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 9, .production_id = 20), - [650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 3), - [652] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 3), - [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 9, .production_id = 24), - [656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 9, .production_id = 24), - [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 4, .production_id = 11), - [660] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 4, .production_id = 11), - [662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 5), - [664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 5), - [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_args, 3), - [668] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_args, 3), - [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 5, .production_id = 16), - [672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 5, .production_id = 16), - [674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 5, .production_id = 11), - [676] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 5, .production_id = 11), - [678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), - [680] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), + [619] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 1, 0, 1), + [621] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 1, 0, 1), + [623] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_base_type_repeat1, 2, 0, 0), + [625] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_base_type_repeat1, 2, 0, 0), + [627] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_base_type_repeat1, 2, 0, 0), SHIFT_REPEAT(2209), + [630] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 6, 0, 16), + [632] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 6, 0, 16), + [634] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 6, 0, 19), + [636] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 6, 0, 19), + [638] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_args, 4, 0, 0), + [640] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_args, 4, 0, 0), + [642] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 3, 0, 4), + [644] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 3, 0, 4), + [646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 9, 0, 20), + [648] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 9, 0, 20), + [650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 3, 0, 0), + [652] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 3, 0, 0), + [654] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 9, 0, 24), + [656] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 9, 0, 24), + [658] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 4, 0, 11), + [660] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 4, 0, 11), + [662] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 5, 0, 0), + [664] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 5, 0, 0), + [666] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_args, 3, 0, 0), + [668] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_args, 3, 0, 0), + [670] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 5, 0, 16), + [672] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 5, 0, 16), + [674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 5, 0, 11), + [676] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 5, 0, 11), + [678] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1, 0, 0), + [680] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1, 0, 0), [682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), [684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), [686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), @@ -136463,51 +136414,51 @@ static const TSParseActionEntry ts_parse_actions[] = { [698] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), [700] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), [702] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 9, .production_id = 26), - [706] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 9, .production_id = 26), - [708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 6), - [710] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 6), - [712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 6, .production_id = 18), - [714] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 6, .production_id = 18), - [716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 6, .production_id = 12), - [718] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 6, .production_id = 12), - [720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 6, .production_id = 5), - [722] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 6, .production_id = 5), - [724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 2, .production_id = 1), - [726] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 2, .production_id = 1), - [728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 4), - [730] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 4), - [732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 5, .production_id = 5), - [734] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 5, .production_id = 5), - [736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, .production_id = 17), - [738] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, .production_id = 17), - [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, .production_id = 18), - [742] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, .production_id = 18), - [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7), - [746] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7), - [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, .production_id = 21), - [750] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, .production_id = 21), - [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, .production_id = 12), - [754] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, .production_id = 12), - [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, .production_id = 22), - [758] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, .production_id = 22), - [760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, .production_id = 19), - [762] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, .production_id = 19), - [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 10, .production_id = 26), - [766] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 10, .production_id = 26), - [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 8, .production_id = 17), - [770] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 8, .production_id = 17), - [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 8, .production_id = 24), - [774] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 8, .production_id = 24), - [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 8, .production_id = 20), - [778] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 8, .production_id = 20), - [780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 8, .production_id = 21), - [782] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 8, .production_id = 21), - [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 8, .production_id = 22), - [786] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 8, .production_id = 22), + [704] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 9, 0, 26), + [706] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 9, 0, 26), + [708] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 6, 0, 0), + [710] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 6, 0, 0), + [712] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 6, 0, 18), + [714] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 6, 0, 18), + [716] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 6, 0, 12), + [718] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 6, 0, 12), + [720] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 6, 0, 5), + [722] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 6, 0, 5), + [724] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_base_type, 2, 0, 1), + [726] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_base_type, 2, 0, 1), + [728] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 4, 0, 0), + [730] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 4, 0, 0), + [732] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 5, 0, 5), + [734] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 5, 0, 5), + [736] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, 0, 17), + [738] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, 0, 17), + [740] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, 0, 18), + [742] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, 0, 18), + [744] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, 0, 0), + [746] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, 0, 0), + [748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, 0, 21), + [750] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, 0, 21), + [752] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, 0, 12), + [754] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, 0, 12), + [756] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, 0, 22), + [758] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, 0, 22), + [760] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 7, 0, 19), + [762] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 7, 0, 19), + [764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 10, 0, 26), + [766] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 10, 0, 26), + [768] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 8, 0, 17), + [770] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 8, 0, 17), + [772] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 8, 0, 24), + [774] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 8, 0, 24), + [776] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 8, 0, 20), + [778] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 8, 0, 20), + [780] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 8, 0, 21), + [782] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 8, 0, 21), + [784] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_type, 8, 0, 22), + [786] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_type, 8, 0, 22), [788] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2207), [790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1330), - [792] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_base_type_repeat1, 2), SHIFT_REPEAT(2207), + [792] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_base_type_repeat1, 2, 0, 0), SHIFT_REPEAT(2207), [795] = {.entry = {.count = 1, .reusable = true}}, SHIFT(211), [797] = {.entry = {.count = 1, .reusable = true}}, SHIFT(208), [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), @@ -136519,80 +136470,80 @@ static const TSParseActionEntry ts_parse_actions[] = { [811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(194), [813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(192), [815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(191), - [817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_viewpoint_type, 3), - [819] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_viewpoint_type, 3), + [817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_viewpoint_type, 3, 0, 0), + [819] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_viewpoint_type, 3, 0, 0), [821] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1269), [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1271), [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1273), - [831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 14), - [833] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 14), + [831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 14, 0, 0), + [833] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 14, 0, 0), [835] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), - [837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 13), - [839] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 13), - [841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 12), - [843] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 12), - [845] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 11), - [847] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 11), - [849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 10), - [851] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 10), - [853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 7), - [855] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 7), - [857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4), - [859] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 4), - [861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 6), - [863] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 6), - [865] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 9), - [867] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 9), - [869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2), - [871] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_union_type_repeat1, 2), - [873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 8), - [875] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 8), - [877] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 3), - [879] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 3), - [881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_intersection_type_repeat1, 2), - [883] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_intersection_type_repeat1, 2), - [885] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 2), - [887] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_type, 2), - [889] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_intersection_type_repeat1, 2), SHIFT_REPEAT(1271), - [892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intersection_type, 2), - [894] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intersection_type, 2), - [896] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2), SHIFT_REPEAT(1269), - [899] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_iso_type, 2), - [901] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_iso_type, 2), - [903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_box_type, 2), - [905] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_box_type, 2), - [907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_val_type, 2), - [909] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_val_type, 2), - [911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_type, 2), - [913] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_type, 2), - [915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_type, 2), - [917] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_type, 2), - [919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trn_type, 2), - [921] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_trn_type, 2), - [923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3), - [925] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3), - [927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_read_type, 2), - [929] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_read_type, 2), - [931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intersection_type, 4), - [933] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intersection_type, 4), - [935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_any_type, 2), - [937] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_any_type, 2), - [939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 4), - [941] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_type, 4), - [943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_send_type, 2), - [945] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_send_type, 2), - [947] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4), - [949] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4), - [951] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_share_type, 2), - [953] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_share_type, 2), - [955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ephemeral_type, 2), - [957] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ephemeral_type, 2), - [959] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aliased_type, 2), - [961] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aliased_type, 2), - [963] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 2), - [965] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 2), + [837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 13, 0, 0), + [839] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 13, 0, 0), + [841] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 12, 0, 0), + [843] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 12, 0, 0), + [845] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 11, 0, 0), + [847] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 11, 0, 0), + [849] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 10, 0, 0), + [851] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 10, 0, 0), + [853] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 7, 0, 0), + [855] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 7, 0, 0), + [857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 4, 0, 0), + [859] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 4, 0, 0), + [861] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 6, 0, 0), + [863] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 6, 0, 0), + [865] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 9, 0, 0), + [867] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 9, 0, 0), + [869] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2, 0, 0), + [871] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_union_type_repeat1, 2, 0, 0), + [873] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 8, 0, 0), + [875] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 8, 0, 0), + [877] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_cast_expression, 3, 0, 0), + [879] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_cast_expression, 3, 0, 0), + [881] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_intersection_type_repeat1, 2, 0, 0), + [883] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_intersection_type_repeat1, 2, 0, 0), + [885] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 2, 0, 0), + [887] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_type, 2, 0, 0), + [889] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_intersection_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1271), + [892] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intersection_type, 2, 0, 0), + [894] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intersection_type, 2, 0, 0), + [896] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1269), + [899] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_iso_type, 2, 0, 0), + [901] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_iso_type, 2, 0, 0), + [903] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_box_type, 2, 0, 0), + [905] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_box_type, 2, 0, 0), + [907] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_val_type, 2, 0, 0), + [909] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_val_type, 2, 0, 0), + [911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tag_type, 2, 0, 0), + [913] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tag_type, 2, 0, 0), + [915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ref_type, 2, 0, 0), + [917] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ref_type, 2, 0, 0), + [919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trn_type, 2, 0, 0), + [921] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_trn_type, 2, 0, 0), + [923] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 3, 0, 0), + [925] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 3, 0, 0), + [927] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_read_type, 2, 0, 0), + [929] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_read_type, 2, 0, 0), + [931] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_intersection_type, 4, 0, 0), + [933] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_intersection_type, 4, 0, 0), + [935] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_any_type, 2, 0, 0), + [937] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_any_type, 2, 0, 0), + [939] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_union_type, 4, 0, 0), + [941] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_union_type, 4, 0, 0), + [943] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_send_type, 2, 0, 0), + [945] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_send_type, 2, 0, 0), + [947] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_type, 4, 0, 0), + [949] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_type, 4, 0, 0), + [951] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_share_type, 2, 0, 0), + [953] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_share_type, 2, 0, 0), + [955] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ephemeral_type, 2, 0, 0), + [957] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ephemeral_type, 2, 0, 0), + [959] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_aliased_type, 2, 0, 0), + [961] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_aliased_type, 2, 0, 0), + [963] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_alias_type, 2, 0, 0), + [965] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_alias_type, 2, 0, 0), [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(371), [969] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218), [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), @@ -136601,88 +136552,88 @@ static const TSParseActionEntry ts_parse_actions[] = { [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1237), [979] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2477), [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1340), - [983] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2), SHIFT_REPEAT(1239), - [986] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_intersection_type_repeat1, 2), SHIFT_REPEAT(1238), - [989] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_base_type_repeat1, 2), SHIFT_REPEAT(2477), - [992] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [994] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), + [983] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1239), + [986] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_intersection_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1238), + [989] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_base_type_repeat1, 2, 0, 0), SHIFT_REPEAT(2477), + [992] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1, 0, 0), + [994] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1, 0, 0), [996] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1234), - [998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_partial_application, 3), - [1000] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_partial_application, 3), - [1002] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 5, .production_id = 14), - [1004] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 5, .production_id = 14), - [1006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ffi_identifier, 2), - [1008] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ffi_identifier, 2), - [1010] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2), - [1012] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2), + [998] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_partial_application, 3, 0, 0), + [1000] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_partial_application, 3, 0, 0), + [1002] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 5, 0, 14), + [1004] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 5, 0, 14), + [1006] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ffi_identifier, 2, 0, 0), + [1008] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ffi_identifier, 2, 0, 0), + [1010] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_declaration, 2, 0, 0), + [1012] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_declaration, 2, 0, 0), [1014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1362), - [1016] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 3), - [1018] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string_literal, 3), - [1020] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__multiline_string_literal, 2), - [1022] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__multiline_string_literal, 2), - [1024] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 2), - [1026] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string_literal, 2), - [1028] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__multiline_string_literal, 3), - [1030] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__multiline_string_literal, 3), - [1032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2), - [1034] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2), - [1036] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_expression, 3), - [1038] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_expression, 3), - [1040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1), - [1042] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 1), - [1044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4, .production_id = 14), - [1046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4, .production_id = 14), - [1048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4, .production_id = 10), - [1050] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4, .production_id = 10), - [1052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 3), - [1054] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 3), - [1056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 3, .production_id = 10), - [1058] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 3, .production_id = 10), - [1060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, .production_id = 3), - [1062] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, .production_id = 3), + [1016] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 3, 0, 0), + [1018] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string_literal, 3, 0, 0), + [1020] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__multiline_string_literal, 2, 0, 0), + [1022] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__multiline_string_literal, 2, 0, 0), + [1024] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__string_literal, 2, 0, 0), + [1026] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__string_literal, 2, 0, 0), + [1028] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__multiline_string_literal, 3, 0, 0), + [1030] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__multiline_string_literal, 3, 0, 0), + [1032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 2, 0, 0), + [1034] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 2, 0, 0), + [1036] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_member_expression, 3, 0, 0), + [1038] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_member_expression, 3, 0, 0), + [1040] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string, 1, 0, 0), + [1042] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string, 1, 0, 0), + [1044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4, 0, 14), + [1046] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4, 0, 14), + [1048] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 4, 0, 10), + [1050] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 4, 0, 10), + [1052] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 3, 0, 0), + [1054] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 3, 0, 0), + [1056] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_arguments, 3, 0, 10), + [1058] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_arguments, 3, 0, 10), + [1060] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 2, 0, 3), + [1062] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 2, 0, 3), [1064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), - [1066] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 6), - [1068] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 6), - [1070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2), - [1072] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2), - [1074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2), - [1076] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2), - [1078] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2), - [1080] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2), - [1082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_consume_statement, 2), - [1084] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_consume_statement, 2), - [1086] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_literal, 2), - [1088] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_literal, 2), - [1090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 5), - [1092] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 5), - [1094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_expression, 2), - [1096] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_expression, 2), - [1098] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 5), - [1100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 5), - [1102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_iftype_statement, 7), - [1104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_iftype_statement, 7), - [1106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_block, 3), - [1108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_block, 3), - [1110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 3), - [1112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 3), - [1114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 3), - [1116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 3), - [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, .production_id = 13), - [1120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, .production_id = 13), - [1122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 5), - [1124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 5), - [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recover_statement, 5), - [1128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recover_statement, 5), - [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 5), - [1132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 5), - [1134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 5), - [1136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 5), - [1138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 5), - [1140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 5), - [1142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3), - [1144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3), - [1146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_literal, 5), - [1148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_literal, 5), + [1066] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 6, 0, 0), + [1068] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 6, 0, 0), + [1070] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return_statement, 2, 0, 0), + [1072] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return_statement, 2, 0, 0), + [1074] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_continue_statement, 2, 0, 0), + [1076] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_continue_statement, 2, 0, 0), + [1078] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_break_statement, 2, 0, 0), + [1080] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_break_statement, 2, 0, 0), + [1082] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_consume_statement, 2, 0, 0), + [1084] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_consume_statement, 2, 0, 0), + [1086] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_literal, 2, 0, 0), + [1088] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_literal, 2, 0, 0), + [1090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 5, 0, 0), + [1092] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 5, 0, 0), + [1094] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_expression, 2, 0, 0), + [1096] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_expression, 2, 0, 0), + [1098] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 5, 0, 0), + [1100] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 5, 0, 0), + [1102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_iftype_statement, 7, 0, 0), + [1104] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_iftype_statement, 7, 0, 0), + [1106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_block, 3, 0, 0), + [1108] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_block, 3, 0, 0), + [1110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 3, 0, 0), + [1112] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 3, 0, 0), + [1114] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 3, 0, 0), + [1116] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 3, 0, 0), + [1118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_statement, 5, 0, 13), + [1120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_statement, 5, 0, 13), + [1122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 5, 0, 0), + [1124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 5, 0, 0), + [1126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recover_statement, 5, 0, 0), + [1128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recover_statement, 5, 0, 0), + [1130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 5, 0, 0), + [1132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 5, 0, 0), + [1134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 5, 0, 0), + [1136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 5, 0, 0), + [1138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 5, 0, 0), + [1140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 5, 0, 0), + [1142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [1144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parenthesized_expression, 3, 0, 0), + [1146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_literal, 5, 0, 0), + [1148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_literal, 5, 0, 0), [1150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(460), [1152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(465), [1154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), @@ -136694,114 +136645,114 @@ static const TSParseActionEntry ts_parse_actions[] = { [1166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(453), [1168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(452), [1170] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), - [1172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5), - [1174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5), - [1176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_iftype_statement, 8), - [1178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_iftype_statement, 8), - [1180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4), - [1182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4), - [1184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3), - [1186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3), - [1188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3), - [1190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3), - [1192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_literal, 4), - [1194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_literal, 4), - [1196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 4), - [1198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 4), - [1200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recover_statement, 4), - [1202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recover_statement, 4), - [1204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 4), - [1206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 4), - [1208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recover_statement, 3), - [1210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recover_statement, 3), - [1212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 4), - [1214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 4), - [1216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4), - [1218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4), - [1220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1), - [1222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1), - [1224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), - [1226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), - [1228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 15), - [1230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 15), - [1232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 6), - [1234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 6), - [1236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 6), - [1238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 6), - [1240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_consume_statement, 3), - [1242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_consume_statement, 3), - [1244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_iftype_statement, 6), - [1246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_iftype_statement, 6), - [1248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_literal, 3), - [1250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_literal, 3), - [1252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_block, 4), - [1254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_block, 4), - [1256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 6), - [1258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 6), - [1260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 6), - [1262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 6), - [1264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 8), - [1266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 8), - [1268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 7), - [1270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 7), - [1272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2), - [1274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2), - [1276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compile_error, 2), - [1278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compile_error, 2), - [1280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 3), - [1282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character, 3), - [1284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3), - [1286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3), - [1288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capability, 1), - [1290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_capability, 1), - [1292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 3, .production_id = 3), - [1294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 3, .production_id = 3), - [1296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compile_error, 1), - [1298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compile_error, 1), - [1300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3), - [1302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3), - [1304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_literal, 6), - [1306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_literal, 6), + [1172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 5, 0, 0), + [1174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 5, 0, 0), + [1176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_iftype_statement, 8, 0, 0), + [1178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_iftype_statement, 8, 0, 0), + [1180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 4, 0, 0), + [1182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 4, 0, 0), + [1184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 3, 0, 0), + [1186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 3, 0, 0), + [1188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 3, 0, 0), + [1190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 3, 0, 0), + [1192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_literal, 4, 0, 0), + [1194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_literal, 4, 0, 0), + [1196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 4, 0, 0), + [1198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 4, 0, 0), + [1200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recover_statement, 4, 0, 0), + [1202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recover_statement, 4, 0, 0), + [1204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_statement, 4, 0, 0), + [1206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_with_statement, 4, 0, 0), + [1208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_recover_statement, 3, 0, 0), + [1210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_recover_statement, 3, 0, 0), + [1212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_try_statement, 4, 0, 0), + [1214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_try_statement, 4, 0, 0), + [1216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while_statement, 4, 0, 0), + [1218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while_statement, 4, 0, 0), + [1220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal, 1, 0, 0), + [1222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal, 1, 0, 0), + [1224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1, 0, 0), + [1226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1, 0, 0), + [1228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_expression, 15, 0, 0), + [1230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_lambda_expression, 15, 0, 0), + [1232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 6, 0, 0), + [1234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 6, 0, 0), + [1236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple_expression, 6, 0, 0), + [1238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple_expression, 6, 0, 0), + [1240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_consume_statement, 3, 0, 0), + [1242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_consume_statement, 3, 0, 0), + [1244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_iftype_statement, 6, 0, 0), + [1246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_iftype_statement, 6, 0, 0), + [1248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_literal, 3, 0, 0), + [1250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_literal, 3, 0, 0), + [1252] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_do_block, 4, 0, 0), + [1254] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_do_block, 4, 0, 0), + [1256] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 6, 0, 0), + [1258] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 6, 0, 0), + [1260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match_statement, 6, 0, 0), + [1262] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match_statement, 6, 0, 0), + [1264] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 8, 0, 0), + [1266] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 8, 0, 0), + [1268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_repeat_statement, 7, 0, 0), + [1270] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_repeat_statement, 7, 0, 0), + [1272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_array_literal, 2, 0, 0), + [1274] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_array_literal, 2, 0, 0), + [1276] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compile_error, 2, 0, 0), + [1278] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compile_error, 2, 0, 0), + [1280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_character, 3, 0, 0), + [1282] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_character, 3, 0, 0), + [1284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_expression, 3, 0, 0), + [1286] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_expression, 3, 0, 0), + [1288] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_capability, 1, 0, 0), + [1290] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_capability, 1, 0, 0), + [1292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_call_expression, 3, 0, 3), + [1294] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_call_expression, 3, 0, 3), + [1296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_compile_error, 1, 0, 0), + [1298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_compile_error, 1, 0, 0), + [1300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_statement, 3, 0, 0), + [1302] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_statement, 3, 0, 0), + [1304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_literal, 6, 0, 0), + [1306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object_literal, 6, 0, 0), [1308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1364), [1310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1363), [1312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(399), - [1314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 1), - [1316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 1), - [1318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, .production_id = 2), - [1320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, .production_id = 2), - [1322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, .production_id = 6), - [1324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, .production_id = 6), - [1326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_chain_expression, 3), - [1328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chain_expression, 3), + [1314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_block_repeat1, 1, 0, 0), + [1316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 1, 0, 0), + [1318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_expression, 2, 0, 2), + [1320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_expression, 2, 0, 2), + [1322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_expression, 3, 0, 6), + [1324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_expression, 3, 0, 6), + [1326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_chain_expression, 3, 0, 0), + [1328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_chain_expression, 3, 0, 0), [1330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(525), [1332] = {.entry = {.count = 1, .reusable = false}}, SHIFT(457), [1334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), [1336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1337), [1338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1338), [1340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1339), - [1342] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_intersection_type_repeat1, 2), SHIFT_REPEAT(1338), - [1345] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2), SHIFT_REPEAT(1337), + [1342] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_intersection_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1338), + [1345] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1337), [1348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(855), [1350] = {.entry = {.count = 1, .reusable = false}}, SHIFT(856), [1352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(831), [1354] = {.entry = {.count = 1, .reusable = false}}, SHIFT(850), - [1356] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(855), - [1359] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(831), + [1356] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(855), + [1359] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(831), [1362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1265), [1364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2316), [1366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1082), [1368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1282), [1370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(565), - [1372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 1), + [1372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 1, 0, 0), [1374] = {.entry = {.count = 1, .reusable = false}}, SHIFT(663), - [1376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 1), + [1376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 1, 0, 0), [1378] = {.entry = {.count = 1, .reusable = false}}, SHIFT(800), [1380] = {.entry = {.count = 1, .reusable = false}}, SHIFT(811), [1382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(800), [1384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(820), [1386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(823), [1388] = {.entry = {.count = 1, .reusable = false}}, SHIFT(775), - [1390] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(810), + [1390] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2, 0, 0), SHIFT_REPEAT(810), [1393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(810), [1395] = {.entry = {.count = 1, .reusable = false}}, SHIFT(797), [1397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), @@ -136861,38 +136812,38 @@ static const TSParseActionEntry ts_parse_actions[] = { [1505] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1042), [1507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1852), [1509] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1041), - [1511] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(324), - [1514] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(1751), - [1517] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(607), - [1520] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(2218), - [1523] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(831), - [1526] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(1727), - [1529] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(390), - [1532] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(321), - [1535] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(815), - [1538] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(815), - [1541] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(606), - [1544] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(606), - [1547] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(1248), - [1550] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(1982), - [1553] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(614), - [1556] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(621), - [1559] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(1880), - [1562] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(598), - [1565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), - [1567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(478), - [1570] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(605), - [1573] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(52), - [1576] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(53), - [1579] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(54), - [1582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(1738), - [1585] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(1382), - [1588] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(400), - [1591] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(400), - [1594] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(1787), - [1597] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(1935), - [1600] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(1817), - [1603] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2), SHIFT_REPEAT(396), + [1511] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(324), + [1514] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1751), + [1517] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(607), + [1520] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2218), + [1523] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(831), + [1526] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1727), + [1529] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(390), + [1532] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(321), + [1535] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(815), + [1538] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(815), + [1541] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(606), + [1544] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(606), + [1547] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1248), + [1550] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1982), + [1553] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(614), + [1556] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(621), + [1559] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1880), + [1562] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(598), + [1565] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), + [1567] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(478), + [1570] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(605), + [1573] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(52), + [1576] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(53), + [1579] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(54), + [1582] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1738), + [1585] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1382), + [1588] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(400), + [1591] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(400), + [1594] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1787), + [1597] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1935), + [1600] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1817), + [1603] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_while_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(396), [1606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1004), [1608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(551), [1610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(868), @@ -136908,14 +136859,14 @@ static const TSParseActionEntry ts_parse_actions[] = { [1630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), [1632] = {.entry = {.count = 1, .reusable = false}}, SHIFT(2347), [1634] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1342), - [1636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 6, .production_id = 8), + [1636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 6, 0, 8), [1638] = {.entry = {.count = 1, .reusable = false}}, SHIFT(709), [1640] = {.entry = {.count = 1, .reusable = false}}, SHIFT(851), [1642] = {.entry = {.count = 1, .reusable = false}}, SHIFT(852), [1644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(851), [1646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(853), [1648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(854), - [1650] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_base_type_repeat1, 2), SHIFT_REPEAT(2347), + [1650] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_base_type_repeat1, 2, 0, 0), SHIFT_REPEAT(2347), [1653] = {.entry = {.count = 1, .reusable = true}}, SHIFT(943), [1655] = {.entry = {.count = 1, .reusable = true}}, SHIFT(933), [1657] = {.entry = {.count = 1, .reusable = true}}, SHIFT(947), @@ -136939,8 +136890,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [1693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1262), [1695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1259), [1697] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1257), - [1699] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_intersection_type_repeat1, 2), SHIFT_REPEAT(1259), - [1702] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2), SHIFT_REPEAT(1262), + [1699] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_intersection_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1259), + [1702] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1262), [1705] = {.entry = {.count = 1, .reusable = false}}, SHIFT(786), [1707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(779), [1709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(774), @@ -136964,8 +136915,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [1745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(501), [1747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(978), [1749] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1331), - [1751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), - [1753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2), + [1751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), + [1753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), [1755] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1243), [1757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(989), [1759] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2263), @@ -136973,7 +136924,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [1763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), [1765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(596), [1767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(378), - [1769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2), + [1769] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), [1771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1046), [1773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1038), [1775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), @@ -136999,17 +136950,17 @@ static const TSParseActionEntry ts_parse_actions[] = { [1815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1290), [1817] = {.entry = {.count = 1, .reusable = true}}, SHIFT(813), [1819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), - [1821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lambda_captures_repeat1, 4), - [1823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 5, .production_id = 1), - [1825] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lambda_captures_repeat1, 6), - [1827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameter, 3, .production_id = 1), - [1829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameter, 5, .production_id = 1), - [1831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_argument, 3), - [1833] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_base_type_repeat1, 2), SHIFT_REPEAT(2293), - [1836] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_annotation, 4), - [1838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 4), - [1840] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_annotation, 3), - [1842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 3), + [1821] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lambda_captures_repeat1, 4, 0, 0), + [1823] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 5, 0, 1), + [1825] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lambda_captures_repeat1, 6, 0, 0), + [1827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameter, 3, 0, 1), + [1829] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameter, 5, 0, 1), + [1831] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_argument, 3, 0, 0), + [1833] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_base_type_repeat1, 2, 0, 0), SHIFT_REPEAT(2293), + [1836] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_annotation, 4, 0, 0), + [1838] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 4, 0, 0), + [1840] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_annotation, 3, 0, 0), + [1842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_annotation, 3, 0, 0), [1844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1156), [1846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1162), [1848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1165), @@ -137026,62 +136977,62 @@ static const TSParseActionEntry ts_parse_actions[] = { [1870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1278), [1872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1288), [1874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1291), - [1876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 7), + [1876] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 7, 0, 0), [1878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2205), [1880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1554), [1882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1533), [1884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1552), - [1886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 4), - [1888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 4), - [1890] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2), SHIFT_REPEAT(1278), - [1893] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_intersection_type_repeat1, 2), SHIFT_REPEAT(1288), - [1896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 6), - [1898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 4), - [1900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 7), - [1902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6), - [1904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 6), - [1906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 4), - [1908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5), - [1910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 6), - [1912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 7), - [1914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 6), - [1916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 5), - [1918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 6), - [1920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 5), - [1922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7), - [1924] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 5), - [1926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 5), - [1928] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 4), - [1930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4), - [1932] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5), + [1886] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 4, 0, 0), + [1888] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 4, 0, 0), + [1890] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_union_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1278), + [1893] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_intersection_type_repeat1, 2, 0, 0), SHIFT_REPEAT(1288), + [1896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 6, 0, 0), + [1898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 4, 0, 0), + [1900] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 7, 0, 0), + [1902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 6, 0, 0), + [1904] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 6, 0, 0), + [1906] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 4, 0, 0), + [1908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 5, 0, 0), + [1910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 6, 0, 0), + [1912] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 7, 0, 0), + [1914] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 6, 0, 0), + [1916] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 5, 0, 0), + [1918] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 6, 0, 0), + [1920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 5, 0, 0), + [1922] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 7, 0, 0), + [1924] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 5, 0, 0), + [1926] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 5, 0, 0), + [1928] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 4, 0, 0), + [1930] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 4, 0, 0), + [1932] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 5, 0, 0), [1934] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2118), [1936] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1374), [1938] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1368), [1940] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1369), - [1942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 3), + [1942] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 3, 0, 0), [1944] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1275), - [1946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 2), + [1946] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 2, 0, 0), [1948] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1344), - [1950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 2), + [1950] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 2, 0, 0), [1952] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1311), - [1954] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 3), + [1954] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 3, 0, 0), [1956] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1218), - [1958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 3), + [1958] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 3, 0, 0), [1960] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1208), [1962] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1375), - [1964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 3), + [1964] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 3, 0, 0), [1966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1210), - [1968] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 3), + [1968] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 3, 0, 0), [1970] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1247), - [1972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 3), + [1972] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 3, 0, 0), [1974] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1220), - [1976] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 2), + [1976] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 2, 0, 0), [1978] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1361), - [1980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 2), + [1980] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 2, 0, 0), [1982] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1283), - [1984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 2), + [1984] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 2, 0, 0), [1986] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1373), - [1988] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 2), + [1988] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 2, 0, 0), [1990] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1356), [1992] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1211), [1994] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1230), @@ -137089,27 +137040,27 @@ static const TSParseActionEntry ts_parse_actions[] = { [1998] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1233), [2000] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1244), [2002] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1366), - [2004] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 4, .production_id = 8), + [2004] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 4, 0, 8), [2006] = {.entry = {.count = 1, .reusable = true}}, SHIFT(802), [2008] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1070), [2010] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2206), [2012] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1359), [2014] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1520), [2016] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1157), - [2018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 5, .production_id = 12), + [2018] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 5, 0, 12), [2020] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1465), [2022] = {.entry = {.count = 1, .reusable = true}}, SHIFT(674), - [2024] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 7, .production_id = 20), + [2024] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 7, 0, 20), [2026] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1450), [2028] = {.entry = {.count = 1, .reusable = true}}, SHIFT(764), [2030] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1962), - [2032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 8, .production_id = 23), + [2032] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 8, 0, 23), [2034] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1456), [2036] = {.entry = {.count = 1, .reusable = true}}, SHIFT(753), - [2038] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 6, .production_id = 17), + [2038] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 6, 0, 17), [2040] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1460), [2042] = {.entry = {.count = 1, .reusable = true}}, SHIFT(750), - [2044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 9, .production_id = 25), + [2044] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 9, 0, 25), [2046] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1448), [2048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(744), [2050] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), @@ -137132,8 +137083,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [2084] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1246), [2086] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1523), [2088] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), - [2090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 8), - [2092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 8), + [2090] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 8, 0, 0), + [2092] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 8, 0, 0), [2094] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1289), [2096] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2500), [2098] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1576), @@ -137142,90 +137093,90 @@ static const TSParseActionEntry ts_parse_actions[] = { [2104] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), [2106] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1229), [2108] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), - [2110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 7), + [2110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 7, 0, 0), [2112] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1235), [2114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1026), [2116] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1365), [2118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(564), - [2120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 8), - [2122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 8), - [2124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 7), - [2126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 5, .production_id = 5), + [2120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 8, 0, 0), + [2122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 8, 0, 0), + [2124] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 7, 0, 0), + [2126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 5, 0, 5), [2128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(542), [2130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(363), [2132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), [2134] = {.entry = {.count = 1, .reusable = true}}, SHIFT(553), [2136] = {.entry = {.count = 1, .reusable = true}}, SHIFT(982), - [2138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 4), + [2138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 4, 0, 0), [2140] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1018), [2142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(266), - [2144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_members, 1), + [2144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_members, 1, 0, 0), [2146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(347), - [2148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2), - [2150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 2), - [2152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 3), + [2148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 2, 0, 0), + [2150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 2, 0, 0), + [2152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 3, 0, 0), [2154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1464), [2156] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1206), [2158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(715), - [2160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 6), + [2160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 6, 0, 0), [2162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1462), [2164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1242), [2166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(752), - [2168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 4), - [2170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 4), - [2172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 4), + [2168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 4, 0, 0), + [2170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 4, 0, 0), + [2172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 4, 0, 0), [2174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1445), [2176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1346), [2178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(712), [2180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(857), - [2182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3), - [2184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 3), - [2186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 5), + [2182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameters, 3, 0, 0), + [2184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_parameters, 3, 0, 0), + [2186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 5, 0, 0), [2188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1459), [2190] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1277), [2192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(671), - [2194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 7), + [2194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 7, 0, 0), [2196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1457), [2198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1355), [2200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(763), - [2202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameters, 3), - [2204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_parameters, 3), - [2206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 5), + [2202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameters, 3, 0, 0), + [2204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_parameters, 3, 0, 0), + [2206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 5, 0, 0), [2208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1463), [2210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(668), - [2212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 3), + [2212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 3, 0, 0), [2214] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1447), [2216] = {.entry = {.count = 1, .reusable = true}}, SHIFT(719), - [2218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2), - [2220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), - [2222] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(1709), - [2225] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(2485), - [2228] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(1938), - [2231] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(1583), - [2234] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(1960), - [2237] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(1584), - [2240] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(1570), - [2243] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2), SHIFT_REPEAT(1569), - [2246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1), - [2248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 4), + [2218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 2, 0, 0), + [2220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), + [2222] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(1709), + [2225] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(2485), + [2228] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(1938), + [2231] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(1583), + [2234] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(1960), + [2237] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(1584), + [2240] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(1570), + [2243] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_source_file_repeat1, 2, 0, 0), SHIFT_REPEAT(1569), + [2246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_source_file, 1, 0, 0), + [2248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 4, 0, 0), [2250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1455), [2252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(731), - [2254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameters, 4), - [2256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_parameters, 4), - [2258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 6), + [2254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameters, 4, 0, 0), + [2256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_generic_parameters, 4, 0, 0), + [2258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 6, 0, 0), [2260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1451), [2262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(746), [2264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1559), [2266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(646), - [2268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 3), + [2268] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 3, 0, 0), [2270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(713), - [2272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 10, .production_id = 25), + [2272] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 10, 0, 25), [2274] = {.entry = {.count = 1, .reusable = true}}, SHIFT(740), [2276] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1539), [2278] = {.entry = {.count = 1, .reusable = true}}, SHIFT(736), - [2280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 8, .production_id = 20), + [2280] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 8, 0, 20), [2282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(755), - [2284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 7), + [2284] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 7, 0, 0), [2286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(766), [2288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1542), [2290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(706), @@ -137233,29 +137184,29 @@ static const TSParseActionEntry ts_parse_actions[] = { [2294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(660), [2296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1564), [2298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(665), - [2300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 9, .production_id = 23), + [2300] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 9, 0, 23), [2302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(745), - [2304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 8), + [2304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 8, 0, 0), [2306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(751), - [2308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 6), + [2308] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 6, 0, 0), [2310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(760), - [2312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 7, .production_id = 17), + [2312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 7, 0, 17), [2314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(765), - [2316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 5), + [2316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 5, 0, 0), [2318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(678), - [2320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 6, .production_id = 12), + [2320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 6, 0, 12), [2322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(754), - [2324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 4), + [2324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 4, 0, 0), [2326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(711), - [2328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_members_repeat1, 2), - [2330] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat1, 2), SHIFT_REPEAT(2205), - [2333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2), - [2335] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2), SHIFT_REPEAT(1554), - [2338] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2), SHIFT_REPEAT(1533), - [2341] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2), SHIFT_REPEAT(1552), - [2344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_members, 2), - [2346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 7, .production_id = 8), - [2348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 5, .production_id = 8), + [2328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_members_repeat1, 2, 0, 0), + [2330] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat1, 2, 0, 0), SHIFT_REPEAT(2205), + [2333] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2, 0, 0), + [2335] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2, 0, 0), SHIFT_REPEAT(1554), + [2338] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2, 0, 0), SHIFT_REPEAT(1533), + [2341] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2, 0, 0), SHIFT_REPEAT(1552), + [2344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_members, 2, 0, 0), + [2346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 7, 0, 8), + [2348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_field, 5, 0, 8), [2350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1212), [2352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(994), [2354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1305), @@ -137264,31 +137215,31 @@ static const TSParseActionEntry ts_parse_actions[] = { [2360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(515), [2362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1321), [2364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), - [2366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 12, .production_id = 25), - [2368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 9), - [2370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 11, .production_id = 23), - [2372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 11, .production_id = 25), - [2374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 2), + [2366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 12, 0, 25), + [2368] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 9, 0, 0), + [2370] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 11, 0, 23), + [2372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 11, 0, 25), + [2374] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 2, 0, 0), [2376] = {.entry = {.count = 1, .reusable = false}}, SHIFT(611), [2378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(611), - [2380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 8), - [2382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 8, .production_id = 17), - [2384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 7, .production_id = 12), - [2386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 8, .production_id = 12), - [2388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 8), - [2390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 9, .production_id = 20), - [2392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 9), - [2394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 9, .production_id = 17), - [2396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 10, .production_id = 23), - [2398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 4), - [2400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 7), - [2402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 10, .production_id = 20), - [2404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 10), + [2380] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 8, 0, 0), + [2382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 8, 0, 17), + [2384] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 7, 0, 12), + [2386] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 8, 0, 12), + [2388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 8, 0, 0), + [2390] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 9, 0, 20), + [2392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_constructor, 9, 0, 0), + [2394] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 9, 0, 17), + [2396] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 10, 0, 23), + [2398] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 4, 0, 0), + [2400] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_behavior, 7, 0, 0), + [2402] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 10, 0, 20), + [2404] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_method, 10, 0, 0), [2406] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1869), [2408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1202), - [2410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ffi_method, 6, .production_id = 9), + [2410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ffi_method, 6, 0, 9), [2412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1534), - [2414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ffi_method, 6, .production_id = 9), + [2414] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ffi_method, 6, 0, 9), [2416] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1884), [2418] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1902), [2420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1546), @@ -137313,7 +137264,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [2458] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1560), [2460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1341), [2462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(654), - [2464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_block, 3), + [2464] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_block, 3, 0, 0), [2466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1555), [2468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(735), [2470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(828), @@ -137321,11 +137272,11 @@ static const TSParseActionEntry ts_parse_actions[] = { [2474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(698), [2476] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1857), [2478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2228), - [2480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ffi_method, 7, .production_id = 9), - [2482] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ffi_method, 7, .production_id = 9), + [2480] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_ffi_method, 7, 0, 9), + [2482] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_ffi_method, 7, 0, 9), [2484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1551), [2486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(641), - [2488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_block, 2), + [2488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_block, 2, 0, 0), [2490] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1889), [2492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2320), [2494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1548), @@ -137342,14 +137293,14 @@ static const TSParseActionEntry ts_parse_actions[] = { [2516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(265), [2518] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1862), [2520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(679), - [2522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_args_repeat1, 2), + [2522] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_args_repeat1, 2, 0, 0), [2524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1089), [2526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(659), [2528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(661), [2530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(455), [2532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(664), [2534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1292), - [2536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameter, 3), + [2536] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameter, 3, 0, 0), [2538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(666), [2540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(849), [2542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(687), @@ -137367,23 +137318,23 @@ static const TSParseActionEntry ts_parse_actions[] = { [2566] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1892), [2568] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1158), [2570] = {.entry = {.count = 1, .reusable = true}}, SHIFT(858), - [2572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, .production_id = 1), + [2572] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 3, 0, 1), [2574] = {.entry = {.count = 1, .reusable = true}}, SHIFT(894), [2576] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1992), [2578] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1180), [2580] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1170), [2582] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1898), [2584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2333), - [2586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameter, 3, .production_id = 7), + [2586] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameter, 3, 0, 7), [2588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2381), [2590] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), [2592] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2372), [2594] = {.entry = {.count = 1, .reusable = true}}, SHIFT(289), - [2596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 8), - [2598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 8), + [2596] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_primitive_definition, 8, 0, 0), + [2598] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_actor_definition, 8, 0, 0), [2600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2220), [2602] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), - [2604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 6, .production_id = 5), + [2604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 6, 0, 5), [2606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2242), [2608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1098), [2610] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2390), @@ -137391,7 +137342,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [2614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(589), [2616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2358), [2618] = {.entry = {.count = 1, .reusable = true}}, SHIFT(720), - [2620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 5), + [2620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_alias, 5, 0, 0), [2622] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2305), [2624] = {.entry = {.count = 1, .reusable = true}}, SHIFT(889), [2626] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2260), @@ -137404,24 +137355,24 @@ static const TSParseActionEntry ts_parse_actions[] = { [2640] = {.entry = {.count = 1, .reusable = true}}, SHIFT(886), [2642] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2433), [2644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [2646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 3), + [2646] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 3, 0, 0), [2648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2250), [2650] = {.entry = {.count = 1, .reusable = true}}, SHIFT(875), [2652] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2257), [2654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(878), [2656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2252), [2658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(879), - [2660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_platform_specifier, 1), + [2660] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_platform_specifier, 1, 0, 0), [2662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2233), [2664] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1105), [2666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2239), [2668] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1092), [2670] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2249), [2672] = {.entry = {.count = 1, .reusable = true}}, SHIFT(897), - [2674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameter, 5, .production_id = 15), + [2674] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameter, 5, 0, 15), [2676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2235), [2678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(737), - [2680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 9), + [2680] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_class_definition, 9, 0, 0), [2682] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2221), [2684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(767), [2686] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2388), @@ -137450,7 +137401,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [2732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), [2734] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2503), [2736] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [2738] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat1, 2), SHIFT_REPEAT(2500), + [2738] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat1, 2, 0, 0), SHIFT_REPEAT(2500), [2741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2266), [2743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1114), [2745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2348), @@ -137489,17 +137440,17 @@ static const TSParseActionEntry ts_parse_actions[] = { [2811] = {.entry = {.count = 1, .reusable = true}}, SHIFT(718), [2813] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2491), [2815] = {.entry = {.count = 1, .reusable = true}}, SHIFT(128), - [2817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 5), + [2817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_use_statement, 5, 0, 0), [2819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2280), [2821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(689), [2823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2362), [2825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(710), - [2827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 9), + [2827] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_struct_definition, 9, 0, 0), [2829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2317), [2831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [2833] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), - [2835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 9), - [2837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 9), + [2833] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1, 0, 0), + [2835] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_trait_definition, 9, 0, 0), + [2837] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_interface_definition, 9, 0, 0), [2839] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2354), [2841] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), [2843] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2395), @@ -137559,9 +137510,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [2951] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1897), [2953] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1899), [2955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1154), - [2957] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2), SHIFT_REPEAT(1576), - [2960] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2), SHIFT_REPEAT(1537), - [2963] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2), SHIFT_REPEAT(1578), + [2957] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2, 0, 0), SHIFT_REPEAT(1576), + [2960] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2, 0, 0), SHIFT_REPEAT(1537), + [2963] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_members_repeat2, 2, 0, 0), SHIFT_REPEAT(1578), [2966] = {.entry = {.count = 1, .reusable = true}}, SHIFT(633), [2968] = {.entry = {.count = 1, .reusable = false}}, SHIFT(229), [2970] = {.entry = {.count = 1, .reusable = false}}, SHIFT(573), @@ -137606,9 +137557,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [3048] = {.entry = {.count = 1, .reusable = true}}, SHIFT(537), [3050] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2229), [3052] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1003), - [3054] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_repeat1, 2), - [3056] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_character_repeat1, 2), SHIFT_REPEAT(1769), - [3059] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_repeat1, 2), SHIFT_REPEAT(1769), + [3054] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_character_repeat1, 2, 0, 0), + [3056] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_character_repeat1, 2, 0, 0), SHIFT_REPEAT(1769), + [3059] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_character_repeat1, 2, 0, 0), SHIFT_REPEAT(1769), [3062] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425), [3064] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1771), [3066] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1771), @@ -137655,9 +137606,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [3148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(516), [3150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(563), [3152] = {.entry = {.count = 1, .reusable = true}}, SHIFT(983), - [3154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__string_literal_repeat1, 2), - [3156] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__string_literal_repeat1, 2), SHIFT_REPEAT(1803), - [3159] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__string_literal_repeat1, 2), SHIFT_REPEAT(1803), + [3154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__string_literal_repeat1, 2, 0, 0), + [3156] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1803), + [3159] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1803), [3162] = {.entry = {.count = 1, .reusable = true}}, SHIFT(769), [3164] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2385), [3166] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1270), @@ -137668,13 +137619,13 @@ static const TSParseActionEntry ts_parse_actions[] = { [3176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(986), [3178] = {.entry = {.count = 1, .reusable = true}}, SHIFT(610), [3180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1873), - [3182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2), SHIFT_REPEAT(818), + [3182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_case_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(818), [3185] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2387), [3187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1268), [3189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(651), - [3191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2), - [3193] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2), SHIFT_REPEAT(603), - [3196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2), + [3191] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), + [3193] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(603), + [3196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_statement_repeat1, 2, 0, 0), [3198] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1280), [3200] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1877), [3202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2419), @@ -137683,8 +137634,8 @@ static const TSParseActionEntry ts_parse_actions[] = { [3208] = {.entry = {.count = 1, .reusable = true}}, SHIFT(241), [3210] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1794), [3212] = {.entry = {.count = 1, .reusable = false}}, SHIFT(1794), - [3214] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_statement_repeat1, 2), SHIFT_REPEAT(628), - [3217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_statement_repeat1, 2), + [3214] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(628), + [3217] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_statement_repeat1, 2, 0, 0), [3219] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1264), [3221] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1281), [3223] = {.entry = {.count = 1, .reusable = true}}, SHIFT(532), @@ -137696,9 +137647,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [3235] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2341), [3237] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1286), [3239] = {.entry = {.count = 1, .reusable = true}}, SHIFT(757), - [3241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_iftype_statement_repeat1, 2), - [3243] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_iftype_statement_repeat1, 2), SHIFT_REPEAT(1199), - [3246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_iftype_statement_repeat1, 2), + [3241] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_iftype_statement_repeat1, 2, 0, 0), + [3243] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_iftype_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(1199), + [3246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_iftype_statement_repeat1, 2, 0, 0), [3248] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1209), [3250] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1252), [3252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(558), @@ -137743,27 +137694,27 @@ static const TSParseActionEntry ts_parse_actions[] = { [3330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1867), [3332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2269), [3334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1249), - [3336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameter, 1), + [3336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_generic_parameter, 1, 0, 0), [3338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1254), [3340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2508), [3342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1425), [3344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2124), - [3346] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2), SHIFT_REPEAT(794), - [3349] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_args_repeat1, 2), SHIFT_REPEAT(1297), + [3346] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(794), + [3349] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_args_repeat1, 2, 0, 0), SHIFT_REPEAT(1297), [3352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(829), [3354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1272), - [3356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lambda_captures_repeat1, 2), + [3356] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lambda_captures_repeat1, 2, 0, 0), [3358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(790), [3360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1253), - [3362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameter, 1, .production_id = 1), + [3362] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameter, 1, 0, 1), [3364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2425), [3366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1207), [3368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), [3370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2342), [3372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1336), [3374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [3376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_then_block, 2), - [3378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_then_block, 2), + [3376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_then_block, 2, 0, 0), + [3378] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_then_block, 2, 0, 0), [3380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2000), [3382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1431), [3384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2126), @@ -137783,11 +137734,11 @@ static const TSParseActionEntry ts_parse_actions[] = { [3412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1178), [3414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2410), [3416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(848), - [3418] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_with_statement_repeat1, 2), SHIFT_REPEAT(2138), - [3421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_with_statement_repeat1, 2), + [3418] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_with_statement_repeat1, 2, 0, 0), SHIFT_REPEAT(2138), + [3421] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_with_statement_repeat1, 2, 0, 0), [3423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1819), - [3425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__multiline_string_literal_repeat1, 2), - [3427] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__multiline_string_literal_repeat1, 2), SHIFT_REPEAT(1942), + [3425] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__multiline_string_literal_repeat1, 2, 0, 0), + [3427] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__multiline_string_literal_repeat1, 2, 0, 0), SHIFT_REPEAT(1942), [3430] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2469), [3432] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1216), [3434] = {.entry = {.count = 1, .reusable = true}}, SHIFT(232), @@ -137809,7 +137760,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [3466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1008), [3468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1181), [3470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2378), - [3472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameters, 2), + [3472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameters, 2, 0, 0), [3474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), [3476] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1161), [3478] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1813), @@ -137817,15 +137768,15 @@ static const TSParseActionEntry ts_parse_actions[] = { [3482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1223), [3484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), [3486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2159), - [3488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_arguments, 2), + [3488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_arguments, 2, 0, 0), [3490] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2441), [3492] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1224), [3494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), [3496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1820), [3498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1022), [3500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1838), - [3502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_then_block, 3), - [3504] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_then_block, 3), + [3502] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_then_block, 3, 0, 0), + [3504] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_then_block, 3, 0, 0), [3506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1836), [3508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1825), [3510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2287), @@ -137842,28 +137793,28 @@ static const TSParseActionEntry ts_parse_actions[] = { [3532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2435), [3534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1298), [3536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1088), - [3538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_parameters_repeat1, 2), - [3540] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_parameters_repeat1, 2), SHIFT_REPEAT(2169), + [3538] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_generic_parameters_repeat1, 2, 0, 0), + [3540] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_generic_parameters_repeat1, 2, 0, 0), SHIFT_REPEAT(2169), [3543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2499), [3545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1294), [3547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), [3549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2303), [3551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1307), [3553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1103), - [3555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameters, 3), + [3555] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameters, 3, 0, 0), [3557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2393), [3559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1228), [3561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(301), [3563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(254), [3565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2458), - [3567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_arguments, 1), + [3567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_arguments, 1, 0, 0), [3569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(861), [3571] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2071), [3573] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1263), [3575] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1428), [3577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1846), - [3579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 4), - [3581] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lambda_captures_repeat1, 2), SHIFT_REPEAT(2263), + [3579] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 4, 0, 0), + [3581] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lambda_captures_repeat1, 2, 0, 0), SHIFT_REPEAT(2263), [3584] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1827), [3586] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), [3588] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1279), @@ -137873,7 +137824,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [3596] = {.entry = {.count = 1, .reusable = true}}, SHIFT(327), [3598] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2019), [3600] = {.entry = {.count = 1, .reusable = true}}, SHIFT(325), - [3602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 2), + [3602] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 2, 0, 0), [3604] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2336), [3606] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1293), [3608] = {.entry = {.count = 1, .reusable = true}}, SHIFT(891), @@ -137881,10 +137832,10 @@ static const TSParseActionEntry ts_parse_actions[] = { [3612] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1303), [3614] = {.entry = {.count = 1, .reusable = true}}, SHIFT(899), [3616] = {.entry = {.count = 1, .reusable = true}}, SHIFT(934), - [3618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_annotation_repeat1, 2), - [3620] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_annotation_repeat1, 2), SHIFT_REPEAT(2224), - [3623] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lambda_expression_repeat1, 2), SHIFT_REPEAT(2126), - [3626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lambda_expression_repeat1, 2), + [3618] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_annotation_repeat1, 2, 0, 0), + [3620] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_annotation_repeat1, 2, 0, 0), SHIFT_REPEAT(2224), + [3623] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_lambda_expression_repeat1, 2, 0, 0), SHIFT_REPEAT(2126), + [3626] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_lambda_expression_repeat1, 2, 0, 0), [3628] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1347), [3630] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2311), [3632] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1304), @@ -137896,9 +137847,9 @@ static const TSParseActionEntry ts_parse_actions[] = { [3644] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2306), [3646] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1313), [3648] = {.entry = {.count = 1, .reusable = true}}, SHIFT(902), - [3650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_arguments, 3), - [3652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseif_block, 3), - [3654] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_block, 3), + [3650] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_named_arguments, 3, 0, 0), + [3652] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseif_block, 3, 0, 0), + [3654] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_block, 3, 0, 0), [3656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2042), [3658] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2298), [3660] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1314), @@ -137912,10 +137863,10 @@ static const TSParseActionEntry ts_parse_actions[] = { [3676] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2246), [3678] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1236), [3680] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1117), - [3682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameters, 4), + [3682] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_parameters, 4, 0, 0), [3684] = {.entry = {.count = 1, .reusable = true}}, SHIFT(539), - [3686] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2), SHIFT_REPEAT(2000), - [3689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2), + [3686] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, 0, 0), SHIFT_REPEAT(2000), + [3689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_parameters_repeat1, 2, 0, 0), [3691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2461), [3693] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1276), [3695] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1102), @@ -137924,36 +137875,36 @@ static const TSParseActionEntry ts_parse_actions[] = { [3701] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2264), [3703] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1327), [3705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(883), - [3707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 5), + [3707] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 5, 0, 0), [3709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1854), [3711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2363), [3713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1310), [3715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), [3717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1822), - [3719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 3), - [3721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 4), - [3723] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_named_arguments_repeat1, 2), SHIFT_REPEAT(2159), - [3726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_named_arguments_repeat1, 2), + [3719] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 3, 0, 0), + [3721] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 4, 0, 0), + [3723] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_named_arguments_repeat1, 2, 0, 0), SHIFT_REPEAT(2159), + [3726] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_named_arguments_repeat1, 2, 0, 0), [3728] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2357), [3730] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1335), [3732] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [3734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseif_block, 4), - [3736] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_block, 4), + [3734] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseif_block, 4, 0, 0), + [3736] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseif_block, 4, 0, 0), [3738] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2253), [3740] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1302), [3742] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1087), [3744] = {.entry = {.count = 1, .reusable = true}}, SHIFT(529), [3746] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2064), - [3748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseiftype_block, 6), - [3750] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseiftype_block, 6), + [3748] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseiftype_block, 6, 0, 0), + [3750] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseiftype_block, 6, 0, 0), [3752] = {.entry = {.count = 1, .reusable = true}}, SHIFT(527), [3754] = {.entry = {.count = 1, .reusable = true}}, SHIFT(407), [3756] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [3758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 8), + [3758] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 8, 0, 0), [3760] = {.entry = {.count = 1, .reusable = true}}, SHIFT(497), [3762] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2070), - [3764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseiftype_block, 5), - [3766] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseiftype_block, 5), + [3764] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_elseiftype_block, 5, 0, 0), + [3766] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_elseiftype_block, 5, 0, 0), [3768] = {.entry = {.count = 1, .reusable = true}}, SHIFT(495), [3770] = {.entry = {.count = 1, .reusable = true}}, SHIFT(860), [3772] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1055), @@ -137964,7 +137915,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [3782] = {.entry = {.count = 1, .reusable = true}}, SHIFT(965), [3784] = {.entry = {.count = 1, .reusable = true}}, SHIFT(548), [3786] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), - [3788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 6), + [3788] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 6, 0, 0), [3790] = {.entry = {.count = 1, .reusable = true}}, SHIFT(893), [3792] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2008), [3794] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2282), @@ -137980,7 +137931,7 @@ static const TSParseActionEntry ts_parse_actions[] = { [3814] = {.entry = {.count = 1, .reusable = true}}, SHIFT(426), [3816] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2088), [3818] = {.entry = {.count = 1, .reusable = true}}, SHIFT(428), - [3820] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 7), + [3820] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 7, 0, 0), [3822] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2196), [3824] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1306), [3826] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), @@ -138015,22 +137966,22 @@ static const TSParseActionEntry ts_parse_actions[] = { [3884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), [3886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), [3888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2110), - [3890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 5), + [3890] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 5, 0, 0), [3892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1299), [3894] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2268), - [3896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 6), - [3898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 7), + [3896] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_lambda_captures, 6, 0, 0), + [3898] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_case_statement, 7, 0, 0), [3900] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1864), - [3902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1), + [3902] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_parameter, 1, 0, 0), [3904] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1839), [3906] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2021), - [3908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_block, 2), - [3910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_elem, 3), + [3908] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_block, 2, 0, 0), + [3910] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_with_elem, 3, 0, 0), [3912] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1860), [3914] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2459), [3916] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1916), [3918] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2339), - [3920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_block, 3), + [3920] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_block, 3, 0, 0), [3922] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1898), [3924] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1905), [3926] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1518), @@ -138270,6 +138221,37 @@ static const TSParseActionEntry ts_parse_actions[] = { [4394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(1931), }; +enum ts_external_scanner_symbol_identifiers { + ts_external_token__type_args_start = 0, + ts_external_token_block_comment = 1, + ts_external_token__multiline_string_content = 2, +}; + +static const TSSymbol ts_external_scanner_symbol_map[EXTERNAL_TOKEN_COUNT] = { + [ts_external_token__type_args_start] = sym__type_args_start, + [ts_external_token_block_comment] = sym_block_comment, + [ts_external_token__multiline_string_content] = sym__multiline_string_content, +}; + +static const bool ts_external_scanner_states[5][EXTERNAL_TOKEN_COUNT] = { + [1] = { + [ts_external_token__type_args_start] = true, + [ts_external_token_block_comment] = true, + [ts_external_token__multiline_string_content] = true, + }, + [2] = { + [ts_external_token_block_comment] = true, + }, + [3] = { + [ts_external_token__type_args_start] = true, + [ts_external_token_block_comment] = true, + }, + [4] = { + [ts_external_token_block_comment] = true, + [ts_external_token__multiline_string_content] = true, + }, +}; + #ifdef __cplusplus extern "C" { #endif @@ -138279,11 +138261,15 @@ bool tree_sitter_pony_external_scanner_scan(void *, TSLexer *, const bool *); unsigned tree_sitter_pony_external_scanner_serialize(void *, char *); void tree_sitter_pony_external_scanner_deserialize(void *, const char *, unsigned); -#ifdef _WIN32 -#define extern __declspec(dllexport) +#ifdef TREE_SITTER_HIDE_SYMBOLS +#define TS_PUBLIC +#elif defined(_WIN32) +#define TS_PUBLIC __declspec(dllexport) +#else +#define TS_PUBLIC __attribute__((visibility("default"))) #endif -extern const TSLanguage *tree_sitter_pony(void) { +TS_PUBLIC const TSLanguage *tree_sitter_pony(void) { static const TSLanguage language = { .version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, diff --git a/src/tree_sitter/alloc.h b/src/tree_sitter/alloc.h new file mode 100644 index 0000000..1f4466d --- /dev/null +++ b/src/tree_sitter/alloc.h @@ -0,0 +1,54 @@ +#ifndef TREE_SITTER_ALLOC_H_ +#define TREE_SITTER_ALLOC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include +#include + +// Allow clients to override allocation functions +#ifdef TREE_SITTER_REUSE_ALLOCATOR + +extern void *(*ts_current_malloc)(size_t); +extern void *(*ts_current_calloc)(size_t, size_t); +extern void *(*ts_current_realloc)(void *, size_t); +extern void (*ts_current_free)(void *); + +#ifndef ts_malloc +#define ts_malloc ts_current_malloc +#endif +#ifndef ts_calloc +#define ts_calloc ts_current_calloc +#endif +#ifndef ts_realloc +#define ts_realloc ts_current_realloc +#endif +#ifndef ts_free +#define ts_free ts_current_free +#endif + +#else + +#ifndef ts_malloc +#define ts_malloc malloc +#endif +#ifndef ts_calloc +#define ts_calloc calloc +#endif +#ifndef ts_realloc +#define ts_realloc realloc +#endif +#ifndef ts_free +#define ts_free free +#endif + +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ALLOC_H_ diff --git a/src/tree_sitter/array.h b/src/tree_sitter/array.h new file mode 100644 index 0000000..15a3b23 --- /dev/null +++ b/src/tree_sitter/array.h @@ -0,0 +1,290 @@ +#ifndef TREE_SITTER_ARRAY_H_ +#define TREE_SITTER_ARRAY_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include "./alloc.h" + +#include +#include +#include +#include +#include + +#ifdef _MSC_VER +#pragma warning(disable : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" +#endif + +#define Array(T) \ + struct { \ + T *contents; \ + uint32_t size; \ + uint32_t capacity; \ + } + +/// Initialize an array. +#define array_init(self) \ + ((self)->size = 0, (self)->capacity = 0, (self)->contents = NULL) + +/// Create an empty array. +#define array_new() \ + { NULL, 0, 0 } + +/// Get a pointer to the element at a given `index` in the array. +#define array_get(self, _index) \ + (assert((uint32_t)(_index) < (self)->size), &(self)->contents[_index]) + +/// Get a pointer to the first element in the array. +#define array_front(self) array_get(self, 0) + +/// Get a pointer to the last element in the array. +#define array_back(self) array_get(self, (self)->size - 1) + +/// Clear the array, setting its size to zero. Note that this does not free any +/// memory allocated for the array's contents. +#define array_clear(self) ((self)->size = 0) + +/// Reserve `new_capacity` elements of space in the array. If `new_capacity` is +/// less than the array's current capacity, this function has no effect. +#define array_reserve(self, new_capacity) \ + _array__reserve((Array *)(self), array_elem_size(self), new_capacity) + +/// Free any memory allocated for this array. Note that this does not free any +/// memory allocated for the array's contents. +#define array_delete(self) _array__delete((Array *)(self)) + +/// Push a new `element` onto the end of the array. +#define array_push(self, element) \ + (_array__grow((Array *)(self), 1, array_elem_size(self)), \ + (self)->contents[(self)->size++] = (element)) + +/// Increase the array's size by `count` elements. +/// New elements are zero-initialized. +#define array_grow_by(self, count) \ + do { \ + if ((count) == 0) break; \ + _array__grow((Array *)(self), count, array_elem_size(self)); \ + memset((self)->contents + (self)->size, 0, (count) * array_elem_size(self)); \ + (self)->size += (count); \ + } while (0) + +/// Append all elements from one array to the end of another. +#define array_push_all(self, other) \ + array_extend((self), (other)->size, (other)->contents) + +/// Append `count` elements to the end of the array, reading their values from the +/// `contents` pointer. +#define array_extend(self, count, contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), (self)->size, \ + 0, count, contents \ + ) + +/// Remove `old_count` elements from the array starting at the given `index`. At +/// the same index, insert `new_count` new elements, reading their values from the +/// `new_contents` pointer. +#define array_splice(self, _index, old_count, new_count, new_contents) \ + _array__splice( \ + (Array *)(self), array_elem_size(self), _index, \ + old_count, new_count, new_contents \ + ) + +/// Insert one `element` into the array at the given `index`. +#define array_insert(self, _index, element) \ + _array__splice((Array *)(self), array_elem_size(self), _index, 0, 1, &(element)) + +/// Remove one element from the array at the given `index`. +#define array_erase(self, _index) \ + _array__erase((Array *)(self), array_elem_size(self), _index) + +/// Pop the last element off the array, returning the element by value. +#define array_pop(self) ((self)->contents[--(self)->size]) + +/// Assign the contents of one array to another, reallocating if necessary. +#define array_assign(self, other) \ + _array__assign((Array *)(self), (const Array *)(other), array_elem_size(self)) + +/// Swap one array with another +#define array_swap(self, other) \ + _array__swap((Array *)(self), (Array *)(other)) + +/// Get the size of the array contents +#define array_elem_size(self) (sizeof *(self)->contents) + +/// Search a sorted array for a given `needle` value, using the given `compare` +/// callback to determine the order. +/// +/// If an existing element is found to be equal to `needle`, then the `index` +/// out-parameter is set to the existing value's index, and the `exists` +/// out-parameter is set to true. Otherwise, `index` is set to an index where +/// `needle` should be inserted in order to preserve the sorting, and `exists` +/// is set to false. +#define array_search_sorted_with(self, compare, needle, _index, _exists) \ + _array__search_sorted(self, 0, compare, , needle, _index, _exists) + +/// Search a sorted array for a given `needle` value, using integer comparisons +/// of a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_with`. +#define array_search_sorted_by(self, field, needle, _index, _exists) \ + _array__search_sorted(self, 0, _compare_int, field, needle, _index, _exists) + +/// Insert a given `value` into a sorted array, using the given `compare` +/// callback to determine the order. +#define array_insert_sorted_with(self, compare, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_with(self, compare, &(value), &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +/// Insert a given `value` into a sorted array, using integer comparisons of +/// a given struct field (specified with a leading dot) to determine the order. +/// +/// See also `array_search_sorted_by`. +#define array_insert_sorted_by(self, field, value) \ + do { \ + unsigned _index, _exists; \ + array_search_sorted_by(self, field, (value) field, &_index, &_exists); \ + if (!_exists) array_insert(self, _index, value); \ + } while (0) + +// Private + +typedef Array(void) Array; + +/// This is not what you're looking for, see `array_delete`. +static inline void _array__delete(Array *self) { + if (self->contents) { + ts_free(self->contents); + self->contents = NULL; + self->size = 0; + self->capacity = 0; + } +} + +/// This is not what you're looking for, see `array_erase`. +static inline void _array__erase(Array *self, size_t element_size, + uint32_t index) { + assert(index < self->size); + char *contents = (char *)self->contents; + memmove(contents + index * element_size, contents + (index + 1) * element_size, + (self->size - index - 1) * element_size); + self->size--; +} + +/// This is not what you're looking for, see `array_reserve`. +static inline void _array__reserve(Array *self, size_t element_size, uint32_t new_capacity) { + if (new_capacity > self->capacity) { + if (self->contents) { + self->contents = ts_realloc(self->contents, new_capacity * element_size); + } else { + self->contents = ts_malloc(new_capacity * element_size); + } + self->capacity = new_capacity; + } +} + +/// This is not what you're looking for, see `array_assign`. +static inline void _array__assign(Array *self, const Array *other, size_t element_size) { + _array__reserve(self, element_size, other->size); + self->size = other->size; + memcpy(self->contents, other->contents, self->size * element_size); +} + +/// This is not what you're looking for, see `array_swap`. +static inline void _array__swap(Array *self, Array *other) { + Array swap = *other; + *other = *self; + *self = swap; +} + +/// This is not what you're looking for, see `array_push` or `array_grow_by`. +static inline void _array__grow(Array *self, uint32_t count, size_t element_size) { + uint32_t new_size = self->size + count; + if (new_size > self->capacity) { + uint32_t new_capacity = self->capacity * 2; + if (new_capacity < 8) new_capacity = 8; + if (new_capacity < new_size) new_capacity = new_size; + _array__reserve(self, element_size, new_capacity); + } +} + +/// This is not what you're looking for, see `array_splice`. +static inline void _array__splice(Array *self, size_t element_size, + uint32_t index, uint32_t old_count, + uint32_t new_count, const void *elements) { + uint32_t new_size = self->size + new_count - old_count; + uint32_t old_end = index + old_count; + uint32_t new_end = index + new_count; + assert(old_end <= self->size); + + _array__reserve(self, element_size, new_size); + + char *contents = (char *)self->contents; + if (self->size > old_end) { + memmove( + contents + new_end * element_size, + contents + old_end * element_size, + (self->size - old_end) * element_size + ); + } + if (new_count > 0) { + if (elements) { + memcpy( + (contents + index * element_size), + elements, + new_count * element_size + ); + } else { + memset( + (contents + index * element_size), + 0, + new_count * element_size + ); + } + } + self->size += new_count - old_count; +} + +/// A binary search routine, based on Rust's `std::slice::binary_search_by`. +/// This is not what you're looking for, see `array_search_sorted_with` or `array_search_sorted_by`. +#define _array__search_sorted(self, start, compare, suffix, needle, _index, _exists) \ + do { \ + *(_index) = start; \ + *(_exists) = false; \ + uint32_t size = (self)->size - *(_index); \ + if (size == 0) break; \ + int comparison; \ + while (size > 1) { \ + uint32_t half_size = size / 2; \ + uint32_t mid_index = *(_index) + half_size; \ + comparison = compare(&((self)->contents[mid_index] suffix), (needle)); \ + if (comparison <= 0) *(_index) = mid_index; \ + size -= half_size; \ + } \ + comparison = compare(&((self)->contents[*(_index)] suffix), (needle)); \ + if (comparison == 0) *(_exists) = true; \ + else if (comparison < 0) *(_index) += 1; \ + } while (0) + +/// Helper macro for the `_sorted_by` routines below. This takes the left (existing) +/// parameter by reference in order to work with the generic sorting function above. +#define _compare_int(a, b) ((int)*(a) - (int)(b)) + +#ifdef _MSC_VER +#pragma warning(default : 4101) +#elif defined(__GNUC__) || defined(__clang__) +#pragma GCC diagnostic pop +#endif + +#ifdef __cplusplus +} +#endif + +#endif // TREE_SITTER_ARRAY_H_ diff --git a/src/tree_sitter/parser.h b/src/tree_sitter/parser.h index 2b14ac1..17f0e94 100644 --- a/src/tree_sitter/parser.h +++ b/src/tree_sitter/parser.h @@ -13,9 +13,8 @@ extern "C" { #define ts_builtin_sym_end 0 #define TREE_SITTER_SERIALIZATION_BUFFER_SIZE 1024 -typedef uint16_t TSStateId; - #ifndef TREE_SITTER_API_H_ +typedef uint16_t TSStateId; typedef uint16_t TSSymbol; typedef uint16_t TSFieldId; typedef struct TSLanguage TSLanguage; @@ -87,6 +86,11 @@ typedef union { } entry; } TSParseActionEntry; +typedef struct { + int32_t start; + int32_t end; +} TSCharacterRange; + struct TSLanguage { uint32_t version; uint32_t symbol_count; @@ -126,13 +130,38 @@ struct TSLanguage { const TSStateId *primary_state_ids; }; +static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t lookahead) { + uint32_t index = 0; + uint32_t size = len - index; + while (size > 1) { + uint32_t half_size = size / 2; + uint32_t mid_index = index + half_size; + TSCharacterRange *range = &ranges[mid_index]; + if (lookahead >= range->start && lookahead <= range->end) { + return true; + } else if (lookahead > range->end) { + index = mid_index; + } + size -= half_size; + } + TSCharacterRange *range = &ranges[index]; + return (lookahead >= range->start && lookahead <= range->end); +} + /* * Lexer Macros */ +#ifdef _MSC_VER +#define UNUSED __pragma(warning(suppress : 4101)) +#else +#define UNUSED __attribute__((unused)) +#endif + #define START_LEXER() \ bool result = false; \ bool skip = false; \ + UNUSED \ bool eof = false; \ int32_t lookahead; \ goto start; \ @@ -148,6 +177,17 @@ struct TSLanguage { goto next_state; \ } +#define ADVANCE_MAP(...) \ + { \ + static const uint16_t map[] = { __VA_ARGS__ }; \ + for (uint32_t i = 0; i < sizeof(map) / sizeof(map[0]); i += 2) { \ + if (map[i] == lookahead) { \ + state = map[i + 1]; \ + goto next_state; \ + } \ + } \ + } + #define SKIP(state_value) \ { \ skip = true; \ @@ -166,7 +206,7 @@ struct TSLanguage { * Parse Table Macros */ -#define SMALL_STATE(id) id - LARGE_STATE_COUNT +#define SMALL_STATE(id) ((id) - LARGE_STATE_COUNT) #define STATE(id) id @@ -176,7 +216,7 @@ struct TSLanguage { {{ \ .shift = { \ .type = TSParseActionTypeShift, \ - .state = state_value \ + .state = (state_value) \ } \ }} @@ -184,7 +224,7 @@ struct TSLanguage { {{ \ .shift = { \ .type = TSParseActionTypeShift, \ - .state = state_value, \ + .state = (state_value), \ .repetition = true \ } \ }} @@ -197,14 +237,15 @@ struct TSLanguage { } \ }} -#define REDUCE(symbol_val, child_count_val, ...) \ - {{ \ - .reduce = { \ - .type = TSParseActionTypeReduce, \ - .symbol = symbol_val, \ - .child_count = child_count_val, \ - __VA_ARGS__ \ - }, \ +#define REDUCE(symbol_name, children, precedence, prod_id) \ + {{ \ + .reduce = { \ + .type = TSParseActionTypeReduce, \ + .symbol = symbol_name, \ + .child_count = children, \ + .dynamic_precedence = precedence, \ + .production_id = prod_id \ + }, \ }} #define RECOVER() \