diff --git a/README.md b/README.md index 266c757..f6070d3 100644 --- a/README.md +++ b/README.md @@ -9,3 +9,9 @@ It is recommended to use `nix` to fulfill all development dependencies. To activ ## running tests To run tests simply run `nix-shell --run 'tree-sitter test'`. + +## todo + +* use [UnicodeĀ® Standard Annex #31](https://www.unicode.org/reports/tr31/) (augmented with '-')for identifiers +* add [operations](https://github.com/hashicorp/hcl/blob/main/hclsyntax/spec.md#operations) +* add [template expressions](https://github.com/hashicorp/hcl/blob/main/hclsyntax/spec.md#template-expressions) and express string literals using them diff --git a/grammar.js b/grammar.js index ad0849a..aeb7df7 100644 --- a/grammar.js +++ b/grammar.js @@ -11,6 +11,7 @@ module.exports = grammar({ [$.object_elem, $.variable_expr], [$.attr_splat], [$.full_splat], + [$.conditional], ], extras: $ => [ @@ -51,7 +52,7 @@ module.exports = grammar({ expression: $ => choice( $.expr_term, //$.operation, - //$.conditional, + $.conditional, ), expr_term: $ => choice( @@ -172,6 +173,14 @@ module.exports = grammar({ ellipsis: $ => token('...'), + conditional: $ => seq( + $.expression, + '?', + $.expression, + ':', + $.expression, + ), + // http://stackoverflow.com/questions/13014947/regex-to-match-a-c-style-multiline-comment/36328890#36328890 comment: $ => token(choice( seq('#', /.*/), diff --git a/src/grammar.json b/src/grammar.json index 2566135..c7ff81b 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -134,6 +134,10 @@ { "type": "SYMBOL", "name": "expr_term" + }, + { + "type": "SYMBOL", + "name": "conditional" } ] }, @@ -776,6 +780,31 @@ "value": "..." } }, + "conditional": { + "type": "SEQ", + "members": [ + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "?" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": ":" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, "comment": { "type": "TOKEN", "content": { @@ -816,7 +845,7 @@ }, { "type": "PATTERN", - "value": "[^*]*\\*+([^\\/*][^*]*\\*+)*" + "value": "[^*]*\\*+([^/*][^*]*\\*+)*" }, { "type": "STRING", @@ -851,6 +880,9 @@ ], [ "full_splat" + ], + [ + "conditional" ] ], "precedences": [], diff --git a/src/node-types.json b/src/node-types.json index f24472d..ca5f579 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -117,6 +117,21 @@ ] } }, + { + "type": "conditional", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, { "type": "config_file", "named": true, @@ -191,6 +206,10 @@ "multiple": false, "required": true, "types": [ + { + "type": "conditional", + "named": true + }, { "type": "expr_term", "named": true @@ -546,6 +565,10 @@ "type": "=>", "named": false }, + { + "type": "?", + "named": false + }, { "type": "[", "named": false diff --git a/src/parser.c b/src/parser.c index c424c33..05c41c7 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 13 -#define STATE_COUNT 166 +#define STATE_COUNT 176 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 57 +#define SYMBOL_COUNT 59 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 25 +#define TOKEN_COUNT 26 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 1 #define MAX_ALIAS_SEQUENCE_LENGTH 8 @@ -40,39 +40,41 @@ enum { anon_sym_in = 21, anon_sym_if = 22, sym_ellipsis = 23, - sym_comment = 24, - sym_config_file = 25, - sym_body = 26, - sym_attribute = 27, - sym_block = 28, - sym_expression = 29, - sym_expr_term = 30, - sym_literal_value = 31, - sym_string_lit = 32, - sym_bool_lit = 33, - sym_collection_value = 34, - sym_tuple = 35, - sym_object = 36, - sym_object_elem = 37, - sym_index = 38, - sym_get_attr = 39, - sym_splat = 40, - sym_attr_splat = 41, - sym_full_splat = 42, - sym_for_expr = 43, - sym_for_tuple_expr = 44, - sym_for_object_expr = 45, - sym_for_intro = 46, - sym_for_cond = 47, - sym_variable_expr = 48, - sym_function_call = 49, - sym_function_arguments = 50, - aux_sym_body_repeat1 = 51, - aux_sym_block_repeat1 = 52, - aux_sym_tuple_repeat1 = 53, - aux_sym_object_repeat1 = 54, - aux_sym_attr_splat_repeat1 = 55, - aux_sym_full_splat_repeat1 = 56, + anon_sym_QMARK = 24, + sym_comment = 25, + sym_config_file = 26, + sym_body = 27, + sym_attribute = 28, + sym_block = 29, + sym_expression = 30, + sym_expr_term = 31, + sym_literal_value = 32, + sym_string_lit = 33, + sym_bool_lit = 34, + sym_collection_value = 35, + sym_tuple = 36, + sym_object = 37, + sym_object_elem = 38, + sym_index = 39, + sym_get_attr = 40, + sym_splat = 41, + sym_attr_splat = 42, + sym_full_splat = 43, + sym_for_expr = 44, + sym_for_tuple_expr = 45, + sym_for_object_expr = 46, + sym_for_intro = 47, + sym_for_cond = 48, + sym_variable_expr = 49, + sym_function_call = 50, + sym_function_arguments = 51, + sym_conditional = 52, + aux_sym_body_repeat1 = 53, + aux_sym_block_repeat1 = 54, + aux_sym_tuple_repeat1 = 55, + aux_sym_object_repeat1 = 56, + aux_sym_attr_splat_repeat1 = 57, + aux_sym_full_splat_repeat1 = 58, }; static const char * const ts_symbol_names[] = { @@ -100,6 +102,7 @@ static const char * const ts_symbol_names[] = { [anon_sym_in] = "in", [anon_sym_if] = "if", [sym_ellipsis] = "ellipsis", + [anon_sym_QMARK] = "\?", [sym_comment] = "comment", [sym_config_file] = "config_file", [sym_body] = "body", @@ -127,6 +130,7 @@ static const char * const ts_symbol_names[] = { [sym_variable_expr] = "variable_expr", [sym_function_call] = "function_call", [sym_function_arguments] = "function_arguments", + [sym_conditional] = "conditional", [aux_sym_body_repeat1] = "body_repeat1", [aux_sym_block_repeat1] = "block_repeat1", [aux_sym_tuple_repeat1] = "tuple_repeat1", @@ -160,6 +164,7 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_in] = anon_sym_in, [anon_sym_if] = anon_sym_if, [sym_ellipsis] = sym_ellipsis, + [anon_sym_QMARK] = anon_sym_QMARK, [sym_comment] = sym_comment, [sym_config_file] = sym_config_file, [sym_body] = sym_body, @@ -187,6 +192,7 @@ static const TSSymbol ts_symbol_map[] = { [sym_variable_expr] = sym_variable_expr, [sym_function_call] = sym_function_call, [sym_function_arguments] = sym_function_arguments, + [sym_conditional] = sym_conditional, [aux_sym_body_repeat1] = aux_sym_body_repeat1, [aux_sym_block_repeat1] = aux_sym_block_repeat1, [aux_sym_tuple_repeat1] = aux_sym_tuple_repeat1, @@ -292,6 +298,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [anon_sym_QMARK] = { + .visible = true, + .named = false, + }, [sym_comment] = { .visible = true, .named = true, @@ -400,6 +410,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_conditional] = { + .visible = true, + .named = true, + }, [aux_sym_body_repeat1] = { .visible = false, .named = false, @@ -1999,84 +2013,87 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(28); - if (lookahead == '"') ADVANCE(51); + if (eof) ADVANCE(27); + if (lookahead == '"') ADVANCE(50); if (lookahead == '#') ADVANCE(79); - if (lookahead == '(') ADVANCE(46); - if (lookahead == ')') ADVANCE(47); - if (lookahead == '*') ADVANCE(70); - if (lookahead == ',') ADVANCE(65); - if (lookahead == '.') ADVANCE(69); + if (lookahead == '(') ADVANCE(45); + if (lookahead == ')') ADVANCE(46); + if (lookahead == '*') ADVANCE(69); + if (lookahead == ',') ADVANCE(64); + if (lookahead == '.') ADVANCE(68); if (lookahead == '/') ADVANCE(4); - if (lookahead == ':') ADVANCE(67); - if (lookahead == '=') ADVANCE(30); - if (lookahead == '[') ADVANCE(64); - if (lookahead == ']') ADVANCE(66); + if (lookahead == ':') ADVANCE(66); + if (lookahead == '=') ADVANCE(29); + if (lookahead == '?') ADVANCE(76); + if (lookahead == '[') ADVANCE(63); + if (lookahead == ']') ADVANCE(65); if (lookahead == 'f') ADVANCE(9); if (lookahead == 'i') ADVANCE(12); if (lookahead == 'n') ADVANCE(20); if (lookahead == 't') ADVANCE(17); - if (lookahead == '{') ADVANCE(31); - if (lookahead == '}') ADVANCE(32); + if (lookahead == '{') ADVANCE(30); + if (lookahead == '}') ADVANCE(31); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); END_STATE(); case 1: - if (lookahead == '"') ADVANCE(51); + if (lookahead == '"') ADVANCE(50); if (lookahead == '#') ADVANCE(79); - if (lookahead == '(') ADVANCE(46); - if (lookahead == ')') ADVANCE(47); - if (lookahead == '*') ADVANCE(70); + if (lookahead == '(') ADVANCE(45); + if (lookahead == ')') ADVANCE(46); + if (lookahead == '*') ADVANCE(69); if (lookahead == '/') ADVANCE(4); if (lookahead == '=') ADVANCE(8); - if (lookahead == '[') ADVANCE(64); - if (lookahead == 'f') ADVANCE(34); - if (lookahead == 'n') ADVANCE(44); - if (lookahead == 't') ADVANCE(41); - if (lookahead == '{') ADVANCE(31); + if (lookahead == '?') ADVANCE(76); + if (lookahead == '[') ADVANCE(63); + if (lookahead == 'f') ADVANCE(33); + if (lookahead == 'n') ADVANCE(43); + if (lookahead == 't') ADVANCE(40); + if (lookahead == '{') ADVANCE(30); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(1) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(44); END_STATE(); case 2: - if (lookahead == '"') ADVANCE(51); + if (lookahead == '"') ADVANCE(50); if (lookahead == '#') ADVANCE(79); - if (lookahead == '(') ADVANCE(46); - if (lookahead == '.') ADVANCE(68); + if (lookahead == '(') ADVANCE(45); + if (lookahead == '.') ADVANCE(67); if (lookahead == '/') ADVANCE(4); - if (lookahead == ':') ADVANCE(67); - if (lookahead == '=') ADVANCE(29); - if (lookahead == '[') ADVANCE(64); - if (lookahead == ']') ADVANCE(66); - if (lookahead == 'f') ADVANCE(33); - if (lookahead == 'n') ADVANCE(44); - if (lookahead == 't') ADVANCE(41); - if (lookahead == '{') ADVANCE(31); - if (lookahead == '}') ADVANCE(32); + if (lookahead == ':') ADVANCE(66); + if (lookahead == '=') ADVANCE(28); + if (lookahead == '?') ADVANCE(76); + if (lookahead == '[') ADVANCE(63); + if (lookahead == ']') ADVANCE(65); + if (lookahead == 'f') ADVANCE(32); + if (lookahead == 'n') ADVANCE(43); + if (lookahead == 't') ADVANCE(40); + if (lookahead == '{') ADVANCE(30); + if (lookahead == '}') ADVANCE(31); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(2) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(45); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(44); END_STATE(); case 3: - if (lookahead == '"') ADVANCE(51); + if (lookahead == '"') ADVANCE(50); if (lookahead == '#') ADVANCE(79); if (lookahead == '/') ADVANCE(4); - if (lookahead == '=') ADVANCE(29); - if (lookahead == '{') ADVANCE(31); + if (lookahead == '=') ADVANCE(28); + if (lookahead == '{') ADVANCE(30); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(3) - if (sym_identifier_character_set_1(lookahead)) ADVANCE(45); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(44); END_STATE(); case 4: if (lookahead == '*') ADVANCE(6); @@ -2092,36 +2109,36 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (lookahead != 0) ADVANCE(6); END_STATE(); case 7: - if (lookahead == '.') ADVANCE(76); + if (lookahead == '.') ADVANCE(75); END_STATE(); case 8: - if (lookahead == '>') ADVANCE(71); + if (lookahead == '>') ADVANCE(70); END_STATE(); case 9: if (lookahead == 'a') ADVANCE(13); if (lookahead == 'o') ADVANCE(16); END_STATE(); case 10: - if (lookahead == 'e') ADVANCE(58); + if (lookahead == 'e') ADVANCE(57); END_STATE(); case 11: - if (lookahead == 'e') ADVANCE(60); + if (lookahead == 'e') ADVANCE(59); END_STATE(); case 12: - if (lookahead == 'f') ADVANCE(75); - if (lookahead == 'n') ADVANCE(74); + if (lookahead == 'f') ADVANCE(74); + if (lookahead == 'n') ADVANCE(73); END_STATE(); case 13: if (lookahead == 'l') ADVANCE(18); END_STATE(); case 14: - if (lookahead == 'l') ADVANCE(62); + if (lookahead == 'l') ADVANCE(61); END_STATE(); case 15: if (lookahead == 'l') ADVANCE(14); END_STATE(); case 16: - if (lookahead == 'r') ADVANCE(72); + if (lookahead == 'r') ADVANCE(71); END_STATE(); case 17: if (lookahead == 'r') ADVANCE(19); @@ -2138,288 +2155,274 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 21: if (lookahead == '+' || lookahead == '-') ADVANCE(23); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); - END_STATE(); - case 22: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); END_STATE(); + case 22: + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); + END_STATE(); case 23: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); END_STATE(); case 24: if (lookahead != 0 && - lookahead != '*') ADVANCE(56); - if (lookahead == '*') ADVANCE(55); + lookahead != '*') ADVANCE(55); + if (lookahead == '*') ADVANCE(54); END_STATE(); case 25: - if (lookahead != 0) ADVANCE(57); + if (lookahead != 0) ADVANCE(56); END_STATE(); case 26: - if (eof) ADVANCE(28); - if (lookahead == '"') ADVANCE(51); + if (eof) ADVANCE(27); + if (lookahead == '"') ADVANCE(50); if (lookahead == '#') ADVANCE(79); - if (lookahead == ')') ADVANCE(47); - if (lookahead == '*') ADVANCE(70); - if (lookahead == ',') ADVANCE(65); - if (lookahead == '.') ADVANCE(69); + if (lookahead == '(') ADVANCE(45); + if (lookahead == ')') ADVANCE(46); + if (lookahead == '*') ADVANCE(69); + if (lookahead == ',') ADVANCE(64); + if (lookahead == '.') ADVANCE(68); if (lookahead == '/') ADVANCE(4); - if (lookahead == ':') ADVANCE(67); - if (lookahead == '=') ADVANCE(30); - if (lookahead == '[') ADVANCE(64); - if (lookahead == ']') ADVANCE(66); - if (lookahead == '{') ADVANCE(31); - if (lookahead == '}') ADVANCE(32); + if (lookahead == ':') ADVANCE(66); + if (lookahead == '=') ADVANCE(29); + if (lookahead == '?') ADVANCE(76); + if (lookahead == '[') ADVANCE(63); + if (lookahead == ']') ADVANCE(65); + if (lookahead == '{') ADVANCE(30); + if (lookahead == '}') ADVANCE(31); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(26) - if (sym_identifier_character_set_1(lookahead)) ADVANCE(45); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(44); END_STATE(); case 27: - if (eof) ADVANCE(28); - if (lookahead == '#') ADVANCE(79); - if (lookahead == '(') ADVANCE(46); - if (lookahead == ')') ADVANCE(47); - if (lookahead == ',') ADVANCE(65); - if (lookahead == '.') ADVANCE(69); - if (lookahead == '/') ADVANCE(4); - if (lookahead == ':') ADVANCE(67); - if (lookahead == '=') ADVANCE(8); - if (lookahead == '[') ADVANCE(64); - if (lookahead == ']') ADVANCE(66); - if (lookahead == '}') ADVANCE(32); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(27) - if (sym_identifier_character_set_1(lookahead)) ADVANCE(45); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 28: - ACCEPT_TOKEN(ts_builtin_sym_end); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 29: ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '>') ADVANCE(70); END_STATE(); case 30: - ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '>') ADVANCE(71); - END_STATE(); - case 31: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); - case 32: + case 31: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); + case 32: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(36); + if (lookahead == 'o') ADVANCE(39); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(44); + END_STATE(); case 33: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(37); - if (lookahead == 'o') ADVANCE(40); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(45); + if (lookahead == 'a') ADVANCE(36); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(44); END_STATE(); case 34: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(37); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(45); + if (lookahead == 'e') ADVANCE(58); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 35: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(59); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + if (lookahead == 'e') ADVANCE(60); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 36: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(61); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + if (lookahead == 'l') ADVANCE(41); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 37: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(42); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + if (lookahead == 'l') ADVANCE(62); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 38: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(63); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + if (lookahead == 'l') ADVANCE(37); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 39: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(38); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + if (lookahead == 'r') ADVANCE(72); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 40: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(73); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + if (lookahead == 'r') ADVANCE(42); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 41: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(43); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + if (lookahead == 's') ADVANCE(35); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 42: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(36); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + if (lookahead == 'u') ADVANCE(34); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 43: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(35); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + if (lookahead == 'u') ADVANCE(38); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 44: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(39); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 45: - ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); - END_STATE(); - case 46: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); - case 47: + case 46: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); + case 47: + ACCEPT_TOKEN(sym_numeric_lit); + if (lookahead == '.') ADVANCE(22); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); + END_STATE(); case 48: ACCEPT_TOKEN(sym_numeric_lit); - if (lookahead == '.') ADVANCE(22); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(21); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); END_STATE(); case 49: ACCEPT_TOKEN(sym_numeric_lit); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(21); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); END_STATE(); case 50: - ACCEPT_TOKEN(sym_numeric_lit); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); - END_STATE(); - case 51: ACCEPT_TOKEN(anon_sym_DQUOTE); END_STATE(); - case 52: + case 51: ACCEPT_TOKEN(aux_sym_string_lit_token1); if (lookahead == '"') ADVANCE(79); if (lookahead == '\\') ADVANCE(78); if (lookahead != 0 && - lookahead != '\n') ADVANCE(52); + lookahead != '\n') ADVANCE(51); END_STATE(); - case 53: + case 52: ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == '#') ADVANCE(52); - if (lookahead == '/') ADVANCE(54); + if (lookahead == '#') ADVANCE(51); + if (lookahead == '/') ADVANCE(53); if (lookahead == '\\') ADVANCE(25); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(53); + lookahead == ' ') ADVANCE(52); if (lookahead != 0 && lookahead != '\n' && - lookahead != '"') ADVANCE(57); + lookahead != '"') ADVANCE(56); + END_STATE(); + case 53: + ACCEPT_TOKEN(aux_sym_string_lit_token1); + if (lookahead == '*') ADVANCE(55); + if (lookahead == '/') ADVANCE(51); + if (lookahead == '\\') ADVANCE(25); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"') ADVANCE(56); END_STATE(); case 54: ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == '*') ADVANCE(56); - if (lookahead == '/') ADVANCE(52); - if (lookahead == '\\') ADVANCE(25); - if (lookahead != 0 && - lookahead != '\n' && - lookahead != '"') ADVANCE(57); + if (lookahead == '*') ADVANCE(54); + if (lookahead == '/') ADVANCE(56); + if (lookahead == '\\') ADVANCE(24); + if (lookahead == '\n' || + lookahead == '"') ADVANCE(6); + if (lookahead != 0) ADVANCE(55); END_STATE(); case 55: ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == '*') ADVANCE(55); - if (lookahead == '/') ADVANCE(57); + if (lookahead == '*') ADVANCE(54); if (lookahead == '\\') ADVANCE(24); if (lookahead == '\n' || lookahead == '"') ADVANCE(6); - if (lookahead != 0) ADVANCE(56); + if (lookahead != 0) ADVANCE(55); END_STATE(); case 56: - ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == '*') ADVANCE(55); - if (lookahead == '\\') ADVANCE(24); - if (lookahead == '\n' || - lookahead == '"') ADVANCE(6); - if (lookahead != 0) ADVANCE(56); - END_STATE(); - case 57: ACCEPT_TOKEN(aux_sym_string_lit_token1); if (lookahead == '\\') ADVANCE(25); if (lookahead != 0 && lookahead != '\n' && - lookahead != '"') ADVANCE(57); + lookahead != '"') ADVANCE(56); + END_STATE(); + case 57: + ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 58: ACCEPT_TOKEN(anon_sym_true); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 59: - ACCEPT_TOKEN(anon_sym_true); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 60: ACCEPT_TOKEN(anon_sym_false); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 61: - ACCEPT_TOKEN(anon_sym_false); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + ACCEPT_TOKEN(sym_null_lit); END_STATE(); case 62: ACCEPT_TOKEN(sym_null_lit); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 63: - ACCEPT_TOKEN(sym_null_lit); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); - END_STATE(); - case 64: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); - case 65: + case 64: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 66: + case 65: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 67: + case 66: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); + case 67: + ACCEPT_TOKEN(anon_sym_DOT); + END_STATE(); case 68: - ACCEPT_TOKEN(anon_sym_DOT); - END_STATE(); - case 69: ACCEPT_TOKEN(anon_sym_DOT); if (lookahead == '.') ADVANCE(7); END_STATE(); - case 70: + case 69: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); - case 71: + case 70: ACCEPT_TOKEN(anon_sym_EQ_GT); END_STATE(); + case 71: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); case 72: ACCEPT_TOKEN(anon_sym_for); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(44); END_STATE(); case 73: - ACCEPT_TOKEN(anon_sym_for); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); - END_STATE(); - case 74: ACCEPT_TOKEN(anon_sym_in); END_STATE(); - case 75: + case 74: ACCEPT_TOKEN(anon_sym_if); END_STATE(); - case 76: + case 75: ACCEPT_TOKEN(sym_ellipsis); END_STATE(); + case 76: + ACCEPT_TOKEN(anon_sym_QMARK); + END_STATE(); case 77: ACCEPT_TOKEN(sym_comment); END_STATE(); case 78: ACCEPT_TOKEN(sym_comment); - if (lookahead == '\n') ADVANCE(57); - if (lookahead != 0) ADVANCE(52); + if (lookahead == '\n') ADVANCE(56); + if (lookahead != 0) ADVANCE(51); END_STATE(); case 79: ACCEPT_TOKEN(sym_comment); @@ -2461,10 +2464,10 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [26] = {.lex_state = 1}, [27] = {.lex_state = 1}, [28] = {.lex_state = 1}, - [29] = {.lex_state = 26}, - [30] = {.lex_state = 26}, - [31] = {.lex_state = 26}, - [32] = {.lex_state = 26}, + [29] = {.lex_state = 1}, + [30] = {.lex_state = 1}, + [31] = {.lex_state = 1}, + [32] = {.lex_state = 1}, [33] = {.lex_state = 26}, [34] = {.lex_state = 26}, [35] = {.lex_state = 26}, @@ -2486,118 +2489,128 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [51] = {.lex_state = 26}, [52] = {.lex_state = 26}, [53] = {.lex_state = 26}, - [54] = {.lex_state = 27}, + [54] = {.lex_state = 26}, [55] = {.lex_state = 26}, [56] = {.lex_state = 26}, [57] = {.lex_state = 26}, [58] = {.lex_state = 26}, [59] = {.lex_state = 26}, [60] = {.lex_state = 26}, - [61] = {.lex_state = 0}, - [62] = {.lex_state = 0}, - [63] = {.lex_state = 0}, - [64] = {.lex_state = 1}, - [65] = {.lex_state = 1}, - [66] = {.lex_state = 0}, - [67] = {.lex_state = 0}, + [61] = {.lex_state = 26}, + [62] = {.lex_state = 26}, + [63] = {.lex_state = 26}, + [64] = {.lex_state = 26}, + [65] = {.lex_state = 0}, + [66] = {.lex_state = 26}, + [67] = {.lex_state = 26}, [68] = {.lex_state = 0}, [69] = {.lex_state = 0}, [70] = {.lex_state = 0}, [71] = {.lex_state = 0}, [72] = {.lex_state = 0}, [73] = {.lex_state = 0}, - [74] = {.lex_state = 0}, - [75] = {.lex_state = 0}, + [74] = {.lex_state = 1}, + [75] = {.lex_state = 1}, [76] = {.lex_state = 0}, [77] = {.lex_state = 0}, - [78] = {.lex_state = 26}, + [78] = {.lex_state = 0}, [79] = {.lex_state = 0}, [80] = {.lex_state = 0}, - [81] = {.lex_state = 26}, + [81] = {.lex_state = 0}, [82] = {.lex_state = 0}, [83] = {.lex_state = 0}, - [84] = {.lex_state = 3}, + [84] = {.lex_state = 0}, [85] = {.lex_state = 0}, [86] = {.lex_state = 0}, [87] = {.lex_state = 0}, [88] = {.lex_state = 0}, [89] = {.lex_state = 0}, - [90] = {.lex_state = 26}, + [90] = {.lex_state = 0}, [91] = {.lex_state = 0}, [92] = {.lex_state = 0}, [93] = {.lex_state = 0}, [94] = {.lex_state = 0}, [95] = {.lex_state = 0}, - [96] = {.lex_state = 26}, + [96] = {.lex_state = 0}, [97] = {.lex_state = 0}, [98] = {.lex_state = 0}, [99] = {.lex_state = 0}, - [100] = {.lex_state = 26}, + [100] = {.lex_state = 0}, [101] = {.lex_state = 2}, - [102] = {.lex_state = 0}, + [102] = {.lex_state = 26}, [103] = {.lex_state = 26}, - [104] = {.lex_state = 0}, - [105] = {.lex_state = 0}, - [106] = {.lex_state = 0}, + [104] = {.lex_state = 3}, + [105] = {.lex_state = 26}, + [106] = {.lex_state = 26}, [107] = {.lex_state = 0}, [108] = {.lex_state = 0}, [109] = {.lex_state = 26}, [110] = {.lex_state = 0}, - [111] = {.lex_state = 26}, + [111] = {.lex_state = 0}, [112] = {.lex_state = 0}, [113] = {.lex_state = 0}, [114] = {.lex_state = 0}, - [115] = {.lex_state = 0}, + [115] = {.lex_state = 26}, [116] = {.lex_state = 0}, - [117] = {.lex_state = 0}, + [117] = {.lex_state = 26}, [118] = {.lex_state = 0}, [119] = {.lex_state = 0}, - [120] = {.lex_state = 26}, + [120] = {.lex_state = 0}, [121] = {.lex_state = 0}, [122] = {.lex_state = 0}, [123] = {.lex_state = 0}, [124] = {.lex_state = 26}, [125] = {.lex_state = 0}, [126] = {.lex_state = 0}, - [127] = {.lex_state = 0}, - [128] = {.lex_state = 2}, - [129] = {.lex_state = 26}, + [127] = {.lex_state = 26}, + [128] = {.lex_state = 0}, + [129] = {.lex_state = 0}, [130] = {.lex_state = 0}, - [131] = {.lex_state = 26}, + [131] = {.lex_state = 0}, [132] = {.lex_state = 0}, [133] = {.lex_state = 0}, - [134] = {.lex_state = 0}, + [134] = {.lex_state = 2}, [135] = {.lex_state = 0}, - [136] = {.lex_state = 0}, - [137] = {.lex_state = 26}, - [138] = {.lex_state = 0}, + [136] = {.lex_state = 26}, + [137] = {.lex_state = 0}, + [138] = {.lex_state = 1}, [139] = {.lex_state = 0}, - [140] = {.lex_state = 26}, + [140] = {.lex_state = 0}, [141] = {.lex_state = 0}, [142] = {.lex_state = 0}, [143] = {.lex_state = 0}, [144] = {.lex_state = 0}, [145] = {.lex_state = 0}, [146] = {.lex_state = 0}, - [147] = {.lex_state = 0}, - [148] = {.lex_state = 0}, - [149] = {.lex_state = 1}, - [150] = {.lex_state = 0}, - [151] = {.lex_state = 0}, + [147] = {.lex_state = 26}, + [148] = {.lex_state = 1}, + [149] = {.lex_state = 0}, + [150] = {.lex_state = 26}, + [151] = {.lex_state = 26}, [152] = {.lex_state = 0}, [153] = {.lex_state = 0}, [154] = {.lex_state = 0}, - [155] = {.lex_state = 26}, + [155] = {.lex_state = 0}, [156] = {.lex_state = 0}, [157] = {.lex_state = 0}, - [158] = {.lex_state = 0}, - [159] = {.lex_state = 53}, - [160] = {.lex_state = 53}, + [158] = {.lex_state = 26}, + [159] = {.lex_state = 0}, + [160] = {.lex_state = 0}, [161] = {.lex_state = 0}, - [162] = {.lex_state = 26}, + [162] = {.lex_state = 0}, [163] = {.lex_state = 0}, - [164] = {.lex_state = 1}, + [164] = {.lex_state = 0}, [165] = {.lex_state = 0}, + [166] = {.lex_state = 0}, + [167] = {.lex_state = 0}, + [168] = {.lex_state = 52}, + [169] = {.lex_state = 26}, + [170] = {.lex_state = 52}, + [171] = {.lex_state = 0}, + [172] = {.lex_state = 26}, + [173] = {.lex_state = 0}, + [174] = {.lex_state = 0}, + [175] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2624,21 +2637,22 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_in] = ACTIONS(1), [anon_sym_if] = ACTIONS(1), [sym_ellipsis] = ACTIONS(1), + [anon_sym_QMARK] = ACTIONS(1), [sym_comment] = ACTIONS(3), }, [1] = { - [sym_config_file] = STATE(165), - [sym_body] = STATE(163), - [sym_attribute] = STATE(81), - [sym_block] = STATE(81), - [aux_sym_body_repeat1] = STATE(81), + [sym_config_file] = STATE(175), + [sym_body] = STATE(173), + [sym_attribute] = STATE(102), + [sym_block] = STATE(102), + [aux_sym_body_repeat1] = STATE(102), [sym_identifier] = ACTIONS(5), [sym_comment] = ACTIONS(3), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 19, + [0] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2659,33 +2673,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_for, - STATE(28), 1, + STATE(23), 1, sym_for_intro, - STATE(29), 1, + STATE(33), 1, sym_expr_term, - STATE(112), 1, + STATE(67), 1, + sym_conditional, + STATE(125), 1, sym_object_elem, - STATE(128), 1, + STATE(134), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [66] = 19, + [69] = 20, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2706,33 +2722,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(27), 1, anon_sym_RBRACE, - STATE(20), 1, + STATE(32), 1, sym_for_intro, - STATE(29), 1, + STATE(33), 1, sym_expr_term, - STATE(113), 1, + STATE(67), 1, + sym_conditional, + STATE(132), 1, sym_object_elem, - STATE(128), 1, + STATE(134), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [132] = 18, + [138] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2753,31 +2771,33 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(31), 1, anon_sym_RBRACK, - STATE(25), 1, + STATE(20), 1, sym_for_intro, - STATE(29), 1, + STATE(33), 1, sym_expr_term, - STATE(123), 1, + STATE(67), 1, + sym_conditional, + STATE(120), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [195] = 18, + [204] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2798,31 +2818,33 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(33), 1, anon_sym_RBRACK, - STATE(21), 1, + STATE(31), 1, sym_for_intro, - STATE(29), 1, + STATE(33), 1, sym_expr_term, - STATE(117), 1, + STATE(67), 1, + sym_conditional, + STATE(118), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [258] = 17, + [270] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2841,31 +2863,33 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(35), 1, anon_sym_RPAREN, - STATE(29), 1, + STATE(33), 1, sym_expr_term, + STATE(67), 1, + sym_conditional, STATE(107), 1, sym_expression, - STATE(147), 1, + STATE(165), 1, sym_function_arguments, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [318] = 17, + [333] = 18, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2884,72 +2908,33 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(37), 1, anon_sym_RPAREN, - STATE(29), 1, + STATE(33), 1, sym_expr_term, + STATE(67), 1, + sym_conditional, STATE(107), 1, sym_expression, - STATE(148), 1, + STATE(156), 1, sym_function_arguments, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [378] = 16, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(11), 1, - sym_identifier, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - STATE(29), 1, - sym_expr_term, - STATE(127), 1, - sym_object_elem, - STATE(128), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, - sym_string_lit, - sym_bool_lit, - STATE(53), 2, - sym_tuple, - sym_object, - STATE(50), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [435] = 16, + [396] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2968,29 +2953,74 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(39), 1, anon_sym_STAR, - STATE(29), 1, + STATE(33), 1, sym_expr_term, - STATE(152), 1, + STATE(67), 1, + sym_conditional, + STATE(143), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [492] = 16, + [456] = 17, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, + STATE(134), 1, + sym_expression, + STATE(137), 1, + sym_object_elem, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [516] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3008,30 +3038,32 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(29), 1, sym_identifier, ACTIONS(41), 1, - anon_sym_RPAREN, - STATE(29), 1, + anon_sym_STAR, + STATE(33), 1, sym_expr_term, - STATE(105), 1, + STATE(67), 1, + sym_conditional, + STATE(139), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [549] = 16, + [576] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3049,30 +3081,32 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(29), 1, sym_identifier, ACTIONS(43), 1, - anon_sym_STAR, - STATE(29), 1, + anon_sym_RPAREN, + STATE(33), 1, sym_expr_term, - STATE(143), 1, + STATE(67), 1, + sym_conditional, + STATE(112), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [606] = 16, + [636] = 17, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3091,107 +3125,31 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(45), 1, anon_sym_RPAREN, - STATE(29), 1, + STATE(33), 1, sym_expr_term, - STATE(105), 1, + STATE(67), 1, + sym_conditional, + STATE(112), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [663] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(29), 1, - sym_identifier, - STATE(29), 1, - sym_expr_term, - STATE(132), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, - sym_string_lit, - sym_bool_lit, - STATE(53), 2, - sym_tuple, - sym_object, - STATE(50), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [717] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(29), 1, - sym_identifier, - STATE(29), 1, - sym_expr_term, - STATE(120), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, - sym_string_lit, - sym_bool_lit, - STATE(53), 2, - sym_tuple, - sym_object, - STATE(50), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [771] = 15, + [696] = 16, ACTIONS(3), 1, sym_comment, ACTIONS(47), 1, @@ -3208,419 +3166,31 @@ static const uint16_t ts_small_parse_table[] = { sym_null_lit, ACTIONS(61), 1, anon_sym_LBRACK, - STATE(61), 1, - sym_expr_term, - STATE(108), 1, - sym_expression, - ACTIONS(57), 2, - anon_sym_true, - anon_sym_false, - STATE(71), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(92), 2, - sym_tuple, - sym_object, - STATE(95), 2, - sym_string_lit, - sym_bool_lit, - STATE(93), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [825] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(29), 1, - sym_identifier, - STATE(29), 1, - sym_expr_term, - STATE(146), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, - sym_string_lit, - sym_bool_lit, - STATE(53), 2, - sym_tuple, - sym_object, - STATE(50), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [879] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(47), 1, - anon_sym_LBRACE, - ACTIONS(49), 1, - sym_identifier, - ACTIONS(51), 1, - anon_sym_LPAREN, - ACTIONS(53), 1, - sym_numeric_lit, - ACTIONS(55), 1, - anon_sym_DQUOTE, - ACTIONS(59), 1, - sym_null_lit, - ACTIONS(61), 1, - anon_sym_LBRACK, - STATE(61), 1, - sym_expr_term, - STATE(106), 1, - sym_expression, - ACTIONS(57), 2, - anon_sym_true, - anon_sym_false, - STATE(71), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(92), 2, - sym_tuple, - sym_object, - STATE(95), 2, - sym_string_lit, - sym_bool_lit, - STATE(93), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [933] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(29), 1, - sym_identifier, - STATE(29), 1, - sym_expr_term, - STATE(156), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, - sym_string_lit, - sym_bool_lit, - STATE(53), 2, - sym_tuple, - sym_object, - STATE(50), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [987] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(29), 1, - sym_identifier, - STATE(29), 1, - sym_expr_term, - STATE(143), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, - sym_string_lit, - sym_bool_lit, - STATE(53), 2, - sym_tuple, - sym_object, - STATE(50), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [1041] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(29), 1, - sym_identifier, - STATE(29), 1, - sym_expr_term, - STATE(164), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, - sym_string_lit, - sym_bool_lit, - STATE(53), 2, - sym_tuple, - sym_object, - STATE(50), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [1095] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(47), 1, - anon_sym_LBRACE, - ACTIONS(49), 1, - sym_identifier, - ACTIONS(51), 1, - anon_sym_LPAREN, - ACTIONS(53), 1, - sym_numeric_lit, - ACTIONS(55), 1, - anon_sym_DQUOTE, - ACTIONS(59), 1, - sym_null_lit, - ACTIONS(61), 1, - anon_sym_LBRACK, - STATE(61), 1, - sym_expr_term, - STATE(115), 1, - sym_expression, - ACTIONS(57), 2, - anon_sym_true, - anon_sym_false, - STATE(71), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(92), 2, - sym_tuple, - sym_object, - STATE(95), 2, - sym_string_lit, - sym_bool_lit, - STATE(93), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [1149] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(29), 1, - sym_identifier, - STATE(29), 1, - sym_expr_term, - STATE(152), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, - sym_string_lit, - sym_bool_lit, - STATE(53), 2, - sym_tuple, - sym_object, - STATE(50), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [1203] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(29), 1, - sym_identifier, - STATE(29), 1, - sym_expr_term, - STATE(144), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, - sym_string_lit, - sym_bool_lit, - STATE(53), 2, - sym_tuple, - sym_object, - STATE(50), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [1257] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(29), 1, - sym_identifier, - STATE(29), 1, - sym_expr_term, - STATE(135), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, - sym_string_lit, - sym_bool_lit, - STATE(53), 2, - sym_tuple, - sym_object, - STATE(50), 5, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - [1311] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(47), 1, - anon_sym_LBRACE, - ACTIONS(49), 1, - sym_identifier, - ACTIONS(51), 1, - anon_sym_LPAREN, - ACTIONS(53), 1, - sym_numeric_lit, - ACTIONS(55), 1, - anon_sym_DQUOTE, - ACTIONS(59), 1, - sym_null_lit, - ACTIONS(61), 1, - anon_sym_LBRACK, - STATE(61), 1, + STATE(65), 1, sym_expr_term, STATE(110), 1, sym_expression, + STATE(114), 1, + sym_conditional, ACTIONS(57), 2, anon_sym_true, anon_sym_false, - STATE(71), 2, + STATE(82), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(92), 2, + STATE(83), 2, sym_tuple, sym_object, - STATE(95), 2, + STATE(86), 2, sym_string_lit, sym_bool_lit, - STATE(93), 5, + STATE(84), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [1365] = 15, + [753] = 16, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3637,29 +3207,72 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(29), 1, sym_identifier, - STATE(29), 1, + STATE(33), 1, sym_expr_term, + STATE(67), 1, + sym_conditional, + STATE(140), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [810] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, STATE(126), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [1419] = 15, + [867] = 16, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3676,29 +3289,31 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(29), 1, sym_identifier, - STATE(29), 1, + STATE(33), 1, sym_expr_term, - STATE(105), 1, + STATE(67), 1, + sym_conditional, + STATE(145), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [1473] = 15, + [924] = 16, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -3715,29 +3330,646 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(29), 1, sym_identifier, - STATE(29), 1, + STATE(33), 1, sym_expr_term, + STATE(66), 1, + sym_expression, + STATE(67), 1, + sym_conditional, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [981] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym_LBRACE, + ACTIONS(49), 1, + sym_identifier, + ACTIONS(51), 1, + anon_sym_LPAREN, + ACTIONS(53), 1, + sym_numeric_lit, + ACTIONS(55), 1, + anon_sym_DQUOTE, + ACTIONS(59), 1, + sym_null_lit, + ACTIONS(61), 1, + anon_sym_LBRACK, + STATE(65), 1, + sym_expr_term, + STATE(113), 1, + sym_expression, + STATE(114), 1, + sym_conditional, + ACTIONS(57), 2, + anon_sym_true, + anon_sym_false, + STATE(82), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(83), 2, + sym_tuple, + sym_object, + STATE(86), 2, + sym_string_lit, + sym_bool_lit, + STATE(84), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1038] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, + STATE(141), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1095] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym_LBRACE, + ACTIONS(49), 1, + sym_identifier, + ACTIONS(51), 1, + anon_sym_LPAREN, + ACTIONS(53), 1, + sym_numeric_lit, + ACTIONS(55), 1, + anon_sym_DQUOTE, + ACTIONS(59), 1, + sym_null_lit, + ACTIONS(61), 1, + anon_sym_LBRACK, + STATE(65), 1, + sym_expr_term, + STATE(114), 1, + sym_conditional, + STATE(116), 1, + sym_expression, + ACTIONS(57), 2, + anon_sym_true, + anon_sym_false, + STATE(82), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(83), 2, + sym_tuple, + sym_object, + STATE(86), 2, + sym_string_lit, + sym_bool_lit, + STATE(84), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1152] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, + STATE(129), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1209] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, + STATE(144), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1266] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, + STATE(148), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1323] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, + STATE(142), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1380] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, + STATE(139), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1437] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, STATE(149), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(49), 2, + STATE(45), 2, sym_string_lit, sym_bool_lit, - STATE(53), 2, + STATE(52), 2, sym_tuple, sym_object, - STATE(50), 5, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, - [1527] = 7, + [1494] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, + STATE(143), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1551] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, + STATE(117), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1608] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, + STATE(112), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1665] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym_LBRACE, + ACTIONS(49), 1, + sym_identifier, + ACTIONS(51), 1, + anon_sym_LPAREN, + ACTIONS(53), 1, + sym_numeric_lit, + ACTIONS(55), 1, + anon_sym_DQUOTE, + ACTIONS(59), 1, + sym_null_lit, + ACTIONS(61), 1, + anon_sym_LBRACK, + STATE(65), 1, + sym_expr_term, + STATE(108), 1, + sym_expression, + STATE(114), 1, + sym_conditional, + ACTIONS(57), 2, + anon_sym_true, + anon_sym_false, + STATE(82), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(83), 2, + sym_tuple, + sym_object, + STATE(86), 2, + sym_string_lit, + sym_bool_lit, + STATE(84), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1722] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(47), 1, + anon_sym_LBRACE, + ACTIONS(49), 1, + sym_identifier, + ACTIONS(51), 1, + anon_sym_LPAREN, + ACTIONS(53), 1, + sym_numeric_lit, + ACTIONS(55), 1, + anon_sym_DQUOTE, + ACTIONS(59), 1, + sym_null_lit, + ACTIONS(61), 1, + anon_sym_LBRACK, + STATE(65), 1, + sym_expr_term, + STATE(114), 1, + sym_conditional, + STATE(119), 1, + sym_expression, + ACTIONS(57), 2, + anon_sym_true, + anon_sym_false, + STATE(82), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(83), 2, + sym_tuple, + sym_object, + STATE(86), 2, + sym_string_lit, + sym_bool_lit, + STATE(84), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1779] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(33), 1, + sym_expr_term, + STATE(67), 1, + sym_conditional, + STATE(138), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(45), 2, + sym_string_lit, + sym_bool_lit, + STATE(52), 2, + sym_tuple, + sym_object, + STATE(55), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(42), 5, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + [1836] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(65), 1, @@ -3746,14 +3978,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(69), 1, anon_sym_DOT, - STATE(52), 2, + STATE(63), 2, sym_attr_splat, sym_full_splat, - STATE(51), 3, + STATE(47), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(63), 9, + ACTIONS(63), 10, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -3763,7 +3995,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [1560] = 6, + anon_sym_QMARK, + [1870] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, @@ -3772,11 +4005,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(78), 1, anon_sym_DOT, - STATE(32), 3, + STATE(36), 3, sym_index, sym_get_attr, aux_sym_full_splat_repeat1, - ACTIONS(71), 9, + ACTIONS(71), 10, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -3786,7 +4019,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [1589] = 6, + anon_sym_QMARK, + [1900] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(83), 1, @@ -3795,11 +4029,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(88), 1, anon_sym_DOT, - STATE(30), 3, + STATE(34), 3, sym_index, sym_get_attr, aux_sym_full_splat_repeat1, - ACTIONS(81), 9, + ACTIONS(81), 10, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -3809,7 +4043,8 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [1618] = 6, + anon_sym_QMARK, + [1930] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(93), 1, @@ -3818,11 +4053,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(98), 1, anon_sym_DOT, - STATE(32), 3, + STATE(36), 3, sym_index, sym_get_attr, aux_sym_full_splat_repeat1, - ACTIONS(91), 9, + ACTIONS(91), 10, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -3832,13 +4067,58 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [1647] = 3, + anon_sym_QMARK, + [1960] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(103), 2, + ACTIONS(103), 1, + anon_sym_EQ, + ACTIONS(105), 1, + anon_sym_DOT, + STATE(37), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(101), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [1987] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(110), 1, + anon_sym_EQ, + ACTIONS(112), 1, + anon_sym_DOT, + STATE(40), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(108), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2014] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(117), 2, anon_sym_EQ, anon_sym_DOT, - ACTIONS(101), 12, + ACTIONS(115), 13, ts_builtin_sym_end, anon_sym_LBRACE, anon_sym_RBRACE, @@ -3851,59 +4131,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [1669] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(107), 1, - anon_sym_EQ, - ACTIONS(109), 1, - anon_sym_DOT, - STATE(35), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(105), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1695] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(114), 1, - anon_sym_EQ, - ACTIONS(116), 1, - anon_sym_DOT, - STATE(36), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(112), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1721] = 5, + anon_sym_QMARK, + [2037] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(121), 1, anon_sym_EQ, ACTIONS(123), 1, anon_sym_DOT, - STATE(36), 2, + STATE(37), 2, sym_get_attr, aux_sym_attr_splat_repeat1, - ACTIONS(119), 10, + ACTIONS(119), 11, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -3914,13 +4153,16 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [1747] = 3, + anon_sym_QMARK, + [2064] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(130), 1, + anon_sym_LPAREN, ACTIONS(128), 2, anon_sym_EQ, anon_sym_DOT, - ACTIONS(126), 10, + ACTIONS(126), 11, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -3931,286 +4173,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [1767] = 3, + anon_sym_QMARK, + [2088] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(132), 2, + ACTIONS(134), 2, anon_sym_EQ, anon_sym_DOT, - ACTIONS(130), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1787] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(136), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(134), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1807] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(140), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(138), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1827] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(144), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(142), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1847] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(148), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(146), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1867] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(152), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(150), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1887] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(156), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(154), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1907] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(160), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(158), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1927] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(164), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(162), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1947] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(166), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1967] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(172), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(170), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [1987] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(176), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(174), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [2007] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(180), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(178), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [2027] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(184), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(182), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [2047] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(188), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(186), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [2067] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(192), 2, - anon_sym_EQ, - anon_sym_DOT, - ACTIONS(190), 10, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_EQ_GT, - sym_ellipsis, - [2087] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(196), 1, - anon_sym_LPAREN, - ACTIONS(198), 1, - anon_sym_DOT, - ACTIONS(194), 10, + ACTIONS(132), 11, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -4221,13 +4191,302 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, + anon_sym_QMARK, [2109] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(138), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(136), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2130] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(142), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(140), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2151] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(146), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(144), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2172] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(150), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(148), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2193] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(154), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(152), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2214] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(158), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(156), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2235] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(162), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(160), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2256] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(166), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(164), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2277] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(170), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(168), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2298] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(174), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(172), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2319] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(178), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(176), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2340] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(182), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(180), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2361] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(186), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(184), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2382] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(190), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(188), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2403] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(194), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(192), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2424] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(198), 2, + anon_sym_EQ, + anon_sym_DOT, + ACTIONS(196), 11, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2445] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(202), 2, anon_sym_EQ, anon_sym_DOT, - ACTIONS(200), 10, + ACTIONS(200), 11, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -4238,13 +4497,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [2129] = 3, + anon_sym_QMARK, + [2466] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(206), 2, anon_sym_EQ, anon_sym_DOT, - ACTIONS(204), 10, + ACTIONS(204), 11, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -4255,13 +4515,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [2149] = 3, + anon_sym_QMARK, + [2487] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(210), 2, anon_sym_EQ, anon_sym_DOT, - ACTIONS(208), 10, + ACTIONS(208), 11, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -4272,13 +4533,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [2169] = 3, + anon_sym_QMARK, + [2508] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(214), 2, anon_sym_EQ, anon_sym_DOT, - ACTIONS(212), 10, + ACTIONS(212), 11, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -4289,13 +4551,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [2189] = 3, + anon_sym_QMARK, + [2529] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(218), 2, anon_sym_EQ, anon_sym_DOT, - ACTIONS(216), 10, + ACTIONS(216), 11, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -4306,13 +4569,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [2209] = 3, + anon_sym_QMARK, + [2550] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(222), 2, anon_sym_EQ, anon_sym_DOT, - ACTIONS(220), 10, + ACTIONS(220), 11, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -4323,1313 +4587,1471 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [2229] = 6, + anon_sym_QMARK, + [2571] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(224), 1, anon_sym_LBRACK, ACTIONS(226), 1, anon_sym_DOT, - STATE(87), 2, + STATE(100), 2, sym_attr_splat, sym_full_splat, - STATE(88), 3, + STATE(79), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(63), 4, + ACTIONS(63), 5, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_if, sym_ellipsis, - [2254] = 5, + anon_sym_QMARK, + [2597] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(228), 1, - anon_sym_LBRACK, - ACTIONS(231), 1, - anon_sym_DOT, - STATE(62), 3, - sym_index, - sym_get_attr, - aux_sym_full_splat_repeat1, - ACTIONS(91), 4, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2275] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(234), 1, - anon_sym_LBRACK, - ACTIONS(237), 1, - anon_sym_DOT, - STATE(62), 3, - sym_index, - sym_get_attr, - aux_sym_full_splat_repeat1, - ACTIONS(71), 4, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2296] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(242), 4, - sym_identifier, - anon_sym_true, - anon_sym_false, - sym_null_lit, - ACTIONS(240), 5, - anon_sym_LBRACE, - anon_sym_LPAREN, - sym_numeric_lit, - anon_sym_DQUOTE, - anon_sym_LBRACK, - [2313] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(246), 4, - sym_identifier, - anon_sym_true, - anon_sym_false, - sym_null_lit, - ACTIONS(244), 5, - anon_sym_LBRACE, - anon_sym_LPAREN, - sym_numeric_lit, - anon_sym_DQUOTE, - anon_sym_LBRACK, - [2330] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(248), 1, - anon_sym_LBRACK, - ACTIONS(251), 1, - anon_sym_DOT, - STATE(63), 3, - sym_index, - sym_get_attr, - aux_sym_full_splat_repeat1, - ACTIONS(81), 4, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2351] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(254), 1, - anon_sym_DOT, - STATE(67), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(119), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2369] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(257), 1, - anon_sym_DOT, - STATE(67), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(112), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2387] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(260), 1, - anon_sym_DOT, - STATE(68), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(105), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2405] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(198), 1, - anon_sym_DOT, - ACTIONS(263), 1, - anon_sym_LPAREN, - ACTIONS(194), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2422] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(132), 1, - anon_sym_DOT, - ACTIONS(130), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2436] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(172), 1, - anon_sym_DOT, - ACTIONS(170), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2450] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(210), 1, - anon_sym_DOT, - ACTIONS(208), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2464] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(136), 1, - anon_sym_DOT, - ACTIONS(134), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2478] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(152), 1, - anon_sym_DOT, - ACTIONS(150), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2492] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(144), 1, - anon_sym_DOT, - ACTIONS(142), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2506] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(160), 1, - anon_sym_DOT, - ACTIONS(158), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2520] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(265), 1, - anon_sym_RBRACE, - STATE(154), 1, - sym_body, - STATE(81), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [2538] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(140), 1, - anon_sym_DOT, - ACTIONS(138), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2552] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(214), 1, - anon_sym_DOT, - ACTIONS(212), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2566] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(267), 2, - ts_builtin_sym_end, - anon_sym_RBRACE, - STATE(90), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [2582] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(222), 1, - anon_sym_DOT, - ACTIONS(220), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2596] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(168), 1, - anon_sym_DOT, - ACTIONS(166), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2610] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(269), 1, + ACTIONS(230), 1, anon_sym_EQ, - ACTIONS(271), 1, - anon_sym_LBRACE, - ACTIONS(273), 1, - sym_identifier, - STATE(100), 2, - sym_string_lit, - aux_sym_block_repeat1, - [2630] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(218), 1, - anon_sym_DOT, - ACTIONS(216), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2644] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(103), 1, - anon_sym_DOT, - ACTIONS(101), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2658] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(188), 1, - anon_sym_DOT, - ACTIONS(186), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2672] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(184), 1, - anon_sym_DOT, - ACTIONS(182), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2686] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(202), 1, - anon_sym_DOT, - ACTIONS(200), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2700] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(277), 1, - sym_identifier, - ACTIONS(275), 2, + ACTIONS(232), 1, + anon_sym_QMARK, + ACTIONS(228), 9, ts_builtin_sym_end, anon_sym_RBRACE, - STATE(90), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [2716] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(148), 1, - anon_sym_DOT, - ACTIONS(146), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2730] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(192), 1, - anon_sym_DOT, - ACTIONS(190), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2744] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(180), 1, - anon_sym_DOT, - ACTIONS(178), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2758] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(164), 1, - anon_sym_DOT, - ACTIONS(162), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2772] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(176), 1, - anon_sym_DOT, - ACTIONS(174), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - [2786] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(5), 1, sym_identifier, - ACTIONS(280), 1, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + [2618] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(65), 1, + anon_sym_EQ, + ACTIONS(63), 10, + ts_builtin_sym_end, anon_sym_RBRACE, - STATE(142), 1, - sym_body, - STATE(81), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [2804] = 3, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + [2637] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(235), 1, + anon_sym_LBRACK, + ACTIONS(238), 1, + anon_sym_DOT, + STATE(69), 3, + sym_index, + sym_get_attr, + aux_sym_full_splat_repeat1, + ACTIONS(71), 5, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2659] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(241), 1, + anon_sym_LBRACK, + ACTIONS(244), 1, + anon_sym_DOT, + STATE(69), 3, + sym_index, + sym_get_attr, + aux_sym_full_splat_repeat1, + ACTIONS(91), 5, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2681] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(247), 1, + anon_sym_LBRACK, + ACTIONS(250), 1, + anon_sym_DOT, + STATE(68), 3, + sym_index, + sym_get_attr, + aux_sym_full_splat_repeat1, + ACTIONS(81), 5, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2703] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(253), 1, + anon_sym_DOT, + STATE(71), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(101), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2722] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(256), 1, + anon_sym_DOT, + STATE(71), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(119), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2741] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(259), 1, + anon_sym_DOT, + STATE(72), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(108), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2760] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(264), 4, + sym_identifier, + anon_sym_true, + anon_sym_false, + sym_null_lit, + ACTIONS(262), 5, + anon_sym_LBRACE, + anon_sym_LPAREN, + sym_numeric_lit, + anon_sym_DQUOTE, + anon_sym_LBRACK, + [2777] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(268), 4, + sym_identifier, + anon_sym_true, + anon_sym_false, + sym_null_lit, + ACTIONS(266), 5, + anon_sym_LBRACE, + anon_sym_LPAREN, + sym_numeric_lit, + anon_sym_DQUOTE, + anon_sym_LBRACK, + [2794] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(128), 1, anon_sym_DOT, - ACTIONS(126), 5, + ACTIONS(270), 1, + anon_sym_LPAREN, + ACTIONS(126), 6, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_if, sym_ellipsis, - [2818] = 3, + anon_sym_QMARK, + [2812] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(138), 1, + anon_sym_DOT, + ACTIONS(136), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2827] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(162), 1, + anon_sym_DOT, + ACTIONS(160), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2842] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(154), 1, + anon_sym_DOT, + ACTIONS(152), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2857] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(182), 1, + anon_sym_DOT, + ACTIONS(180), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2872] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(206), 1, anon_sym_DOT, - ACTIONS(204), 5, + ACTIONS(204), 6, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_if, sym_ellipsis, - [2832] = 3, + anon_sym_QMARK, + [2887] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(156), 1, + ACTIONS(186), 1, anon_sym_DOT, - ACTIONS(154), 5, + ACTIONS(184), 6, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_if, sym_ellipsis, - [2846] = 5, + anon_sym_QMARK, + [2902] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(174), 1, + anon_sym_DOT, + ACTIONS(172), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2917] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(134), 1, + anon_sym_DOT, + ACTIONS(132), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2932] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(142), 1, + anon_sym_DOT, + ACTIONS(140), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2947] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(146), 1, + anon_sym_DOT, + ACTIONS(144), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2962] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(178), 1, + anon_sym_DOT, + ACTIONS(176), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2977] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(210), 1, + anon_sym_DOT, + ACTIONS(208), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [2992] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(117), 1, + anon_sym_DOT, + ACTIONS(115), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3007] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(158), 1, + anon_sym_DOT, + ACTIONS(156), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3022] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(190), 1, + anon_sym_DOT, + ACTIONS(188), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3037] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(198), 1, + anon_sym_DOT, + ACTIONS(196), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3052] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(150), 1, + anon_sym_DOT, + ACTIONS(148), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3067] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(170), 1, + anon_sym_DOT, + ACTIONS(168), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3082] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(222), 1, + anon_sym_DOT, + ACTIONS(220), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3097] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(194), 1, + anon_sym_DOT, + ACTIONS(192), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3112] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(166), 1, + anon_sym_DOT, + ACTIONS(164), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3127] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(202), 1, + anon_sym_DOT, + ACTIONS(200), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3142] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(214), 1, + anon_sym_DOT, + ACTIONS(212), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3157] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(218), 1, + anon_sym_DOT, + ACTIONS(216), 6, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3172] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(130), 1, + anon_sym_LPAREN, + ACTIONS(272), 2, + anon_sym_EQ, + anon_sym_COLON, + ACTIONS(126), 3, + anon_sym_LBRACK, + anon_sym_DOT, + anon_sym_QMARK, + [3188] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(275), 2, + ts_builtin_sym_end, + anon_sym_RBRACE, + STATE(105), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [3204] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(277), 1, + anon_sym_RBRACE, + STATE(171), 1, + sym_body, + STATE(102), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [3222] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(17), 1, anon_sym_DQUOTE, - ACTIONS(282), 1, - anon_sym_LBRACE, - ACTIONS(284), 1, - sym_identifier, - STATE(103), 2, - sym_string_lit, - aux_sym_block_repeat1, - [2863] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(196), 1, - anon_sym_LPAREN, - ACTIONS(194), 2, - anon_sym_LBRACK, - anon_sym_DOT, - ACTIONS(286), 2, + ACTIONS(279), 1, anon_sym_EQ, - anon_sym_COLON, - [2878] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(291), 1, - anon_sym_COMMA, - STATE(102), 1, - aux_sym_tuple_repeat1, - ACTIONS(289), 3, - anon_sym_RPAREN, - anon_sym_RBRACK, - sym_ellipsis, - [2893] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(294), 1, + ACTIONS(281), 1, anon_sym_LBRACE, - ACTIONS(296), 1, + ACTIONS(283), 1, sym_identifier, - ACTIONS(299), 1, - anon_sym_DQUOTE, - STATE(103), 2, + STATE(115), 2, sym_string_lit, aux_sym_block_repeat1, - [2910] = 5, + [3242] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(41), 1, + ACTIONS(287), 1, + sym_identifier, + ACTIONS(285), 2, + ts_builtin_sym_end, + anon_sym_RBRACE, + STATE(105), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [3258] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(290), 1, + anon_sym_RBRACE, + STATE(155), 1, + sym_body, + STATE(102), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [3276] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(292), 1, anon_sym_RPAREN, - ACTIONS(302), 1, + ACTIONS(294), 1, anon_sym_COMMA, - ACTIONS(304), 1, + ACTIONS(296), 1, sym_ellipsis, - STATE(102), 1, + ACTIONS(298), 1, + anon_sym_QMARK, + STATE(121), 1, aux_sym_tuple_repeat1, - [2926] = 2, + [3295] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(289), 4, + ACTIONS(300), 1, + anon_sym_QMARK, + ACTIONS(228), 4, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + [3308] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(303), 1, + anon_sym_LBRACE, + ACTIONS(305), 1, + sym_identifier, + ACTIONS(308), 1, + anon_sym_DQUOTE, + STATE(109), 2, + sym_string_lit, + aux_sym_block_repeat1, + [3325] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(311), 1, + anon_sym_RBRACE, + ACTIONS(313), 1, + anon_sym_if, + ACTIONS(315), 1, + sym_ellipsis, + ACTIONS(317), 1, + anon_sym_QMARK, + STATE(174), 1, + sym_for_cond, + [3344] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(321), 1, + anon_sym_COMMA, + STATE(111), 1, + aux_sym_tuple_repeat1, + ACTIONS(319), 3, + anon_sym_RPAREN, + anon_sym_RBRACK, + sym_ellipsis, + [3359] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(319), 4, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_RBRACK, sym_ellipsis, - [2936] = 5, + [3372] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(306), 1, - anon_sym_RBRACE, - ACTIONS(308), 1, - anon_sym_if, - ACTIONS(310), 1, - sym_ellipsis, - STATE(157), 1, - sym_for_cond, - [2952] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(312), 1, - anon_sym_RPAREN, - ACTIONS(314), 1, - anon_sym_COMMA, - ACTIONS(316), 1, - sym_ellipsis, - STATE(104), 1, - aux_sym_tuple_repeat1, - [2968] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(308), 1, - anon_sym_if, - ACTIONS(318), 1, - anon_sym_RBRACE, - ACTIONS(320), 1, - sym_ellipsis, - STATE(134), 1, - sym_for_cond, - [2984] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(322), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - [2993] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(308), 1, + ACTIONS(313), 1, anon_sym_if, + ACTIONS(317), 1, + anon_sym_QMARK, ACTIONS(324), 1, - anon_sym_RBRACK, - STATE(138), 1, + anon_sym_RBRACE, + ACTIONS(326), 1, + sym_ellipsis, + STATE(166), 1, sym_for_cond, - [3006] = 2, + [3391] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(326), 3, + ACTIONS(63), 5, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [3402] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(328), 1, + anon_sym_LBRACE, + ACTIONS(330), 1, + sym_identifier, + STATE(109), 2, + sym_string_lit, + aux_sym_block_repeat1, + [3419] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(313), 1, + anon_sym_if, + ACTIONS(317), 1, + anon_sym_QMARK, + ACTIONS(332), 1, + anon_sym_RBRACK, + STATE(163), 1, + sym_for_cond, + [3435] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(334), 3, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, - [3015] = 4, + [3447] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_RBRACE, - ACTIONS(330), 1, - anon_sym_COMMA, - STATE(125), 1, - aux_sym_object_repeat1, - [3028] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(330), 1, - anon_sym_COMMA, - ACTIONS(332), 1, - anon_sym_RBRACE, - STATE(119), 1, - aux_sym_object_repeat1, - [3041] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(334), 1, - anon_sym_COMMA, + ACTIONS(298), 1, + anon_sym_QMARK, ACTIONS(336), 1, - anon_sym_RBRACK, - STATE(102), 1, - aux_sym_tuple_repeat1, - [3054] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(308), 1, - anon_sym_if, + anon_sym_COMMA, ACTIONS(338), 1, anon_sym_RBRACK, - STATE(153), 1, - sym_for_cond, - [3067] = 4, + STATE(123), 1, + aux_sym_tuple_repeat1, + [3463] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(308), 1, + ACTIONS(313), 1, anon_sym_if, + ACTIONS(317), 1, + anon_sym_QMARK, ACTIONS(340), 1, - anon_sym_RBRACE, - STATE(145), 1, + anon_sym_RBRACK, + STATE(162), 1, sym_for_cond, - [3080] = 4, + [3479] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(334), 1, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(336), 1, anon_sym_COMMA, ACTIONS(342), 1, anon_sym_RBRACK, - STATE(114), 1, + STATE(130), 1, aux_sym_tuple_repeat1, - [3093] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(334), 1, - anon_sym_COMMA, - ACTIONS(344), 1, - anon_sym_RBRACK, - STATE(102), 1, - aux_sym_tuple_repeat1, - [3106] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(330), 1, - anon_sym_COMMA, - ACTIONS(346), 1, - anon_sym_RBRACE, - STATE(122), 1, - aux_sym_object_repeat1, - [3119] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(348), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - [3128] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(308), 1, - anon_sym_if, - ACTIONS(350), 1, - anon_sym_RBRACE, - STATE(158), 1, - sym_for_cond, - [3141] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(352), 1, - anon_sym_RBRACE, - ACTIONS(354), 1, - anon_sym_COMMA, - STATE(122), 1, - aux_sym_object_repeat1, - [3154] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(334), 1, - anon_sym_COMMA, - ACTIONS(357), 1, - anon_sym_RBRACK, - STATE(118), 1, - aux_sym_tuple_repeat1, - [3167] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(359), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - [3176] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(330), 1, - anon_sym_COMMA, - ACTIONS(361), 1, - anon_sym_RBRACE, - STATE(122), 1, - aux_sym_object_repeat1, - [3189] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(363), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [3197] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(352), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [3205] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(365), 2, - anon_sym_EQ, - anon_sym_COLON, - [3213] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - sym_identifier, - ACTIONS(369), 1, - anon_sym_STAR, - [3223] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(371), 1, - anon_sym_COMMA, - ACTIONS(373), 1, - anon_sym_in, - [3233] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(375), 1, - sym_identifier, - ACTIONS(377), 1, - anon_sym_STAR, - [3243] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(379), 2, - anon_sym_RBRACE, - anon_sym_RBRACK, - [3251] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(381), 1, - anon_sym_RBRACK, - [3258] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(340), 1, - anon_sym_RBRACE, - [3265] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(383), 1, - anon_sym_COLON, - [3272] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(385), 1, - anon_sym_in, - [3279] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(367), 1, - sym_identifier, - [3286] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(387), 1, - anon_sym_RBRACK, - [3293] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(41), 1, - anon_sym_RPAREN, - [3300] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(389), 1, - sym_identifier, - [3307] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(391), 1, - anon_sym_DQUOTE, - [3314] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(265), 1, - anon_sym_RBRACE, - [3321] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(393), 1, - anon_sym_RBRACK, - [3328] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(395), 1, - anon_sym_RPAREN, - [3335] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(397), 1, - anon_sym_RBRACE, - [3342] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(399), 1, - anon_sym_COLON, - [3349] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(401), 1, - anon_sym_RPAREN, - [3356] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(403), 1, - anon_sym_RPAREN, - [3363] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(405), 1, - anon_sym_EQ_GT, - [3370] = 2, + [3495] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(45), 1, anon_sym_RPAREN, - [3377] = 2, + ACTIONS(344), 1, + anon_sym_COMMA, + ACTIONS(346), 1, + sym_ellipsis, + STATE(111), 1, + aux_sym_tuple_repeat1, + [3511] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(313), 1, + anon_sym_if, + ACTIONS(348), 1, + anon_sym_RBRACE, + STATE(152), 1, + sym_for_cond, + [3524] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(336), 1, + anon_sym_COMMA, + ACTIONS(350), 1, + anon_sym_RBRACK, + STATE(111), 1, + aux_sym_tuple_repeat1, + [3537] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(352), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [3546] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(354), 1, + anon_sym_RBRACE, + ACTIONS(356), 1, + anon_sym_COMMA, + STATE(128), 1, + aux_sym_object_repeat1, + [3559] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(358), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [3570] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(360), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [3579] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(356), 1, + anon_sym_COMMA, + ACTIONS(362), 1, + anon_sym_RBRACE, + STATE(135), 1, + aux_sym_object_repeat1, + [3592] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(364), 2, + anon_sym_RBRACE, + anon_sym_RBRACK, + [3603] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(336), 1, + anon_sym_COMMA, + ACTIONS(366), 1, + anon_sym_RBRACK, + STATE(111), 1, + aux_sym_tuple_repeat1, + [3616] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(356), 1, + anon_sym_COMMA, + ACTIONS(368), 1, + anon_sym_RBRACE, + STATE(135), 1, + aux_sym_object_repeat1, + [3629] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(356), 1, + anon_sym_COMMA, + ACTIONS(370), 1, + anon_sym_RBRACE, + STATE(131), 1, + aux_sym_object_repeat1, + [3642] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(313), 1, + anon_sym_if, + ACTIONS(372), 1, + anon_sym_RBRACE, + STATE(167), 1, + sym_for_cond, + [3655] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(374), 2, + anon_sym_EQ, + anon_sym_COLON, + [3666] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(376), 1, + anon_sym_RBRACE, + ACTIONS(378), 1, + anon_sym_COMMA, + STATE(135), 1, + aux_sym_object_repeat1, + [3679] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(381), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [3688] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(376), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [3696] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(383), 1, + anon_sym_EQ_GT, + [3706] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(385), 1, + anon_sym_RBRACK, + [3716] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(387), 1, + anon_sym_COLON, + [3726] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(389), 1, + anon_sym_COLON, + [3736] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(391), 1, + anon_sym_COLON, + [3746] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(393), 1, + anon_sym_RBRACK, + [3756] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(395), 1, + anon_sym_COLON, + [3766] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, + ACTIONS(397), 1, + anon_sym_RPAREN, + [3776] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(399), 1, + anon_sym_COMMA, + ACTIONS(401), 1, + anon_sym_in, + [3786] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(403), 1, + sym_identifier, + ACTIONS(405), 1, + anon_sym_STAR, + [3796] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, ACTIONS(407), 1, - anon_sym_RBRACK, - [3384] = 2, + anon_sym_EQ_GT, + [3806] = 3, ACTIONS(3), 1, sym_comment, + ACTIONS(298), 1, + anon_sym_QMARK, ACTIONS(409), 1, - anon_sym_RBRACK, - [3391] = 2, + anon_sym_RPAREN, + [3816] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(411), 1, - anon_sym_RBRACK, - [3398] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(413), 1, - anon_sym_RBRACE, - [3405] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(375), 1, sym_identifier, - [3412] = 2, + ACTIONS(413), 1, + anon_sym_STAR, + [3826] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(415), 1, - anon_sym_RPAREN, - [3419] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(350), 1, - anon_sym_RBRACE, - [3426] = 2, + sym_identifier, + [3833] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(417), 1, anon_sym_RBRACE, - [3433] = 2, - ACTIONS(419), 1, - aux_sym_string_lit_token1, - ACTIONS(421), 1, + [3840] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(419), 1, + anon_sym_in, + [3847] = 2, + ACTIONS(3), 1, sym_comment, - [3440] = 2, ACTIONS(421), 1, + anon_sym_DQUOTE, + [3854] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(277), 1, + anon_sym_RBRACE, + [3861] = 2, + ACTIONS(3), 1, sym_comment, ACTIONS(423), 1, - aux_sym_string_lit_token1, - [3447] = 2, + anon_sym_RPAREN, + [3868] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(43), 1, + anon_sym_RPAREN, + [3875] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(411), 1, + sym_identifier, + [3882] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(425), 1, anon_sym_DQUOTE, - [3454] = 2, + [3889] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(427), 1, - sym_identifier, - [3461] = 2, + anon_sym_RBRACK, + [3896] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(429), 1, - ts_builtin_sym_end, - [3468] = 2, + anon_sym_RBRACK, + [3903] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(431), 1, - anon_sym_EQ_GT, - [3475] = 2, + anon_sym_RBRACK, + [3910] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(433), 1, + anon_sym_RBRACK, + [3917] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(45), 1, + anon_sym_RPAREN, + [3924] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(435), 1, + anon_sym_RPAREN, + [3931] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(372), 1, + anon_sym_RBRACE, + [3938] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(437), 1, + anon_sym_RBRACE, + [3945] = 2, + ACTIONS(439), 1, + aux_sym_string_lit_token1, + ACTIONS(441), 1, + sym_comment, + [3952] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(403), 1, + sym_identifier, + [3959] = 2, + ACTIONS(441), 1, + sym_comment, + ACTIONS(443), 1, + aux_sym_string_lit_token1, + [3966] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(445), 1, + anon_sym_RBRACE, + [3973] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(447), 1, + sym_identifier, + [3980] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(449), 1, + ts_builtin_sym_end, + [3987] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(348), 1, + anon_sym_RBRACE, + [3994] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(451), 1, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 66, - [SMALL_STATE(4)] = 132, - [SMALL_STATE(5)] = 195, - [SMALL_STATE(6)] = 258, - [SMALL_STATE(7)] = 318, - [SMALL_STATE(8)] = 378, - [SMALL_STATE(9)] = 435, - [SMALL_STATE(10)] = 492, - [SMALL_STATE(11)] = 549, - [SMALL_STATE(12)] = 606, - [SMALL_STATE(13)] = 663, - [SMALL_STATE(14)] = 717, - [SMALL_STATE(15)] = 771, - [SMALL_STATE(16)] = 825, - [SMALL_STATE(17)] = 879, - [SMALL_STATE(18)] = 933, - [SMALL_STATE(19)] = 987, - [SMALL_STATE(20)] = 1041, - [SMALL_STATE(21)] = 1095, - [SMALL_STATE(22)] = 1149, - [SMALL_STATE(23)] = 1203, - [SMALL_STATE(24)] = 1257, - [SMALL_STATE(25)] = 1311, - [SMALL_STATE(26)] = 1365, - [SMALL_STATE(27)] = 1419, - [SMALL_STATE(28)] = 1473, - [SMALL_STATE(29)] = 1527, - [SMALL_STATE(30)] = 1560, - [SMALL_STATE(31)] = 1589, - [SMALL_STATE(32)] = 1618, - [SMALL_STATE(33)] = 1647, - [SMALL_STATE(34)] = 1669, - [SMALL_STATE(35)] = 1695, - [SMALL_STATE(36)] = 1721, - [SMALL_STATE(37)] = 1747, - [SMALL_STATE(38)] = 1767, - [SMALL_STATE(39)] = 1787, - [SMALL_STATE(40)] = 1807, - [SMALL_STATE(41)] = 1827, - [SMALL_STATE(42)] = 1847, - [SMALL_STATE(43)] = 1867, - [SMALL_STATE(44)] = 1887, - [SMALL_STATE(45)] = 1907, - [SMALL_STATE(46)] = 1927, - [SMALL_STATE(47)] = 1947, - [SMALL_STATE(48)] = 1967, - [SMALL_STATE(49)] = 1987, - [SMALL_STATE(50)] = 2007, - [SMALL_STATE(51)] = 2027, - [SMALL_STATE(52)] = 2047, - [SMALL_STATE(53)] = 2067, - [SMALL_STATE(54)] = 2087, - [SMALL_STATE(55)] = 2109, - [SMALL_STATE(56)] = 2129, - [SMALL_STATE(57)] = 2149, - [SMALL_STATE(58)] = 2169, - [SMALL_STATE(59)] = 2189, - [SMALL_STATE(60)] = 2209, - [SMALL_STATE(61)] = 2229, - [SMALL_STATE(62)] = 2254, - [SMALL_STATE(63)] = 2275, - [SMALL_STATE(64)] = 2296, - [SMALL_STATE(65)] = 2313, - [SMALL_STATE(66)] = 2330, - [SMALL_STATE(67)] = 2351, - [SMALL_STATE(68)] = 2369, - [SMALL_STATE(69)] = 2387, - [SMALL_STATE(70)] = 2405, - [SMALL_STATE(71)] = 2422, - [SMALL_STATE(72)] = 2436, - [SMALL_STATE(73)] = 2450, - [SMALL_STATE(74)] = 2464, - [SMALL_STATE(75)] = 2478, - [SMALL_STATE(76)] = 2492, - [SMALL_STATE(77)] = 2506, - [SMALL_STATE(78)] = 2520, - [SMALL_STATE(79)] = 2538, - [SMALL_STATE(80)] = 2552, - [SMALL_STATE(81)] = 2566, - [SMALL_STATE(82)] = 2582, - [SMALL_STATE(83)] = 2596, - [SMALL_STATE(84)] = 2610, - [SMALL_STATE(85)] = 2630, - [SMALL_STATE(86)] = 2644, - [SMALL_STATE(87)] = 2658, - [SMALL_STATE(88)] = 2672, - [SMALL_STATE(89)] = 2686, - [SMALL_STATE(90)] = 2700, - [SMALL_STATE(91)] = 2716, - [SMALL_STATE(92)] = 2730, - [SMALL_STATE(93)] = 2744, - [SMALL_STATE(94)] = 2758, - [SMALL_STATE(95)] = 2772, - [SMALL_STATE(96)] = 2786, - [SMALL_STATE(97)] = 2804, - [SMALL_STATE(98)] = 2818, - [SMALL_STATE(99)] = 2832, - [SMALL_STATE(100)] = 2846, - [SMALL_STATE(101)] = 2863, - [SMALL_STATE(102)] = 2878, - [SMALL_STATE(103)] = 2893, - [SMALL_STATE(104)] = 2910, - [SMALL_STATE(105)] = 2926, - [SMALL_STATE(106)] = 2936, - [SMALL_STATE(107)] = 2952, - [SMALL_STATE(108)] = 2968, - [SMALL_STATE(109)] = 2984, - [SMALL_STATE(110)] = 2993, - [SMALL_STATE(111)] = 3006, - [SMALL_STATE(112)] = 3015, - [SMALL_STATE(113)] = 3028, - [SMALL_STATE(114)] = 3041, - [SMALL_STATE(115)] = 3054, - [SMALL_STATE(116)] = 3067, - [SMALL_STATE(117)] = 3080, - [SMALL_STATE(118)] = 3093, - [SMALL_STATE(119)] = 3106, - [SMALL_STATE(120)] = 3119, - [SMALL_STATE(121)] = 3128, - [SMALL_STATE(122)] = 3141, - [SMALL_STATE(123)] = 3154, - [SMALL_STATE(124)] = 3167, - [SMALL_STATE(125)] = 3176, - [SMALL_STATE(126)] = 3189, - [SMALL_STATE(127)] = 3197, - [SMALL_STATE(128)] = 3205, - [SMALL_STATE(129)] = 3213, - [SMALL_STATE(130)] = 3223, - [SMALL_STATE(131)] = 3233, - [SMALL_STATE(132)] = 3243, - [SMALL_STATE(133)] = 3251, - [SMALL_STATE(134)] = 3258, - [SMALL_STATE(135)] = 3265, - [SMALL_STATE(136)] = 3272, - [SMALL_STATE(137)] = 3279, - [SMALL_STATE(138)] = 3286, - [SMALL_STATE(139)] = 3293, - [SMALL_STATE(140)] = 3300, - [SMALL_STATE(141)] = 3307, - [SMALL_STATE(142)] = 3314, - [SMALL_STATE(143)] = 3321, - [SMALL_STATE(144)] = 3328, - [SMALL_STATE(145)] = 3335, - [SMALL_STATE(146)] = 3342, - [SMALL_STATE(147)] = 3349, - [SMALL_STATE(148)] = 3356, - [SMALL_STATE(149)] = 3363, - [SMALL_STATE(150)] = 3370, - [SMALL_STATE(151)] = 3377, - [SMALL_STATE(152)] = 3384, - [SMALL_STATE(153)] = 3391, - [SMALL_STATE(154)] = 3398, - [SMALL_STATE(155)] = 3405, - [SMALL_STATE(156)] = 3412, - [SMALL_STATE(157)] = 3419, - [SMALL_STATE(158)] = 3426, - [SMALL_STATE(159)] = 3433, - [SMALL_STATE(160)] = 3440, - [SMALL_STATE(161)] = 3447, - [SMALL_STATE(162)] = 3454, - [SMALL_STATE(163)] = 3461, - [SMALL_STATE(164)] = 3468, - [SMALL_STATE(165)] = 3475, + [SMALL_STATE(3)] = 69, + [SMALL_STATE(4)] = 138, + [SMALL_STATE(5)] = 204, + [SMALL_STATE(6)] = 270, + [SMALL_STATE(7)] = 333, + [SMALL_STATE(8)] = 396, + [SMALL_STATE(9)] = 456, + [SMALL_STATE(10)] = 516, + [SMALL_STATE(11)] = 576, + [SMALL_STATE(12)] = 636, + [SMALL_STATE(13)] = 696, + [SMALL_STATE(14)] = 753, + [SMALL_STATE(15)] = 810, + [SMALL_STATE(16)] = 867, + [SMALL_STATE(17)] = 924, + [SMALL_STATE(18)] = 981, + [SMALL_STATE(19)] = 1038, + [SMALL_STATE(20)] = 1095, + [SMALL_STATE(21)] = 1152, + [SMALL_STATE(22)] = 1209, + [SMALL_STATE(23)] = 1266, + [SMALL_STATE(24)] = 1323, + [SMALL_STATE(25)] = 1380, + [SMALL_STATE(26)] = 1437, + [SMALL_STATE(27)] = 1494, + [SMALL_STATE(28)] = 1551, + [SMALL_STATE(29)] = 1608, + [SMALL_STATE(30)] = 1665, + [SMALL_STATE(31)] = 1722, + [SMALL_STATE(32)] = 1779, + [SMALL_STATE(33)] = 1836, + [SMALL_STATE(34)] = 1870, + [SMALL_STATE(35)] = 1900, + [SMALL_STATE(36)] = 1930, + [SMALL_STATE(37)] = 1960, + [SMALL_STATE(38)] = 1987, + [SMALL_STATE(39)] = 2014, + [SMALL_STATE(40)] = 2037, + [SMALL_STATE(41)] = 2064, + [SMALL_STATE(42)] = 2088, + [SMALL_STATE(43)] = 2109, + [SMALL_STATE(44)] = 2130, + [SMALL_STATE(45)] = 2151, + [SMALL_STATE(46)] = 2172, + [SMALL_STATE(47)] = 2193, + [SMALL_STATE(48)] = 2214, + [SMALL_STATE(49)] = 2235, + [SMALL_STATE(50)] = 2256, + [SMALL_STATE(51)] = 2277, + [SMALL_STATE(52)] = 2298, + [SMALL_STATE(53)] = 2319, + [SMALL_STATE(54)] = 2340, + [SMALL_STATE(55)] = 2361, + [SMALL_STATE(56)] = 2382, + [SMALL_STATE(57)] = 2403, + [SMALL_STATE(58)] = 2424, + [SMALL_STATE(59)] = 2445, + [SMALL_STATE(60)] = 2466, + [SMALL_STATE(61)] = 2487, + [SMALL_STATE(62)] = 2508, + [SMALL_STATE(63)] = 2529, + [SMALL_STATE(64)] = 2550, + [SMALL_STATE(65)] = 2571, + [SMALL_STATE(66)] = 2597, + [SMALL_STATE(67)] = 2618, + [SMALL_STATE(68)] = 2637, + [SMALL_STATE(69)] = 2659, + [SMALL_STATE(70)] = 2681, + [SMALL_STATE(71)] = 2703, + [SMALL_STATE(72)] = 2722, + [SMALL_STATE(73)] = 2741, + [SMALL_STATE(74)] = 2760, + [SMALL_STATE(75)] = 2777, + [SMALL_STATE(76)] = 2794, + [SMALL_STATE(77)] = 2812, + [SMALL_STATE(78)] = 2827, + [SMALL_STATE(79)] = 2842, + [SMALL_STATE(80)] = 2857, + [SMALL_STATE(81)] = 2872, + [SMALL_STATE(82)] = 2887, + [SMALL_STATE(83)] = 2902, + [SMALL_STATE(84)] = 2917, + [SMALL_STATE(85)] = 2932, + [SMALL_STATE(86)] = 2947, + [SMALL_STATE(87)] = 2962, + [SMALL_STATE(88)] = 2977, + [SMALL_STATE(89)] = 2992, + [SMALL_STATE(90)] = 3007, + [SMALL_STATE(91)] = 3022, + [SMALL_STATE(92)] = 3037, + [SMALL_STATE(93)] = 3052, + [SMALL_STATE(94)] = 3067, + [SMALL_STATE(95)] = 3082, + [SMALL_STATE(96)] = 3097, + [SMALL_STATE(97)] = 3112, + [SMALL_STATE(98)] = 3127, + [SMALL_STATE(99)] = 3142, + [SMALL_STATE(100)] = 3157, + [SMALL_STATE(101)] = 3172, + [SMALL_STATE(102)] = 3188, + [SMALL_STATE(103)] = 3204, + [SMALL_STATE(104)] = 3222, + [SMALL_STATE(105)] = 3242, + [SMALL_STATE(106)] = 3258, + [SMALL_STATE(107)] = 3276, + [SMALL_STATE(108)] = 3295, + [SMALL_STATE(109)] = 3308, + [SMALL_STATE(110)] = 3325, + [SMALL_STATE(111)] = 3344, + [SMALL_STATE(112)] = 3359, + [SMALL_STATE(113)] = 3372, + [SMALL_STATE(114)] = 3391, + [SMALL_STATE(115)] = 3402, + [SMALL_STATE(116)] = 3419, + [SMALL_STATE(117)] = 3435, + [SMALL_STATE(118)] = 3447, + [SMALL_STATE(119)] = 3463, + [SMALL_STATE(120)] = 3479, + [SMALL_STATE(121)] = 3495, + [SMALL_STATE(122)] = 3511, + [SMALL_STATE(123)] = 3524, + [SMALL_STATE(124)] = 3537, + [SMALL_STATE(125)] = 3546, + [SMALL_STATE(126)] = 3559, + [SMALL_STATE(127)] = 3570, + [SMALL_STATE(128)] = 3579, + [SMALL_STATE(129)] = 3592, + [SMALL_STATE(130)] = 3603, + [SMALL_STATE(131)] = 3616, + [SMALL_STATE(132)] = 3629, + [SMALL_STATE(133)] = 3642, + [SMALL_STATE(134)] = 3655, + [SMALL_STATE(135)] = 3666, + [SMALL_STATE(136)] = 3679, + [SMALL_STATE(137)] = 3688, + [SMALL_STATE(138)] = 3696, + [SMALL_STATE(139)] = 3706, + [SMALL_STATE(140)] = 3716, + [SMALL_STATE(141)] = 3726, + [SMALL_STATE(142)] = 3736, + [SMALL_STATE(143)] = 3746, + [SMALL_STATE(144)] = 3756, + [SMALL_STATE(145)] = 3766, + [SMALL_STATE(146)] = 3776, + [SMALL_STATE(147)] = 3786, + [SMALL_STATE(148)] = 3796, + [SMALL_STATE(149)] = 3806, + [SMALL_STATE(150)] = 3816, + [SMALL_STATE(151)] = 3826, + [SMALL_STATE(152)] = 3833, + [SMALL_STATE(153)] = 3840, + [SMALL_STATE(154)] = 3847, + [SMALL_STATE(155)] = 3854, + [SMALL_STATE(156)] = 3861, + [SMALL_STATE(157)] = 3868, + [SMALL_STATE(158)] = 3875, + [SMALL_STATE(159)] = 3882, + [SMALL_STATE(160)] = 3889, + [SMALL_STATE(161)] = 3896, + [SMALL_STATE(162)] = 3903, + [SMALL_STATE(163)] = 3910, + [SMALL_STATE(164)] = 3917, + [SMALL_STATE(165)] = 3924, + [SMALL_STATE(166)] = 3931, + [SMALL_STATE(167)] = 3938, + [SMALL_STATE(168)] = 3945, + [SMALL_STATE(169)] = 3952, + [SMALL_STATE(170)] = 3959, + [SMALL_STATE(171)] = 3966, + [SMALL_STATE(172)] = 3973, + [SMALL_STATE(173)] = 3980, + [SMALL_STATE(174)] = 3987, + [SMALL_STATE(175)] = 3994, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(49), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(44), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(162), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(54), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [41] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 2), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 3), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(70), - [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), - [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), - [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [43] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 3), + [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 2), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(76), + [51] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [57] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), + [59] = {.entry = {.count = 1, .reusable = false}}, SHIFT(86), [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [69] = {.entry = {.count = 1, .reusable = false}}, SHIFT(150), [71] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 4), [73] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_full_splat, 4), - [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(19), - [78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 4), SHIFT(137), + [75] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(27), + [78] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 4), SHIFT(158), [81] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 3), [83] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_full_splat, 3), - [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(19), - [88] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 3), SHIFT(137), + [85] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(27), + [88] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 3), SHIFT(158), [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), - [95] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(19), - [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(137), - [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 3), - [103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_lit, 3), - [105] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 2), - [107] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 2), - [109] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 2), SHIFT(137), - [112] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 3), - [114] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 3), - [116] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 3), SHIFT(137), - [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attr_splat_repeat1, 2), - [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), - [123] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(137), - [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), - [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), - [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expr, 1), - [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expr, 1), - [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4), - [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 4), - [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_get_attr, 2), - [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_get_attr, 2), - [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4), - [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 4), - [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2), - [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 8), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 8), - [154] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 1), - [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 1), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 7), - [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 7), - [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_lit, 1), - [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_lit, 1), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 6), - [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 6), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), - [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 2), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 1), - [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal_value, 1), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 1), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 1), - [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 2), - [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 2), - [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat, 1), - [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_splat, 1), - [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_collection_value, 1), - [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_collection_value, 1), - [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_expr, 1), - [196] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_expr, 1), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 5), - [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 5), - [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3), - [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3), - [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 4), - [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 4), - [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 3), - [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 3), - [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 1), - [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 1), - [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 3), - [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 3), - [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(131), - [228] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(22), - [231] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(155), - [234] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(22), - [237] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 4), SHIFT(155), - [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 5), - [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 5), - [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 7), - [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 7), - [248] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(22), - [251] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 3), SHIFT(155), - [254] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(155), - [257] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 3), SHIFT(155), - [260] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 2), SHIFT(155), - [263] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [265] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [267] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1), - [269] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [271] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [273] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), - [277] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), SHIFT_REPEAT(84), - [280] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [282] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [286] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_expr, 1), SHIFT(26), - [289] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), - [291] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), SHIFT_REPEAT(27), - [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), - [296] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(103), - [299] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(160), - [302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), - [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(121), - [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 1), - [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [316] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), - [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4, .production_id = 1), - [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, .production_id = 1), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), - [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 1), + [95] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(27), + [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(158), + [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attr_splat_repeat1, 2), + [103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), + [105] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(158), + [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 2), + [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 2), + [112] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 2), SHIFT(158), + [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 3), + [117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_lit, 3), + [119] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 3), + [121] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 3), + [123] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 3), SHIFT(158), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_expr, 1), + [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_expr, 1), + [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 1), + [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 1), + [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4), + [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 4), + [140] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_lit, 1), + [142] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_lit, 1), + [144] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 1), + [146] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal_value, 1), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 7), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 7), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 2), + [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 2), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 8), + [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 8), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3), + [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3), + [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 1), + [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 1), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 6), + [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 6), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_collection_value, 1), + [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_collection_value, 1), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 1), + [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 1), + [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), + [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 2), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expr, 1), + [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expr, 1), + [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 3), + [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 3), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4), + [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 4), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 3), + [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 3), + [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 4), + [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 4), + [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2), + [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), + [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), + [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 5), + [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 5), + [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat, 1), + [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_splat, 1), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_get_attr, 2), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_get_attr, 2), + [224] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), + [226] = {.entry = {.count = 1, .reusable = false}}, SHIFT(147), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional, 5), + [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional, 5), + [232] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_conditional, 5), SHIFT(19), + [235] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(25), + [238] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 4), SHIFT(169), + [241] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(25), + [244] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(169), + [247] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(25), + [250] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 3), SHIFT(169), + [253] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(169), + [256] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 3), SHIFT(169), + [259] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 2), SHIFT(169), + [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 5), + [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 5), + [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 7), + [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 7), + [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [272] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_expr, 1), SHIFT(15), + [275] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1), + [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), + [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [285] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), + [287] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), SHIFT_REPEAT(104), + [290] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 1), + [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(164), + [298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), + [300] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_conditional, 5), SHIFT(24), + [303] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), + [305] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(109), + [308] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(170), + [311] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [313] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [315] = {.entry = {.count = 1, .reusable = true}}, SHIFT(122), + [317] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [319] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), + [321] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), SHIFT_REPEAT(29), + [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), + [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), + [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [332] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [334] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 1), + [336] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), + [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), - [354] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), SHIFT_REPEAT(8), - [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [359] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5, .production_id = 1), - [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [363] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_elem, 3), - [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_cond, 2), - [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), - [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), - [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [419] = {.entry = {.count = 1, .reusable = false}}, SHIFT(141), - [421] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [423] = {.entry = {.count = 1, .reusable = false}}, SHIFT(161), - [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [429] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_config_file, 1), - [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [433] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4, .production_id = 1), + [354] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [358] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_elem, 3), + [360] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, .production_id = 1), + [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [364] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_cond, 2), + [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [376] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), + [378] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), SHIFT_REPEAT(9), + [381] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5, .production_id = 1), + [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [385] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), + [387] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [389] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [395] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [399] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), + [401] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [403] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), + [405] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [407] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [409] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), + [411] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [427] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), + [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [433] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [435] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [439] = {.entry = {.count = 1, .reusable = false}}, SHIFT(154), + [441] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [443] = {.entry = {.count = 1, .reusable = false}}, SHIFT(159), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [447] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), + [449] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_config_file, 1), + [451] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), }; #ifdef __cplusplus