From 6da374befd21af1c3408e3a42cc290cec615644d Mon Sep 17 00:00:00 2001 From: mhoffm Date: Tue, 8 Jun 2021 23:31:40 +0200 Subject: [PATCH] more tests --- grammar.js | 2 +- src/grammar.json | 27 +- src/parser.c | 2987 +++++++++++++++++------------------ test/corpus/expressions.txt | 139 ++ 4 files changed, 1616 insertions(+), 1539 deletions(-) create mode 100644 test/corpus/expressions.txt diff --git a/grammar.js b/grammar.js index 23df499..877ea5b 100644 --- a/grammar.js +++ b/grammar.js @@ -75,7 +75,7 @@ module.exports = grammar({ numeric_lit: $ => /[0-9]+(\.[0-9]+([eE][-+]?[0-9]+)?)?/, - string_lit: $ => seq('"', repeat(choice(/[^\\"\n]/, /\\(.|\n)/)), '"'), + string_lit: $ => (seq('"', token.immediate(repeat(choice(/[^\\"\n]/, /\\(.|\n)/))), '"')), bool_lit: $ => choice('true', 'false'), diff --git a/src/grammar.json b/src/grammar.json index 80cec64..fec3044 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -247,19 +247,22 @@ "value": "\"" }, { - "type": "REPEAT", + "type": "IMMEDIATE_TOKEN", "content": { - "type": "CHOICE", - "members": [ - { - "type": "PATTERN", - "value": "[^\\\\\"\\n]" - }, - { - "type": "PATTERN", - "value": "\\\\(.|\\n)" - } - ] + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "PATTERN", + "value": "[^\\\\\"\\n]" + }, + { + "type": "PATTERN", + "value": "\\\\(.|\\n)" + } + ] + } } }, { diff --git a/src/parser.c b/src/parser.c index 202867d..63f99c2 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,11 +6,11 @@ #endif #define LANGUAGE_VERSION 13 -#define STATE_COUNT 155 +#define STATE_COUNT 152 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 57 +#define SYMBOL_COUNT 55 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 26 +#define TOKEN_COUNT 25 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 1 #define MAX_ALIAS_SEQUENCE_LENGTH 8 @@ -26,53 +26,51 @@ enum { sym_numeric_lit = 7, anon_sym_DQUOTE = 8, aux_sym_string_lit_token1 = 9, - aux_sym_string_lit_token2 = 10, - anon_sym_true = 11, - anon_sym_false = 12, - sym_null_lit = 13, - anon_sym_LBRACK = 14, - anon_sym_COMMA = 15, - anon_sym_RBRACK = 16, - anon_sym_COLON = 17, - anon_sym_DOT = 18, - anon_sym_STAR = 19, - anon_sym_EQ_GT = 20, - anon_sym_DOT_DOT_DOT = 21, - anon_sym_for = 22, - anon_sym_in = 23, - anon_sym_if = 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, - aux_sym_body_repeat1 = 50, - aux_sym_block_repeat1 = 51, - aux_sym_string_lit_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_true = 10, + anon_sym_false = 11, + sym_null_lit = 12, + anon_sym_LBRACK = 13, + anon_sym_COMMA = 14, + anon_sym_RBRACK = 15, + anon_sym_COLON = 16, + anon_sym_DOT = 17, + anon_sym_STAR = 18, + anon_sym_EQ_GT = 19, + anon_sym_DOT_DOT_DOT = 20, + anon_sym_for = 21, + anon_sym_in = 22, + anon_sym_if = 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, + aux_sym_body_repeat1 = 49, + aux_sym_block_repeat1 = 50, + aux_sym_tuple_repeat1 = 51, + aux_sym_object_repeat1 = 52, + aux_sym_attr_splat_repeat1 = 53, + aux_sym_full_splat_repeat1 = 54, }; static const char * const ts_symbol_names[] = { @@ -86,7 +84,6 @@ static const char * const ts_symbol_names[] = { [sym_numeric_lit] = "numeric_lit", [anon_sym_DQUOTE] = "\"", [aux_sym_string_lit_token1] = "string_lit_token1", - [aux_sym_string_lit_token2] = "string_lit_token2", [anon_sym_true] = "true", [anon_sym_false] = "false", [sym_null_lit] = "null_lit", @@ -128,7 +125,6 @@ static const char * const ts_symbol_names[] = { [sym_variable_expr] = "variable_expr", [aux_sym_body_repeat1] = "body_repeat1", [aux_sym_block_repeat1] = "block_repeat1", - [aux_sym_string_lit_repeat1] = "string_lit_repeat1", [aux_sym_tuple_repeat1] = "tuple_repeat1", [aux_sym_object_repeat1] = "object_repeat1", [aux_sym_attr_splat_repeat1] = "attr_splat_repeat1", @@ -146,7 +142,6 @@ static const TSSymbol ts_symbol_map[] = { [sym_numeric_lit] = sym_numeric_lit, [anon_sym_DQUOTE] = anon_sym_DQUOTE, [aux_sym_string_lit_token1] = aux_sym_string_lit_token1, - [aux_sym_string_lit_token2] = aux_sym_string_lit_token2, [anon_sym_true] = anon_sym_true, [anon_sym_false] = anon_sym_false, [sym_null_lit] = sym_null_lit, @@ -188,7 +183,6 @@ static const TSSymbol ts_symbol_map[] = { [sym_variable_expr] = sym_variable_expr, [aux_sym_body_repeat1] = aux_sym_body_repeat1, [aux_sym_block_repeat1] = aux_sym_block_repeat1, - [aux_sym_string_lit_repeat1] = aux_sym_string_lit_repeat1, [aux_sym_tuple_repeat1] = aux_sym_tuple_repeat1, [aux_sym_object_repeat1] = aux_sym_object_repeat1, [aux_sym_attr_splat_repeat1] = aux_sym_attr_splat_repeat1, @@ -236,10 +230,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [aux_sym_string_lit_token2] = { - .visible = false, - .named = false, - }, [anon_sym_true] = { .visible = true, .named = false, @@ -404,10 +394,6 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, - [aux_sym_string_lit_repeat1] = { - .visible = false, - .named = false, - }, [aux_sym_tuple_repeat1] = { .visible = false, .named = false, @@ -2001,22 +1987,21 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { case 0: if (eof) ADVANCE(28); if (lookahead == '"') ADVANCE(51); - if (lookahead == '#') ADVANCE(77); + if (lookahead == '#') ADVANCE(79); if (lookahead == '(') ADVANCE(46); if (lookahead == ')') ADVANCE(47); - if (lookahead == '*') ADVANCE(69); - if (lookahead == ',') ADVANCE(64); - if (lookahead == '.') ADVANCE(68); - if (lookahead == '/') ADVANCE(5); - if (lookahead == ':') ADVANCE(66); + if (lookahead == '*') ADVANCE(70); + if (lookahead == ',') ADVANCE(65); + if (lookahead == '.') ADVANCE(69); + if (lookahead == '/') ADVANCE(4); + if (lookahead == ':') ADVANCE(67); if (lookahead == '=') ADVANCE(30); - if (lookahead == '[') ADVANCE(63); - if (lookahead == '\\') ADVANCE(25); - if (lookahead == ']') ADVANCE(65); - if (lookahead == 'f') ADVANCE(10); - if (lookahead == 'i') ADVANCE(13); - if (lookahead == 'n') ADVANCE(21); - if (lookahead == 't') ADVANCE(18); + if (lookahead == '[') ADVANCE(64); + if (lookahead == ']') ADVANCE(66); + 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 == '\t' || @@ -2026,28 +2011,39 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); END_STATE(); case 1: - if (lookahead == '\n') SKIP(1) if (lookahead == '"') ADVANCE(51); - if (lookahead == '#') ADVANCE(55); - if (lookahead == '/') ADVANCE(54); - if (lookahead == '\\') ADVANCE(25); - if (lookahead == '\t' || - lookahead == '\r' || - lookahead == ' ') ADVANCE(53); - if (lookahead != 0) ADVANCE(52); - END_STATE(); - case 2: - if (lookahead == '"') ADVANCE(51); - if (lookahead == '#') ADVANCE(77); + if (lookahead == '#') ADVANCE(79); if (lookahead == '(') ADVANCE(46); - if (lookahead == '*') ADVANCE(69); - if (lookahead == '/') ADVANCE(5); - if (lookahead == '=') ADVANCE(9); - if (lookahead == '[') ADVANCE(63); + if (lookahead == '*') ADVANCE(70); + 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 == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(1) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(45); + END_STATE(); + case 2: + if (lookahead == '"') ADVANCE(51); + if (lookahead == '#') ADVANCE(79); + if (lookahead == '(') ADVANCE(46); + if (lookahead == '.') ADVANCE(68); + 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 == '\t' || lookahead == '\n' || lookahead == '\r' || @@ -2057,122 +2053,105 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 3: if (lookahead == '"') ADVANCE(51); - if (lookahead == '#') ADVANCE(77); - if (lookahead == '(') ADVANCE(46); - if (lookahead == '.') ADVANCE(67); - if (lookahead == '/') ADVANCE(5); - if (lookahead == ':') ADVANCE(66); + if (lookahead == '#') ADVANCE(79); + if (lookahead == '/') ADVANCE(4); if (lookahead == '=') ADVANCE(29); - if (lookahead == '[') ADVANCE(63); - if (lookahead == ']') ADVANCE(65); - 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 == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(3) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); if (sym_identifier_character_set_1(lookahead)) ADVANCE(45); END_STATE(); case 4: - if (lookahead == '"') ADVANCE(51); - if (lookahead == '#') ADVANCE(77); - if (lookahead == '/') ADVANCE(5); - if (lookahead == '=') ADVANCE(29); - if (lookahead == '{') ADVANCE(31); - if (lookahead == '\t' || - lookahead == '\n' || - lookahead == '\r' || - lookahead == ' ') SKIP(4) - if (sym_identifier_character_set_1(lookahead)) ADVANCE(45); + if (lookahead == '*') ADVANCE(6); + if (lookahead == '/') ADVANCE(79); END_STATE(); case 5: - if (lookahead == '*') ADVANCE(7); + if (lookahead == '*') ADVANCE(5); if (lookahead == '/') ADVANCE(77); + if (lookahead != 0) ADVANCE(6); END_STATE(); case 6: - if (lookahead == '*') ADVANCE(6); - if (lookahead == '/') ADVANCE(76); - if (lookahead != 0) ADVANCE(7); + if (lookahead == '*') ADVANCE(5); + if (lookahead != 0) ADVANCE(6); END_STATE(); case 7: - if (lookahead == '*') ADVANCE(6); - if (lookahead != 0) ADVANCE(7); + if (lookahead == '.') ADVANCE(72); END_STATE(); case 8: - if (lookahead == '.') ADVANCE(71); + if (lookahead == '>') ADVANCE(71); END_STATE(); case 9: - if (lookahead == '>') ADVANCE(70); + if (lookahead == 'a') ADVANCE(13); + if (lookahead == 'o') ADVANCE(16); END_STATE(); case 10: - if (lookahead == 'a') ADVANCE(14); - if (lookahead == 'o') ADVANCE(17); + if (lookahead == 'e') ADVANCE(58); END_STATE(); case 11: - if (lookahead == 'e') ADVANCE(57); + if (lookahead == 'e') ADVANCE(60); END_STATE(); case 12: - if (lookahead == 'e') ADVANCE(59); + if (lookahead == 'f') ADVANCE(76); + if (lookahead == 'n') ADVANCE(75); END_STATE(); case 13: - if (lookahead == 'f') ADVANCE(75); - if (lookahead == 'n') ADVANCE(74); + if (lookahead == 'l') ADVANCE(18); END_STATE(); case 14: - if (lookahead == 'l') ADVANCE(19); + if (lookahead == 'l') ADVANCE(62); END_STATE(); case 15: - if (lookahead == 'l') ADVANCE(61); + if (lookahead == 'l') ADVANCE(14); END_STATE(); case 16: - if (lookahead == 'l') ADVANCE(15); + if (lookahead == 'r') ADVANCE(73); END_STATE(); case 17: - if (lookahead == 'r') ADVANCE(72); + if (lookahead == 'r') ADVANCE(19); END_STATE(); case 18: - if (lookahead == 'r') ADVANCE(20); + if (lookahead == 's') ADVANCE(11); END_STATE(); case 19: - if (lookahead == 's') ADVANCE(12); + if (lookahead == 'u') ADVANCE(10); END_STATE(); case 20: - if (lookahead == 'u') ADVANCE(11); + if (lookahead == 'u') ADVANCE(15); END_STATE(); case 21: - if (lookahead == 'u') ADVANCE(16); + if (lookahead == '+' || + lookahead == '-') ADVANCE(23); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); END_STATE(); case 22: - if (lookahead == '+' || - lookahead == '-') ADVANCE(24); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); - END_STATE(); - case 23: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); END_STATE(); - case 24: + case 23: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); END_STATE(); + case 24: + if (lookahead != 0 && + lookahead != '*') ADVANCE(56); + if (lookahead == '*') ADVANCE(55); + END_STATE(); case 25: - if (lookahead != 0) ADVANCE(56); + if (lookahead != 0) ADVANCE(57); END_STATE(); case 26: if (eof) ADVANCE(28); if (lookahead == '"') ADVANCE(51); - if (lookahead == '#') ADVANCE(77); + if (lookahead == '#') ADVANCE(79); if (lookahead == ')') ADVANCE(47); - if (lookahead == '*') ADVANCE(69); - if (lookahead == ',') ADVANCE(64); - if (lookahead == '.') ADVANCE(67); - if (lookahead == '/') ADVANCE(5); - if (lookahead == ':') ADVANCE(66); + if (lookahead == '*') ADVANCE(70); + if (lookahead == ',') ADVANCE(65); + if (lookahead == '.') ADVANCE(68); + if (lookahead == '/') ADVANCE(4); + if (lookahead == ':') ADVANCE(67); if (lookahead == '=') ADVANCE(30); - if (lookahead == '[') ADVANCE(63); - if (lookahead == ']') ADVANCE(65); + if (lookahead == '[') ADVANCE(64); + if (lookahead == ']') ADVANCE(66); if (lookahead == '{') ADVANCE(31); if (lookahead == '}') ADVANCE(32); if (lookahead == '\t' || @@ -2183,15 +2162,15 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 27: if (eof) ADVANCE(28); - if (lookahead == '#') ADVANCE(77); + if (lookahead == '#') ADVANCE(79); if (lookahead == ')') ADVANCE(47); - if (lookahead == ',') ADVANCE(64); - if (lookahead == '.') ADVANCE(67); - if (lookahead == '/') ADVANCE(5); - if (lookahead == ':') ADVANCE(66); - if (lookahead == '=') ADVANCE(9); - if (lookahead == '[') ADVANCE(63); - if (lookahead == ']') ADVANCE(65); + if (lookahead == ',') ADVANCE(65); + if (lookahead == '.') ADVANCE(68); + 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' || @@ -2207,7 +2186,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 30: ACCEPT_TOKEN(anon_sym_EQ); - if (lookahead == '>') ADVANCE(70); + if (lookahead == '>') ADVANCE(71); END_STATE(); case 31: ACCEPT_TOKEN(anon_sym_LBRACE); @@ -2228,12 +2207,12 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 35: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(58); + if (lookahead == 'e') ADVANCE(59); if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); END_STATE(); case 36: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(60); + if (lookahead == 'e') ADVANCE(61); if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); END_STATE(); case 37: @@ -2243,7 +2222,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 38: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(62); + if (lookahead == 'l') ADVANCE(63); if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); END_STATE(); case 39: @@ -2253,7 +2232,7 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 40: ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(73); + if (lookahead == 'r') ADVANCE(74); if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); END_STATE(); case 41: @@ -2288,13 +2267,13 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 48: ACCEPT_TOKEN(sym_numeric_lit); - if (lookahead == '.') ADVANCE(23); + if (lookahead == '.') ADVANCE(22); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); END_STATE(); case 49: ACCEPT_TOKEN(sym_numeric_lit); if (lookahead == 'E' || - lookahead == 'e') ADVANCE(22); + lookahead == 'e') ADVANCE(21); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); END_STATE(); case 50: @@ -2306,101 +2285,130 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { END_STATE(); case 52: ACCEPT_TOKEN(aux_sym_string_lit_token1); + if (lookahead == '"') ADVANCE(79); + if (lookahead == '\\') ADVANCE(78); + if (lookahead != 0 && + lookahead != '\n') ADVANCE(52); END_STATE(); case 53: ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == '#') ADVANCE(55); + if (lookahead == '#') ADVANCE(52); if (lookahead == '/') ADVANCE(54); + if (lookahead == '\\') ADVANCE(25); if (lookahead == '\t' || lookahead == '\r' || lookahead == ' ') ADVANCE(53); if (lookahead != 0 && lookahead != '\n' && - lookahead != '"' && - lookahead != '\\') ADVANCE(52); + lookahead != '"') ADVANCE(57); END_STATE(); case 54: ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == '*') ADVANCE(7); - if (lookahead == '/') ADVANCE(77); + if (lookahead == '*') ADVANCE(56); + if (lookahead == '/') ADVANCE(52); + if (lookahead == '\\') ADVANCE(25); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"') ADVANCE(57); END_STATE(); case 55: ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead != 0 && - lookahead != '\n') ADVANCE(77); + if (lookahead == '*') ADVANCE(55); + if (lookahead == '/') ADVANCE(57); + if (lookahead == '\\') ADVANCE(24); + if (lookahead == '\n' || + lookahead == '"') ADVANCE(6); + if (lookahead != 0) ADVANCE(56); END_STATE(); case 56: - ACCEPT_TOKEN(aux_sym_string_lit_token2); + 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(anon_sym_true); + ACCEPT_TOKEN(aux_sym_string_lit_token1); + if (lookahead == '\\') ADVANCE(25); + if (lookahead != 0 && + lookahead != '\n' && + lookahead != '"') ADVANCE(57); END_STATE(); case 58: ACCEPT_TOKEN(anon_sym_true); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); END_STATE(); case 59: - ACCEPT_TOKEN(anon_sym_false); + ACCEPT_TOKEN(anon_sym_true); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); END_STATE(); case 60: ACCEPT_TOKEN(anon_sym_false); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); END_STATE(); case 61: - ACCEPT_TOKEN(sym_null_lit); + ACCEPT_TOKEN(anon_sym_false); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); END_STATE(); case 62: ACCEPT_TOKEN(sym_null_lit); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); END_STATE(); case 63: - ACCEPT_TOKEN(anon_sym_LBRACK); + ACCEPT_TOKEN(sym_null_lit); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); END_STATE(); case 64: - ACCEPT_TOKEN(anon_sym_COMMA); + ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); case 65: - ACCEPT_TOKEN(anon_sym_RBRACK); + ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 66: - ACCEPT_TOKEN(anon_sym_COLON); + ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 67: - ACCEPT_TOKEN(anon_sym_DOT); + ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 68: ACCEPT_TOKEN(anon_sym_DOT); - if (lookahead == '.') ADVANCE(8); END_STATE(); case 69: - ACCEPT_TOKEN(anon_sym_STAR); + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(7); END_STATE(); case 70: - ACCEPT_TOKEN(anon_sym_EQ_GT); + ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 71: - ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + ACCEPT_TOKEN(anon_sym_EQ_GT); END_STATE(); case 72: - ACCEPT_TOKEN(anon_sym_for); + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); 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); + ACCEPT_TOKEN(anon_sym_for); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); END_STATE(); case 75: - ACCEPT_TOKEN(anon_sym_if); + ACCEPT_TOKEN(anon_sym_in); END_STATE(); case 76: - ACCEPT_TOKEN(sym_comment); + ACCEPT_TOKEN(anon_sym_if); 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); + END_STATE(); + case 79: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(77); + lookahead != '\n') ADVANCE(79); END_STATE(); default: return false; @@ -2410,29 +2418,29 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, [1] = {.lex_state = 26}, - [2] = {.lex_state = 3}, - [3] = {.lex_state = 3}, - [4] = {.lex_state = 3}, - [5] = {.lex_state = 3}, - [6] = {.lex_state = 2}, - [7] = {.lex_state = 2}, - [8] = {.lex_state = 2}, - [9] = {.lex_state = 2}, - [10] = {.lex_state = 2}, - [11] = {.lex_state = 2}, - [12] = {.lex_state = 2}, - [13] = {.lex_state = 2}, - [14] = {.lex_state = 2}, - [15] = {.lex_state = 2}, - [16] = {.lex_state = 2}, - [17] = {.lex_state = 2}, - [18] = {.lex_state = 2}, - [19] = {.lex_state = 2}, - [20] = {.lex_state = 2}, - [21] = {.lex_state = 2}, - [22] = {.lex_state = 2}, - [23] = {.lex_state = 2}, - [24] = {.lex_state = 2}, + [2] = {.lex_state = 2}, + [3] = {.lex_state = 2}, + [4] = {.lex_state = 2}, + [5] = {.lex_state = 2}, + [6] = {.lex_state = 1}, + [7] = {.lex_state = 1}, + [8] = {.lex_state = 1}, + [9] = {.lex_state = 1}, + [10] = {.lex_state = 1}, + [11] = {.lex_state = 1}, + [12] = {.lex_state = 1}, + [13] = {.lex_state = 1}, + [14] = {.lex_state = 1}, + [15] = {.lex_state = 1}, + [16] = {.lex_state = 1}, + [17] = {.lex_state = 1}, + [18] = {.lex_state = 1}, + [19] = {.lex_state = 1}, + [20] = {.lex_state = 1}, + [21] = {.lex_state = 1}, + [22] = {.lex_state = 1}, + [23] = {.lex_state = 1}, + [24] = {.lex_state = 1}, [25] = {.lex_state = 26}, [26] = {.lex_state = 26}, [27] = {.lex_state = 26}, @@ -2450,8 +2458,8 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [39] = {.lex_state = 26}, [40] = {.lex_state = 26}, [41] = {.lex_state = 26}, - [42] = {.lex_state = 0}, - [43] = {.lex_state = 26}, + [42] = {.lex_state = 26}, + [43] = {.lex_state = 0}, [44] = {.lex_state = 26}, [45] = {.lex_state = 26}, [46] = {.lex_state = 26}, @@ -2463,28 +2471,28 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [52] = {.lex_state = 26}, [53] = {.lex_state = 26}, [54] = {.lex_state = 26}, - [55] = {.lex_state = 26}, - [56] = {.lex_state = 27}, - [57] = {.lex_state = 2}, - [58] = {.lex_state = 2}, - [59] = {.lex_state = 0}, + [55] = {.lex_state = 27}, + [56] = {.lex_state = 1}, + [57] = {.lex_state = 0}, + [58] = {.lex_state = 0}, + [59] = {.lex_state = 1}, [60] = {.lex_state = 0}, [61] = {.lex_state = 0}, [62] = {.lex_state = 0}, [63] = {.lex_state = 0}, [64] = {.lex_state = 0}, - [65] = {.lex_state = 4}, - [66] = {.lex_state = 0}, + [65] = {.lex_state = 3}, + [66] = {.lex_state = 26}, [67] = {.lex_state = 26}, [68] = {.lex_state = 0}, [69] = {.lex_state = 0}, - [70] = {.lex_state = 0}, - [71] = {.lex_state = 26}, + [70] = {.lex_state = 26}, + [71] = {.lex_state = 0}, [72] = {.lex_state = 0}, [73] = {.lex_state = 0}, - [74] = {.lex_state = 26}, - [75] = {.lex_state = 0}, - [76] = {.lex_state = 26}, + [74] = {.lex_state = 0}, + [75] = {.lex_state = 26}, + [76] = {.lex_state = 0}, [77] = {.lex_state = 0}, [78] = {.lex_state = 0}, [79] = {.lex_state = 0}, @@ -2500,69 +2508,66 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [89] = {.lex_state = 0}, [90] = {.lex_state = 0}, [91] = {.lex_state = 0}, - [92] = {.lex_state = 0}, - [93] = {.lex_state = 0}, - [94] = {.lex_state = 26}, - [95] = {.lex_state = 26}, - [96] = {.lex_state = 1}, - [97] = {.lex_state = 0}, - [98] = {.lex_state = 1}, - [99] = {.lex_state = 0}, - [100] = {.lex_state = 1}, - [101] = {.lex_state = 1}, - [102] = {.lex_state = 3}, - [103] = {.lex_state = 1}, + [92] = {.lex_state = 26}, + [93] = {.lex_state = 26}, + [94] = {.lex_state = 2}, + [95] = {.lex_state = 0}, + [96] = {.lex_state = 0}, + [97] = {.lex_state = 26}, + [98] = {.lex_state = 0}, + [99] = {.lex_state = 26}, + [100] = {.lex_state = 0}, + [101] = {.lex_state = 0}, + [102] = {.lex_state = 0}, + [103] = {.lex_state = 0}, [104] = {.lex_state = 0}, - [105] = {.lex_state = 26}, + [105] = {.lex_state = 0}, [106] = {.lex_state = 0}, [107] = {.lex_state = 0}, - [108] = {.lex_state = 0}, + [108] = {.lex_state = 26}, [109] = {.lex_state = 0}, [110] = {.lex_state = 0}, [111] = {.lex_state = 0}, - [112] = {.lex_state = 26}, - [113] = {.lex_state = 0}, - [114] = {.lex_state = 26}, - [115] = {.lex_state = 26}, - [116] = {.lex_state = 0}, - [117] = {.lex_state = 0}, + [112] = {.lex_state = 0}, + [113] = {.lex_state = 26}, + [114] = {.lex_state = 0}, + [115] = {.lex_state = 0}, + [116] = {.lex_state = 2}, + [117] = {.lex_state = 26}, [118] = {.lex_state = 0}, - [119] = {.lex_state = 0}, + [119] = {.lex_state = 26}, [120] = {.lex_state = 0}, [121] = {.lex_state = 0}, [122] = {.lex_state = 0}, - [123] = {.lex_state = 26}, + [123] = {.lex_state = 0}, [124] = {.lex_state = 0}, [125] = {.lex_state = 0}, - [126] = {.lex_state = 0}, - [127] = {.lex_state = 26}, + [126] = {.lex_state = 1}, + [127] = {.lex_state = 0}, [128] = {.lex_state = 0}, - [129] = {.lex_state = 3}, + [129] = {.lex_state = 0}, [130] = {.lex_state = 0}, [131] = {.lex_state = 0}, [132] = {.lex_state = 0}, - [133] = {.lex_state = 0}, + [133] = {.lex_state = 26}, [134] = {.lex_state = 0}, [135] = {.lex_state = 0}, - [136] = {.lex_state = 26}, + [136] = {.lex_state = 0}, [137] = {.lex_state = 26}, [138] = {.lex_state = 0}, - [139] = {.lex_state = 26}, - [140] = {.lex_state = 0}, - [141] = {.lex_state = 0}, + [139] = {.lex_state = 0}, + [140] = {.lex_state = 26}, + [141] = {.lex_state = 26}, [142] = {.lex_state = 0}, [143] = {.lex_state = 0}, [144] = {.lex_state = 0}, - [145] = {.lex_state = 0}, - [146] = {.lex_state = 0}, + [145] = {.lex_state = 53}, + [146] = {.lex_state = 53}, [147] = {.lex_state = 0}, [148] = {.lex_state = 0}, - [149] = {.lex_state = 26}, - [150] = {.lex_state = 0}, - [151] = {.lex_state = 2}, - [152] = {.lex_state = 0}, - [153] = {.lex_state = 2}, - [154] = {.lex_state = 0}, + [149] = {.lex_state = 0}, + [150] = {.lex_state = 1}, + [151] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2575,7 +2580,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_RPAREN] = ACTIONS(1), [sym_numeric_lit] = ACTIONS(1), [anon_sym_DQUOTE] = ACTIONS(1), - [aux_sym_string_lit_token2] = ACTIONS(1), [anon_sym_true] = ACTIONS(1), [anon_sym_false] = ACTIONS(1), [sym_null_lit] = ACTIONS(1), @@ -2593,11 +2597,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_comment] = ACTIONS(3), }, [1] = { - [sym_config_file] = STATE(154), - [sym_body] = STATE(152), - [sym_attribute] = STATE(74), - [sym_block] = STATE(74), - [aux_sym_body_repeat1] = STATE(74), + [sym_config_file] = STATE(151), + [sym_body] = STATE(149), + [sym_attribute] = STATE(66), + [sym_block] = STATE(66), + [aux_sym_body_repeat1] = STATE(66), [sym_identifier] = ACTIONS(5), [sym_comment] = ACTIONS(3), }, @@ -2625,27 +2629,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_for, - STATE(16), 1, + STATE(15), 1, sym_for_intro, STATE(25), 1, sym_expr_term, - STATE(117), 1, + STATE(107), 1, sym_object_elem, - STATE(129), 1, + STATE(116), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -2671,27 +2675,27 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_for, ACTIONS(27), 1, anon_sym_RBRACE, - STATE(12), 1, + STATE(16), 1, sym_for_intro, STATE(25), 1, sym_expr_term, - STATE(108), 1, + STATE(105), 1, sym_object_elem, - STATE(129), 1, + STATE(116), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -2721,21 +2725,21 @@ static const uint16_t ts_small_parse_table[] = { sym_for_intro, STATE(25), 1, sym_expr_term, - STATE(121), 1, + STATE(106), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -2761,25 +2765,25 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, ACTIONS(33), 1, anon_sym_RBRACK, - STATE(23), 1, + STATE(20), 1, sym_for_intro, STATE(25), 1, sym_expr_term, - STATE(109), 1, + STATE(102), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -2803,23 +2807,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, STATE(25), 1, sym_expr_term, - STATE(124), 1, - sym_object_elem, - STATE(129), 1, + STATE(116), 1, sym_expression, + STATE(120), 1, + sym_object_elem, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -2845,21 +2849,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, STATE(25), 1, sym_expr_term, - STATE(133), 1, + STATE(136), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -2885,21 +2889,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, STATE(25), 1, sym_expr_term, - STATE(142), 1, + STATE(148), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -2907,37 +2911,37 @@ static const uint16_t ts_small_parse_table[] = { [422] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(39), 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, + ACTIONS(41), 1, sym_identifier, - STATE(25), 1, + ACTIONS(43), 1, + anon_sym_LPAREN, + ACTIONS(45), 1, + sym_numeric_lit, + ACTIONS(47), 1, + anon_sym_DQUOTE, + ACTIONS(51), 1, + sym_null_lit, + ACTIONS(53), 1, + anon_sym_LBRACK, + STATE(43), 1, sym_expr_term, - STATE(142), 1, + STATE(95), 1, sym_expression, - ACTIONS(19), 2, + ACTIONS(49), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, + STATE(80), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(46), 2, + STATE(81), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(91), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(90), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -2961,21 +2965,21 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(25), 1, sym_expr_term, - STATE(112), 1, + STATE(136), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -2999,21 +3003,21 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(25), 1, sym_expr_term, - STATE(126), 1, + STATE(122), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3037,21 +3041,21 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(25), 1, sym_expr_term, - STATE(151), 1, + 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(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3080,16 +3084,16 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3113,21 +3117,21 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(25), 1, sym_expr_term, - STATE(140), 1, + STATE(131), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3151,21 +3155,21 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(25), 1, sym_expr_term, - STATE(122), 1, + STATE(150), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3189,21 +3193,21 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(25), 1, sym_expr_term, - STATE(153), 1, + 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(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3227,21 +3231,21 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(25), 1, sym_expr_term, - STATE(145), 1, + STATE(97), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3263,23 +3267,23 @@ static const uint16_t ts_small_parse_table[] = { sym_null_lit, ACTIONS(53), 1, anon_sym_LBRACK, - STATE(42), 1, + STATE(43), 1, sym_expr_term, - STATE(97), 1, + STATE(96), 1, sym_expression, ACTIONS(49), 2, anon_sym_true, anon_sym_false, - STATE(79), 2, + STATE(80), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(80), 2, - sym_tuple, - sym_object, - STATE(90), 2, + STATE(81), 2, sym_string_lit, sym_bool_lit, - STATE(93), 4, + STATE(91), 2, + sym_tuple, + sym_object, + STATE(90), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3303,21 +3307,21 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(25), 1, sym_expr_term, - STATE(133), 1, + STATE(148), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3339,23 +3343,23 @@ static const uint16_t ts_small_parse_table[] = { sym_null_lit, ACTIONS(53), 1, anon_sym_LBRACK, - STATE(42), 1, + STATE(43), 1, sym_expr_term, - STATE(99), 1, + STATE(109), 1, sym_expression, ACTIONS(49), 2, anon_sym_true, anon_sym_false, - STATE(79), 2, + STATE(80), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(80), 2, - sym_tuple, - sym_object, - STATE(90), 2, + STATE(81), 2, sym_string_lit, sym_bool_lit, - STATE(93), 4, + STATE(91), 2, + sym_tuple, + sym_object, + STATE(90), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3379,21 +3383,21 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(25), 1, sym_expr_term, - STATE(128), 1, + STATE(121), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(38), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3417,21 +3421,21 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(25), 1, sym_expr_term, - STATE(135), 1, + 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(46), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(54), 2, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, sym_tuple, sym_object, - STATE(53), 4, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3439,37 +3443,37 @@ static const uint16_t ts_small_parse_table[] = { [1164] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(39), 1, + ACTIONS(7), 1, anon_sym_LBRACE, - ACTIONS(41), 1, - sym_identifier, - ACTIONS(43), 1, + ACTIONS(13), 1, anon_sym_LPAREN, - ACTIONS(45), 1, + ACTIONS(15), 1, sym_numeric_lit, - ACTIONS(47), 1, + ACTIONS(17), 1, anon_sym_DQUOTE, - ACTIONS(51), 1, + ACTIONS(21), 1, sym_null_lit, - ACTIONS(53), 1, + ACTIONS(23), 1, anon_sym_LBRACK, - STATE(42), 1, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, sym_expr_term, - STATE(113), 1, + STATE(142), 1, sym_expression, - ACTIONS(49), 2, + ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(79), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(80), 2, - sym_tuple, - sym_object, - STATE(90), 2, + STATE(35), 2, sym_string_lit, sym_bool_lit, - STATE(93), 4, + STATE(52), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(53), 2, + sym_tuple, + sym_object, + STATE(54), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3491,23 +3495,23 @@ static const uint16_t ts_small_parse_table[] = { sym_null_lit, ACTIONS(53), 1, anon_sym_LBRACK, - STATE(42), 1, + STATE(43), 1, sym_expr_term, - STATE(116), 1, + STATE(101), 1, sym_expression, ACTIONS(49), 2, anon_sym_true, anon_sym_false, - STATE(79), 2, + STATE(80), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(80), 2, - sym_tuple, - sym_object, - STATE(90), 2, + STATE(81), 2, sym_string_lit, sym_bool_lit, - STATE(93), 4, + STATE(91), 2, + sym_tuple, + sym_object, + STATE(90), 4, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3521,10 +3525,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(61), 1, anon_sym_DOT, - STATE(51), 2, + STATE(40), 2, sym_attr_splat, sym_full_splat, - STATE(50), 3, + STATE(39), 3, sym_index, sym_get_attr, sym_splat, @@ -3546,7 +3550,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(70), 1, anon_sym_DOT, - STATE(28), 3, + STATE(26), 3, sym_index, sym_get_attr, aux_sym_full_splat_repeat1, @@ -3568,7 +3572,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(80), 1, anon_sym_DOT, - STATE(26), 3, + STATE(28), 3, sym_index, sym_get_attr, aux_sym_full_splat_repeat1, @@ -3590,7 +3594,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(90), 1, anon_sym_DOT, - STATE(28), 3, + STATE(26), 3, sym_index, sym_get_attr, aux_sym_full_splat_repeat1, @@ -3603,35 +3607,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_COLON, anon_sym_EQ_GT, - [1386] = 3, + [1386] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(95), 1, anon_sym_EQ, - ACTIONS(93), 12, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_DQUOTE, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - anon_sym_EQ_GT, - [1407] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(99), 1, - anon_sym_EQ, - ACTIONS(101), 1, + ACTIONS(97), 1, anon_sym_DOT, STATE(32), 2, sym_get_attr, aux_sym_attr_splat_repeat1, - ACTIONS(97), 9, + ACTIONS(93), 9, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -3641,55 +3627,17 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_COLON, anon_sym_EQ_GT, - [1432] = 3, + [1411] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(106), 1, + ACTIONS(102), 1, anon_sym_EQ, - ACTIONS(104), 12, - ts_builtin_sym_end, - anon_sym_LBRACE, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_DQUOTE, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - anon_sym_EQ_GT, - [1453] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(110), 1, - anon_sym_EQ, - ACTIONS(112), 1, - anon_sym_DOT, - STATE(32), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(108), 9, - 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, - [1478] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(117), 1, - anon_sym_EQ, - ACTIONS(119), 1, + ACTIONS(104), 1, anon_sym_DOT, STATE(30), 2, sym_get_attr, aux_sym_attr_splat_repeat1, - ACTIONS(115), 9, + ACTIONS(100), 9, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -3699,7 +3647,61 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_COLON, anon_sym_EQ_GT, - [1503] = 3, + [1436] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(109), 1, + anon_sym_EQ, + ACTIONS(107), 12, + ts_builtin_sym_end, + anon_sym_LBRACE, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_DQUOTE, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1457] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(113), 1, + anon_sym_EQ, + ACTIONS(115), 1, + anon_sym_DOT, + STATE(30), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(111), 9, + 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, + [1482] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(120), 1, + anon_sym_EQ, + ACTIONS(118), 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_DOT, + anon_sym_EQ_GT, + [1501] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(124), 1, @@ -3715,7 +3717,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1522] = 3, + [1520] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(128), 1, @@ -3731,7 +3733,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1541] = 3, + [1539] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(132), 1, @@ -3747,7 +3749,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1560] = 3, + [1558] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(136), 1, @@ -3763,7 +3765,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1579] = 3, + [1577] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(140), 1, @@ -3779,7 +3781,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1598] = 3, + [1596] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(144), 1, @@ -3795,7 +3797,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1617] = 3, + [1615] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(148), 1, @@ -3811,7 +3813,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1636] = 3, + [1634] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(152), 1, @@ -3827,31 +3829,12 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1655] = 6, + [1653] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(154), 1, - anon_sym_LBRACK, ACTIONS(156), 1, - anon_sym_DOT, - STATE(86), 2, - sym_attr_splat, - sym_full_splat, - STATE(87), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(55), 4, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_DOT_DOT, - anon_sym_if, - [1680] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(160), 1, anon_sym_EQ, - ACTIONS(158), 10, + ACTIONS(154), 10, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -3862,7 +3845,26 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1699] = 3, + [1672] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(158), 1, + anon_sym_LBRACK, + ACTIONS(160), 1, + anon_sym_DOT, + STATE(89), 2, + sym_attr_splat, + sym_full_splat, + STATE(69), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(55), 4, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [1697] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(164), 1, @@ -3878,7 +3880,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1718] = 3, + [1716] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(168), 1, @@ -3894,7 +3896,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1737] = 3, + [1735] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(172), 1, @@ -3910,7 +3912,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1756] = 3, + [1754] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(176), 1, @@ -3926,7 +3928,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1775] = 3, + [1773] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(180), 1, @@ -3942,7 +3944,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1794] = 3, + [1792] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(184), 1, @@ -3958,7 +3960,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1813] = 3, + [1811] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(188), 1, @@ -3974,7 +3976,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1832] = 3, + [1830] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(192), 1, @@ -3990,7 +3992,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1851] = 3, + [1849] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(196), 1, @@ -4006,7 +4008,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1870] = 3, + [1868] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(200), 1, @@ -4022,7 +4024,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1889] = 3, + [1887] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(204), 1, @@ -4038,11 +4040,9 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1908] = 3, + [1906] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(208), 1, - anon_sym_EQ, ACTIONS(206), 10, ts_builtin_sym_end, anon_sym_RBRACE, @@ -4054,72 +4054,28 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_DOT, anon_sym_EQ_GT, - [1927] = 2, + [1922] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(210), 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_DOT, - anon_sym_EQ_GT, - [1943] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(214), 4, + ACTIONS(210), 4, sym_identifier, anon_sym_true, anon_sym_false, sym_null_lit, - ACTIONS(212), 5, + ACTIONS(208), 5, anon_sym_LBRACE, anon_sym_LPAREN, sym_numeric_lit, anon_sym_DQUOTE, anon_sym_LBRACK, - [1960] = 3, + [1939] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(218), 4, - sym_identifier, - anon_sym_true, - anon_sym_false, - sym_null_lit, - ACTIONS(216), 5, - anon_sym_LBRACE, - anon_sym_LPAREN, - sym_numeric_lit, - anon_sym_DQUOTE, + ACTIONS(212), 1, anon_sym_LBRACK, - [1977] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(220), 1, - anon_sym_LBRACK, - ACTIONS(223), 1, + ACTIONS(215), 1, anon_sym_DOT, - STATE(60), 3, - sym_index, - sym_get_attr, - aux_sym_full_splat_repeat1, - ACTIONS(73), 4, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_DOT_DOT_DOT, - anon_sym_if, - [1998] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(226), 1, - anon_sym_LBRACK, - ACTIONS(229), 1, - anon_sym_DOT, - STATE(61), 3, + STATE(57), 3, sym_index, sym_get_attr, aux_sym_full_splat_repeat1, @@ -4128,14 +4084,14 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2019] = 5, + [1960] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(232), 1, + ACTIONS(218), 1, anon_sym_LBRACK, - ACTIONS(235), 1, + ACTIONS(221), 1, anon_sym_DOT, - STATE(61), 3, + STATE(57), 3, sym_index, sym_get_attr, aux_sym_full_splat_repeat1, @@ -4144,190 +4100,79 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2040] = 4, + [1981] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(238), 1, - anon_sym_DOT, - STATE(62), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(108), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT_DOT_DOT, - anon_sym_if, - [2058] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(241), 1, - anon_sym_DOT, - STATE(62), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(97), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT_DOT_DOT, - anon_sym_if, - [2076] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(244), 1, - anon_sym_DOT, - STATE(63), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(115), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT_DOT_DOT, - anon_sym_if, - [2094] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(247), 1, - anon_sym_EQ, - ACTIONS(249), 1, + ACTIONS(226), 4, + sym_identifier, + anon_sym_true, + anon_sym_false, + sym_null_lit, + ACTIONS(224), 5, anon_sym_LBRACE, - ACTIONS(251), 1, - sym_identifier, - STATE(94), 2, - sym_string_lit, - aux_sym_block_repeat1, - [2114] = 3, + anon_sym_LPAREN, + sym_numeric_lit, + anon_sym_DQUOTE, + anon_sym_LBRACK, + [1998] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(208), 1, + ACTIONS(228), 1, + anon_sym_LBRACK, + ACTIONS(231), 1, anon_sym_DOT, - ACTIONS(206), 5, + STATE(58), 3, + sym_index, + sym_get_attr, + aux_sym_full_splat_repeat1, + ACTIONS(73), 4, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2019] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(234), 1, + anon_sym_DOT, + STATE(61), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(100), 5, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2128] = 4, + [2037] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(255), 1, - sym_identifier, - ACTIONS(253), 2, - ts_builtin_sym_end, - anon_sym_RBRACE, - STATE(67), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [2144] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(160), 1, + ACTIONS(237), 1, anon_sym_DOT, - ACTIONS(158), 5, + STATE(61), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(111), 5, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2158] = 3, + [2055] = 4, 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_DOT_DOT_DOT, - anon_sym_if, - [2172] = 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_DOT_DOT_DOT, - anon_sym_if, - [2186] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(258), 1, - anon_sym_RBRACE, - STATE(146), 1, - sym_body, - STATE(74), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [2204] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(95), 1, + ACTIONS(240), 1, anon_sym_DOT, + STATE(62), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, ACTIONS(93), 5, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2218] = 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_DOT_DOT_DOT, - anon_sym_if, - [2232] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(260), 2, - ts_builtin_sym_end, - anon_sym_RBRACE, - STATE(67), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [2248] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(124), 1, - anon_sym_DOT, - ACTIONS(122), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT_DOT_DOT, - anon_sym_if, - [2262] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(262), 1, - anon_sym_RBRACE, - STATE(131), 1, - sym_body, - STATE(74), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [2280] = 3, + [2073] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(164), 1, @@ -4338,62 +4183,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2294] = 3, + [2087] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(148), 1, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(243), 1, + anon_sym_EQ, + ACTIONS(245), 1, + anon_sym_LBRACE, + ACTIONS(247), 1, + sym_identifier, + STATE(93), 2, + sym_string_lit, + aux_sym_block_repeat1, + [2107] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(249), 2, + ts_builtin_sym_end, + anon_sym_RBRACE, + STATE(70), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [2123] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(251), 1, + anon_sym_RBRACE, + STATE(138), 1, + sym_body, + STATE(66), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [2141] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(253), 1, anon_sym_DOT, - ACTIONS(146), 5, + ACTIONS(206), 5, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2308] = 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_DOT_DOT_DOT, - anon_sym_if, - [2322] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(204), 1, - anon_sym_DOT, - ACTIONS(202), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT_DOT_DOT, - anon_sym_if, - [2336] = 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_DOT_DOT_DOT, - anon_sym_if, - [2350] = 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_DOT_DOT_DOT, - anon_sym_if, - [2364] = 3, + [2155] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(144), 1, @@ -4404,51 +4244,19 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2378] = 3, + [2169] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(184), 1, - anon_sym_DOT, - ACTIONS(182), 5, + ACTIONS(257), 1, + sym_identifier, + ACTIONS(255), 2, + ts_builtin_sym_end, anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT_DOT_DOT, - anon_sym_if, - [2392] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(106), 1, - anon_sym_DOT, - ACTIONS(104), 5, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_DOT_DOT_DOT, - anon_sym_if, - [2406] = 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_DOT_DOT_DOT, - anon_sym_if, - [2420] = 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_DOT_DOT_DOT, - anon_sym_if, - [2434] = 3, + STATE(70), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [2185] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(152), 1, @@ -4459,29 +4267,97 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2448] = 3, + [2199] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(264), 1, + ACTIONS(132), 1, anon_sym_DOT, - ACTIONS(210), 5, + ACTIONS(130), 5, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2462] = 3, + [2213] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(172), 1, + ACTIONS(140), 1, anon_sym_DOT, - ACTIONS(170), 5, + ACTIONS(138), 5, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2476] = 3, + [2227] = 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_DOT_DOT_DOT, + anon_sym_if, + [2241] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(5), 1, + sym_identifier, + ACTIONS(260), 1, + anon_sym_RBRACE, + STATE(130), 1, + sym_body, + STATE(66), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [2259] = 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_DOT_DOT_DOT, + anon_sym_if, + [2273] = 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_DOT_DOT_DOT, + anon_sym_if, + [2287] = 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_DOT_DOT_DOT, + anon_sym_if, + [2301] = 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_DOT_DOT_DOT, + anon_sym_if, + [2315] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(196), 1, @@ -4492,7 +4368,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2490] = 3, + [2329] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(128), 1, @@ -4503,7 +4379,106 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2504] = 3, + [2343] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(124), 1, + anon_sym_DOT, + ACTIONS(122), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2357] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(156), 1, + anon_sym_DOT, + ACTIONS(154), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2371] = 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_DOT_DOT_DOT, + anon_sym_if, + [2385] = 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_DOT_DOT_DOT, + anon_sym_if, + [2399] = 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_DOT_DOT_DOT, + anon_sym_if, + [2413] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(109), 1, + anon_sym_DOT, + ACTIONS(107), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2427] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(120), 1, + anon_sym_DOT, + ACTIONS(118), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2441] = 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_DOT_DOT_DOT, + anon_sym_if, + [2455] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(204), 1, + anon_sym_DOT, + ACTIONS(202), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2469] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(200), 1, @@ -4514,440 +4489,410 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, anon_sym_DOT_DOT_DOT, anon_sym_if, - [2518] = 5, + [2483] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(262), 1, + anon_sym_LBRACE, + ACTIONS(264), 1, + sym_identifier, + ACTIONS(267), 1, + anon_sym_DQUOTE, + STATE(92), 2, + sym_string_lit, + aux_sym_block_repeat1, + [2500] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(17), 1, anon_sym_DQUOTE, - ACTIONS(266), 1, - anon_sym_LBRACE, - ACTIONS(268), 1, - sym_identifier, - STATE(95), 2, - sym_string_lit, - aux_sym_block_repeat1, - [2535] = 5, - ACTIONS(3), 1, - sym_comment, ACTIONS(270), 1, anon_sym_LBRACE, ACTIONS(272), 1, sym_identifier, - ACTIONS(275), 1, - anon_sym_DQUOTE, - STATE(95), 2, + STATE(92), 2, sym_string_lit, aux_sym_block_repeat1, - [2552] = 4, - ACTIONS(278), 1, - anon_sym_DQUOTE, - ACTIONS(282), 1, - sym_comment, - STATE(103), 1, - aux_sym_string_lit_repeat1, - ACTIONS(280), 2, - aux_sym_string_lit_token1, - aux_sym_string_lit_token2, - [2566] = 5, + [2517] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(284), 1, - anon_sym_RBRACE, - ACTIONS(286), 1, - anon_sym_DOT_DOT_DOT, - ACTIONS(288), 1, - anon_sym_if, - STATE(144), 1, - sym_for_cond, - [2582] = 4, - ACTIONS(282), 1, - sym_comment, - ACTIONS(290), 1, - anon_sym_DQUOTE, - STATE(101), 1, - aux_sym_string_lit_repeat1, - ACTIONS(292), 2, - aux_sym_string_lit_token1, - aux_sym_string_lit_token2, - [2596] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_if, - ACTIONS(294), 1, - anon_sym_RBRACE, - ACTIONS(296), 1, - anon_sym_DOT_DOT_DOT, - STATE(147), 1, - sym_for_cond, - [2612] = 4, - ACTIONS(282), 1, - sym_comment, - ACTIONS(298), 1, - anon_sym_DQUOTE, - STATE(96), 1, - aux_sym_string_lit_repeat1, - ACTIONS(300), 2, - aux_sym_string_lit_token1, - aux_sym_string_lit_token2, - [2626] = 4, - ACTIONS(282), 1, - sym_comment, - ACTIONS(302), 1, - anon_sym_DQUOTE, - STATE(103), 1, - aux_sym_string_lit_repeat1, - ACTIONS(280), 2, - aux_sym_string_lit_token1, - aux_sym_string_lit_token2, - [2640] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(210), 2, + ACTIONS(206), 2, anon_sym_LBRACK, anon_sym_DOT, - ACTIONS(304), 2, + ACTIONS(274), 2, anon_sym_EQ, anon_sym_COLON, - [2652] = 4, - ACTIONS(282), 1, - sym_comment, - ACTIONS(307), 1, - anon_sym_DQUOTE, - STATE(103), 1, - aux_sym_string_lit_repeat1, - ACTIONS(309), 2, - aux_sym_string_lit_token1, - aux_sym_string_lit_token2, - [2666] = 4, + [2529] = 5, ACTIONS(3), 1, sym_comment, + ACTIONS(277), 1, + anon_sym_RBRACE, + ACTIONS(279), 1, + anon_sym_DOT_DOT_DOT, + ACTIONS(281), 1, + anon_sym_if, + STATE(127), 1, + sym_for_cond, + [2545] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(281), 1, + anon_sym_if, + ACTIONS(283), 1, + anon_sym_RBRACE, + ACTIONS(285), 1, + anon_sym_DOT_DOT_DOT, + STATE(143), 1, + sym_for_cond, + [2561] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(287), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [2570] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(289), 1, + anon_sym_COMMA, + ACTIONS(292), 1, + anon_sym_RBRACK, + STATE(98), 1, + aux_sym_tuple_repeat1, + [2583] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(294), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [2592] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(281), 1, + anon_sym_if, + ACTIONS(296), 1, + anon_sym_RBRACE, + STATE(144), 1, + sym_for_cond, + [2605] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(281), 1, + anon_sym_if, + ACTIONS(298), 1, + anon_sym_RBRACK, + STATE(139), 1, + sym_for_cond, + [2618] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(300), 1, + anon_sym_COMMA, + ACTIONS(302), 1, + anon_sym_RBRACK, + STATE(114), 1, + aux_sym_tuple_repeat1, + [2631] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(300), 1, + anon_sym_COMMA, + ACTIONS(304), 1, + anon_sym_RBRACK, + STATE(98), 1, + aux_sym_tuple_repeat1, + [2644] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(306), 1, + anon_sym_RBRACE, + ACTIONS(308), 1, + anon_sym_COMMA, + STATE(112), 1, + aux_sym_object_repeat1, + [2657] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(308), 1, + anon_sym_COMMA, + ACTIONS(310), 1, + anon_sym_RBRACE, + STATE(111), 1, + aux_sym_object_repeat1, + [2670] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(300), 1, + anon_sym_COMMA, ACTIONS(312), 1, + anon_sym_RBRACK, + STATE(103), 1, + aux_sym_tuple_repeat1, + [2683] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(308), 1, anon_sym_COMMA, ACTIONS(314), 1, - anon_sym_RBRACK, - STATE(120), 1, - aux_sym_tuple_repeat1, - [2679] = 2, + anon_sym_RBRACE, + STATE(104), 1, + aux_sym_object_repeat1, + [2696] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(316), 3, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, - [2688] = 4, + [2705] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(312), 1, - anon_sym_COMMA, + ACTIONS(281), 1, + anon_sym_if, ACTIONS(318), 1, anon_sym_RBRACK, - STATE(120), 1, - aux_sym_tuple_repeat1, - [2701] = 4, + STATE(128), 1, + sym_for_cond, + [2718] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(288), 1, + ACTIONS(281), 1, anon_sym_if, ACTIONS(320), 1, anon_sym_RBRACE, - STATE(150), 1, + STATE(124), 1, sym_for_cond, - [2714] = 4, + [2731] = 4, ACTIONS(3), 1, sym_comment, + ACTIONS(308), 1, + anon_sym_COMMA, ACTIONS(322), 1, anon_sym_RBRACE, - ACTIONS(324), 1, - anon_sym_COMMA, - STATE(111), 1, + STATE(112), 1, aux_sym_object_repeat1, - [2727] = 4, + [2744] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(312), 1, - anon_sym_COMMA, + ACTIONS(324), 1, + anon_sym_RBRACE, ACTIONS(326), 1, + anon_sym_COMMA, + STATE(112), 1, + aux_sym_object_repeat1, + [2757] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(329), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [2766] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(300), 1, + anon_sym_COMMA, + ACTIONS(331), 1, anon_sym_RBRACK, - STATE(106), 1, + STATE(98), 1, aux_sym_tuple_repeat1, - [2740] = 4, + [2779] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(288), 1, - anon_sym_if, - ACTIONS(328), 1, - anon_sym_RBRACE, - STATE(148), 1, - sym_for_cond, - [2753] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(324), 1, + ACTIONS(333), 1, anon_sym_COMMA, - ACTIONS(330), 1, - anon_sym_RBRACE, - STATE(119), 1, - aux_sym_object_repeat1, - [2766] = 2, + ACTIONS(335), 1, + anon_sym_in, + [2789] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(332), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, + ACTIONS(337), 2, + anon_sym_EQ, + anon_sym_COLON, + [2797] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(339), 1, sym_identifier, - [2775] = 4, + ACTIONS(341), 1, + anon_sym_STAR, + [2807] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(288), 1, - anon_sym_if, - ACTIONS(334), 1, + ACTIONS(343), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [2815] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(345), 1, + sym_identifier, + ACTIONS(347), 1, + anon_sym_STAR, + [2825] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(324), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [2833] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(292), 2, + anon_sym_COMMA, anon_sym_RBRACK, - STATE(138), 1, - sym_for_cond, - [2788] = 2, + [2841] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(336), 3, - ts_builtin_sym_end, + ACTIONS(349), 2, anon_sym_RBRACE, - sym_identifier, - [2797] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(338), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - [2806] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(288), 1, - anon_sym_if, - ACTIONS(340), 1, anon_sym_RBRACK, - STATE(143), 1, - sym_for_cond, - [2819] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(324), 1, - anon_sym_COMMA, - ACTIONS(342), 1, - anon_sym_RBRACE, - STATE(118), 1, - aux_sym_object_repeat1, - [2832] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(324), 1, - anon_sym_COMMA, - ACTIONS(344), 1, - anon_sym_RBRACE, - STATE(119), 1, - aux_sym_object_repeat1, - [2845] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(346), 1, - anon_sym_RBRACE, - ACTIONS(348), 1, - anon_sym_COMMA, - STATE(119), 1, - aux_sym_object_repeat1, - [2858] = 4, + [2849] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(351), 1, - anon_sym_COMMA, - ACTIONS(354), 1, anon_sym_RBRACK, - STATE(120), 1, - aux_sym_tuple_repeat1, - [2871] = 4, + [2856] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(312), 1, - anon_sym_COMMA, - ACTIONS(356), 1, - anon_sym_RBRACK, - STATE(104), 1, - aux_sym_tuple_repeat1, - [2884] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(354), 2, - anon_sym_COMMA, - anon_sym_RBRACK, - [2892] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(358), 1, - sym_identifier, - ACTIONS(360), 1, - anon_sym_STAR, - [2902] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(346), 2, + ACTIONS(353), 1, anon_sym_RBRACE, - anon_sym_COMMA, - [2910] = 3, + [2863] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(362), 1, - anon_sym_COMMA, - ACTIONS(364), 1, - anon_sym_in, - [2920] = 2, + ACTIONS(355), 1, + anon_sym_DQUOTE, + [2870] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(366), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [2928] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(368), 1, - sym_identifier, - ACTIONS(370), 1, - anon_sym_STAR, - [2938] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(372), 2, - anon_sym_RBRACE, - anon_sym_RBRACK, - [2946] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(374), 2, - anon_sym_EQ, - anon_sym_COLON, - [2954] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(376), 1, - anon_sym_in, - [2961] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(258), 1, - anon_sym_RBRACE, - [2968] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(378), 1, - anon_sym_RBRACK, - [2975] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(380), 1, - anon_sym_RBRACK, - [2982] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(382), 1, - anon_sym_RPAREN, - [2989] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(384), 1, - anon_sym_RPAREN, - [2996] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(386), 1, - sym_identifier, - [3003] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(358), 1, - sym_identifier, - [3010] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(388), 1, - anon_sym_RBRACK, - [3017] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(368), 1, - sym_identifier, - [3024] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(390), 1, - anon_sym_COLON, - [3031] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(392), 1, - anon_sym_RBRACK, - [3038] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(394), 1, - anon_sym_RBRACK, - [3045] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(396), 1, - anon_sym_RBRACK, - [3052] = 2, + ACTIONS(357), 1, + anon_sym_EQ_GT, + [2877] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(320), 1, anon_sym_RBRACE, - [3059] = 2, + [2884] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(398), 1, - anon_sym_COLON, - [3066] = 2, + ACTIONS(359), 1, + anon_sym_RBRACK, + [2891] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(400), 1, + ACTIONS(361), 1, + anon_sym_DQUOTE, + [2898] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 1, anon_sym_RBRACE, - [3073] = 2, + [2905] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(328), 1, - anon_sym_RBRACE, - [3080] = 2, + ACTIONS(365), 1, + anon_sym_RPAREN, + [2912] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(402), 1, - anon_sym_RBRACE, - [3087] = 2, + ACTIONS(367), 1, + anon_sym_RBRACK, + [2919] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(404), 1, + ACTIONS(339), 1, sym_identifier, - [3094] = 2, + [2926] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(406), 1, + ACTIONS(369), 1, + anon_sym_COLON, + [2933] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(371), 1, + anon_sym_RPAREN, + [2940] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(373), 1, + anon_sym_RBRACK, + [2947] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(375), 1, + sym_identifier, + [2954] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(260), 1, anon_sym_RBRACE, - [3101] = 2, + [2961] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(408), 1, - anon_sym_EQ_GT, - [3108] = 2, + ACTIONS(377), 1, + anon_sym_RBRACK, + [2968] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(410), 1, + ACTIONS(379), 1, + sym_identifier, + [2975] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(345), 1, + sym_identifier, + [2982] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(381), 1, + anon_sym_COLON, + [2989] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(296), 1, + anon_sym_RBRACE, + [2996] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(383), 1, + anon_sym_RBRACE, + [3003] = 2, + ACTIONS(385), 1, + aux_sym_string_lit_token1, + ACTIONS(387), 1, + sym_comment, + [3010] = 2, + ACTIONS(387), 1, + sym_comment, + ACTIONS(389), 1, + aux_sym_string_lit_token1, + [3017] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(391), 1, + anon_sym_in, + [3024] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(393), 1, + anon_sym_RBRACK, + [3031] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(395), 1, ts_builtin_sym_end, - [3115] = 2, + [3038] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(412), 1, + ACTIONS(397), 1, anon_sym_EQ_GT, - [3122] = 2, + [3045] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(414), 1, + ACTIONS(399), 1, ts_builtin_sym_end, }; @@ -4980,131 +4925,128 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(27)] = 1330, [SMALL_STATE(28)] = 1358, [SMALL_STATE(29)] = 1386, - [SMALL_STATE(30)] = 1407, - [SMALL_STATE(31)] = 1432, - [SMALL_STATE(32)] = 1453, - [SMALL_STATE(33)] = 1478, - [SMALL_STATE(34)] = 1503, - [SMALL_STATE(35)] = 1522, - [SMALL_STATE(36)] = 1541, - [SMALL_STATE(37)] = 1560, - [SMALL_STATE(38)] = 1579, - [SMALL_STATE(39)] = 1598, - [SMALL_STATE(40)] = 1617, - [SMALL_STATE(41)] = 1636, - [SMALL_STATE(42)] = 1655, - [SMALL_STATE(43)] = 1680, - [SMALL_STATE(44)] = 1699, - [SMALL_STATE(45)] = 1718, - [SMALL_STATE(46)] = 1737, - [SMALL_STATE(47)] = 1756, - [SMALL_STATE(48)] = 1775, - [SMALL_STATE(49)] = 1794, - [SMALL_STATE(50)] = 1813, - [SMALL_STATE(51)] = 1832, - [SMALL_STATE(52)] = 1851, - [SMALL_STATE(53)] = 1870, - [SMALL_STATE(54)] = 1889, - [SMALL_STATE(55)] = 1908, - [SMALL_STATE(56)] = 1927, - [SMALL_STATE(57)] = 1943, + [SMALL_STATE(30)] = 1411, + [SMALL_STATE(31)] = 1436, + [SMALL_STATE(32)] = 1457, + [SMALL_STATE(33)] = 1482, + [SMALL_STATE(34)] = 1501, + [SMALL_STATE(35)] = 1520, + [SMALL_STATE(36)] = 1539, + [SMALL_STATE(37)] = 1558, + [SMALL_STATE(38)] = 1577, + [SMALL_STATE(39)] = 1596, + [SMALL_STATE(40)] = 1615, + [SMALL_STATE(41)] = 1634, + [SMALL_STATE(42)] = 1653, + [SMALL_STATE(43)] = 1672, + [SMALL_STATE(44)] = 1697, + [SMALL_STATE(45)] = 1716, + [SMALL_STATE(46)] = 1735, + [SMALL_STATE(47)] = 1754, + [SMALL_STATE(48)] = 1773, + [SMALL_STATE(49)] = 1792, + [SMALL_STATE(50)] = 1811, + [SMALL_STATE(51)] = 1830, + [SMALL_STATE(52)] = 1849, + [SMALL_STATE(53)] = 1868, + [SMALL_STATE(54)] = 1887, + [SMALL_STATE(55)] = 1906, + [SMALL_STATE(56)] = 1922, + [SMALL_STATE(57)] = 1939, [SMALL_STATE(58)] = 1960, - [SMALL_STATE(59)] = 1977, + [SMALL_STATE(59)] = 1981, [SMALL_STATE(60)] = 1998, [SMALL_STATE(61)] = 2019, - [SMALL_STATE(62)] = 2040, - [SMALL_STATE(63)] = 2058, - [SMALL_STATE(64)] = 2076, - [SMALL_STATE(65)] = 2094, - [SMALL_STATE(66)] = 2114, - [SMALL_STATE(67)] = 2128, - [SMALL_STATE(68)] = 2144, - [SMALL_STATE(69)] = 2158, - [SMALL_STATE(70)] = 2172, - [SMALL_STATE(71)] = 2186, - [SMALL_STATE(72)] = 2204, - [SMALL_STATE(73)] = 2218, - [SMALL_STATE(74)] = 2232, - [SMALL_STATE(75)] = 2248, - [SMALL_STATE(76)] = 2262, - [SMALL_STATE(77)] = 2280, - [SMALL_STATE(78)] = 2294, - [SMALL_STATE(79)] = 2308, - [SMALL_STATE(80)] = 2322, - [SMALL_STATE(81)] = 2336, - [SMALL_STATE(82)] = 2350, - [SMALL_STATE(83)] = 2364, - [SMALL_STATE(84)] = 2378, - [SMALL_STATE(85)] = 2392, - [SMALL_STATE(86)] = 2406, - [SMALL_STATE(87)] = 2420, - [SMALL_STATE(88)] = 2434, - [SMALL_STATE(89)] = 2448, - [SMALL_STATE(90)] = 2462, - [SMALL_STATE(91)] = 2476, - [SMALL_STATE(92)] = 2490, - [SMALL_STATE(93)] = 2504, - [SMALL_STATE(94)] = 2518, - [SMALL_STATE(95)] = 2535, - [SMALL_STATE(96)] = 2552, - [SMALL_STATE(97)] = 2566, - [SMALL_STATE(98)] = 2582, - [SMALL_STATE(99)] = 2596, - [SMALL_STATE(100)] = 2612, - [SMALL_STATE(101)] = 2626, - [SMALL_STATE(102)] = 2640, - [SMALL_STATE(103)] = 2652, - [SMALL_STATE(104)] = 2666, - [SMALL_STATE(105)] = 2679, - [SMALL_STATE(106)] = 2688, - [SMALL_STATE(107)] = 2701, - [SMALL_STATE(108)] = 2714, - [SMALL_STATE(109)] = 2727, - [SMALL_STATE(110)] = 2740, - [SMALL_STATE(111)] = 2753, - [SMALL_STATE(112)] = 2766, - [SMALL_STATE(113)] = 2775, - [SMALL_STATE(114)] = 2788, - [SMALL_STATE(115)] = 2797, - [SMALL_STATE(116)] = 2806, - [SMALL_STATE(117)] = 2819, - [SMALL_STATE(118)] = 2832, - [SMALL_STATE(119)] = 2845, - [SMALL_STATE(120)] = 2858, - [SMALL_STATE(121)] = 2871, - [SMALL_STATE(122)] = 2884, - [SMALL_STATE(123)] = 2892, - [SMALL_STATE(124)] = 2902, - [SMALL_STATE(125)] = 2910, - [SMALL_STATE(126)] = 2920, - [SMALL_STATE(127)] = 2928, - [SMALL_STATE(128)] = 2938, - [SMALL_STATE(129)] = 2946, - [SMALL_STATE(130)] = 2954, - [SMALL_STATE(131)] = 2961, - [SMALL_STATE(132)] = 2968, - [SMALL_STATE(133)] = 2975, - [SMALL_STATE(134)] = 2982, - [SMALL_STATE(135)] = 2989, - [SMALL_STATE(136)] = 2996, - [SMALL_STATE(137)] = 3003, - [SMALL_STATE(138)] = 3010, - [SMALL_STATE(139)] = 3017, - [SMALL_STATE(140)] = 3024, - [SMALL_STATE(141)] = 3031, - [SMALL_STATE(142)] = 3038, - [SMALL_STATE(143)] = 3045, - [SMALL_STATE(144)] = 3052, - [SMALL_STATE(145)] = 3059, - [SMALL_STATE(146)] = 3066, - [SMALL_STATE(147)] = 3073, - [SMALL_STATE(148)] = 3080, - [SMALL_STATE(149)] = 3087, - [SMALL_STATE(150)] = 3094, - [SMALL_STATE(151)] = 3101, - [SMALL_STATE(152)] = 3108, - [SMALL_STATE(153)] = 3115, - [SMALL_STATE(154)] = 3122, + [SMALL_STATE(62)] = 2037, + [SMALL_STATE(63)] = 2055, + [SMALL_STATE(64)] = 2073, + [SMALL_STATE(65)] = 2087, + [SMALL_STATE(66)] = 2107, + [SMALL_STATE(67)] = 2123, + [SMALL_STATE(68)] = 2141, + [SMALL_STATE(69)] = 2155, + [SMALL_STATE(70)] = 2169, + [SMALL_STATE(71)] = 2185, + [SMALL_STATE(72)] = 2199, + [SMALL_STATE(73)] = 2213, + [SMALL_STATE(74)] = 2227, + [SMALL_STATE(75)] = 2241, + [SMALL_STATE(76)] = 2259, + [SMALL_STATE(77)] = 2273, + [SMALL_STATE(78)] = 2287, + [SMALL_STATE(79)] = 2301, + [SMALL_STATE(80)] = 2315, + [SMALL_STATE(81)] = 2329, + [SMALL_STATE(82)] = 2343, + [SMALL_STATE(83)] = 2357, + [SMALL_STATE(84)] = 2371, + [SMALL_STATE(85)] = 2385, + [SMALL_STATE(86)] = 2399, + [SMALL_STATE(87)] = 2413, + [SMALL_STATE(88)] = 2427, + [SMALL_STATE(89)] = 2441, + [SMALL_STATE(90)] = 2455, + [SMALL_STATE(91)] = 2469, + [SMALL_STATE(92)] = 2483, + [SMALL_STATE(93)] = 2500, + [SMALL_STATE(94)] = 2517, + [SMALL_STATE(95)] = 2529, + [SMALL_STATE(96)] = 2545, + [SMALL_STATE(97)] = 2561, + [SMALL_STATE(98)] = 2570, + [SMALL_STATE(99)] = 2583, + [SMALL_STATE(100)] = 2592, + [SMALL_STATE(101)] = 2605, + [SMALL_STATE(102)] = 2618, + [SMALL_STATE(103)] = 2631, + [SMALL_STATE(104)] = 2644, + [SMALL_STATE(105)] = 2657, + [SMALL_STATE(106)] = 2670, + [SMALL_STATE(107)] = 2683, + [SMALL_STATE(108)] = 2696, + [SMALL_STATE(109)] = 2705, + [SMALL_STATE(110)] = 2718, + [SMALL_STATE(111)] = 2731, + [SMALL_STATE(112)] = 2744, + [SMALL_STATE(113)] = 2757, + [SMALL_STATE(114)] = 2766, + [SMALL_STATE(115)] = 2779, + [SMALL_STATE(116)] = 2789, + [SMALL_STATE(117)] = 2797, + [SMALL_STATE(118)] = 2807, + [SMALL_STATE(119)] = 2815, + [SMALL_STATE(120)] = 2825, + [SMALL_STATE(121)] = 2833, + [SMALL_STATE(122)] = 2841, + [SMALL_STATE(123)] = 2849, + [SMALL_STATE(124)] = 2856, + [SMALL_STATE(125)] = 2863, + [SMALL_STATE(126)] = 2870, + [SMALL_STATE(127)] = 2877, + [SMALL_STATE(128)] = 2884, + [SMALL_STATE(129)] = 2891, + [SMALL_STATE(130)] = 2898, + [SMALL_STATE(131)] = 2905, + [SMALL_STATE(132)] = 2912, + [SMALL_STATE(133)] = 2919, + [SMALL_STATE(134)] = 2926, + [SMALL_STATE(135)] = 2933, + [SMALL_STATE(136)] = 2940, + [SMALL_STATE(137)] = 2947, + [SMALL_STATE(138)] = 2954, + [SMALL_STATE(139)] = 2961, + [SMALL_STATE(140)] = 2968, + [SMALL_STATE(141)] = 2975, + [SMALL_STATE(142)] = 2982, + [SMALL_STATE(143)] = 2989, + [SMALL_STATE(144)] = 2996, + [SMALL_STATE(145)] = 3003, + [SMALL_STATE(146)] = 3010, + [SMALL_STATE(147)] = 3017, + [SMALL_STATE(148)] = 3024, + [SMALL_STATE(149)] = 3031, + [SMALL_STATE(150)] = 3038, + [SMALL_STATE(151)] = 3045, }; static const TSParseActionEntry ts_parse_actions[] = { @@ -5113,197 +5055,190 @@ static const TSParseActionEntry ts_parse_actions[] = { [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(88), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(52), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(94), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), + [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(149), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), - [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), + [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(137), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), + [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(55), + [31] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), + [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), [39] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(89), - [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(91), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(90), + [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(68), + [43] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(145), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), [55] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), [57] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(127), - [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 4), - [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_full_splat, 4), - [67] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(19), - [70] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(139), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(117), + [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), + [65] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), + [67] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(19), + [70] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(133), [73] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 3), [75] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_full_splat, 3), [77] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(19), - [80] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(139), - [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), - [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), - [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(19), - [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(139), - [93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 2), - [95] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_lit, 2), - [97] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 3), - [99] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 3), - [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attr_splat, 3), SHIFT(139), - [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 3), - [106] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_lit, 3), - [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attr_splat_repeat1, 2), - [110] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), - [112] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(139), - [115] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 2), - [117] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 2), - [119] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attr_splat, 2), SHIFT(139), - [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), - [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), - [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), - [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 2), - [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4), - [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 4), - [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 3), - [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 3), - [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expr, 1), - [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expr, 1), - [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 3), - [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 3), - [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_get_attr, 2), - [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_get_attr, 2), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2), - [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(123), - [158] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 8), - [160] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 8), + [80] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(133), + [83] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 4), + [85] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_full_splat, 4), + [87] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(19), + [90] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(133), + [93] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 2), + [95] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 2), + [97] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attr_splat, 2), SHIFT(133), + [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attr_splat_repeat1, 2), + [102] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), + [104] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(133), + [107] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 3), + [109] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_string_lit, 3), + [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 3), + [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 3), + [115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attr_splat, 3), SHIFT(133), + [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_lit, 1), + [120] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_lit, 1), + [122] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4), + [124] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 4), + [126] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 1), + [128] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal_value, 1), + [130] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 7), + [132] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 7), + [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), + [136] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 2), + [138] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 6), + [140] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 6), + [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 2), + [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 2), + [146] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat, 1), + [148] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_splat, 1), + [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_get_attr, 2), + [156] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_get_attr, 2), + [158] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(119), [162] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4), [164] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 4), - [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 7), - [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 7), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 1), - [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal_value, 1), - [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 5), - [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 5), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 6), - [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 6), - [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3), - [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3), - [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 2), - [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 2), - [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat, 1), - [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_splat, 1), - [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_lit, 1), - [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_lit, 1), - [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 1), - [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 1), - [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_collection_value, 1), - [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_collection_value, 1), - [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 4), - [208] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 4), - [210] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_expr, 1), - [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 5), - [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 5), - [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 7), - [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 7), - [220] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(9), - [223] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 3), SHIFT(137), - [226] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(9), - [229] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 4), SHIFT(137), - [232] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(9), - [235] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(137), - [238] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(137), - [241] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 3), SHIFT(137), - [244] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 2), SHIFT(137), - [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [249] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [253] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), - [255] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), SHIFT_REPEAT(65), - [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), - [260] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1), - [262] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_expr, 1), - [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), - [272] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(95), - [275] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(98), - [278] = {.entry = {.count = 1, .reusable = false}}, SHIFT(85), - [280] = {.entry = {.count = 1, .reusable = false}}, SHIFT(103), - [282] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [284] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [286] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), - [288] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [290] = {.entry = {.count = 1, .reusable = false}}, SHIFT(29), - [292] = {.entry = {.count = 1, .reusable = false}}, SHIFT(101), - [294] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), - [298] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [300] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), - [302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(31), - [304] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_expr, 1), SHIFT(11), - [307] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_lit_repeat1, 2), - [309] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_lit_repeat1, 2), SHIFT_REPEAT(103), - [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), + [166] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2), + [168] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2), + [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3), + [172] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3), + [174] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 4), + [176] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 4), + [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), + [180] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), + [182] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 3), + [184] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 3), + [186] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 3), + [188] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 3), + [190] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 5), + [192] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 5), + [194] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expr, 1), + [196] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expr, 1), + [198] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_collection_value, 1), + [200] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_collection_value, 1), + [202] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 1), + [204] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 1), + [206] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_expr, 1), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 5), + [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 5), + [212] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(10), + [215] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(141), + [218] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(10), + [221] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 4), SHIFT(141), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 7), + [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 7), + [228] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(10), + [231] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 3), SHIFT(141), + [234] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(141), + [237] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 3), SHIFT(141), + [240] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 2), SHIFT(141), + [243] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [245] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), + [247] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), + [249] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1), + [251] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [253] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_expr, 1), + [255] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), + [257] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), SHIFT_REPEAT(65), + [260] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), + [264] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(92), + [267] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(146), + [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [272] = {.entry = {.count = 1, .reusable = true}}, SHIFT(92), + [274] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_expr, 1), SHIFT(22), + [277] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), + [279] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [281] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [283] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), + [285] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [287] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 1), + [289] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), SHIFT_REPEAT(21), + [292] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), + [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5, .production_id = 1), + [296] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [298] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [300] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [302] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [304] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [306] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [308] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), + [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [312] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [314] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4, .production_id = 1), - [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [324] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [326] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [328] = {.entry = {.count = 1, .reusable = true}}, SHIFT(69), - [330] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 1), - [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), - [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, .production_id = 1), - [338] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5, .production_id = 1), - [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), - [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [346] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), - [348] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), SHIFT_REPEAT(6), - [351] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), SHIFT_REPEAT(15), - [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), - [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [358] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), - [362] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), - [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [366] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_elem, 3), - [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [372] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_cond, 2), - [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [378] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [382] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(130), - [388] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), - [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(125), - [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [408] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [410] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_config_file, 1), - [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [414] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [318] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [320] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), + [322] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), + [326] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), SHIFT_REPEAT(6), + [329] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, .production_id = 1), + [331] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [333] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [335] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [337] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [339] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), + [341] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), + [343] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_elem, 3), + [345] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [347] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [349] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_cond, 2), + [351] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), + [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), + [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), + [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [371] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [373] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [375] = {.entry = {.count = 1, .reusable = true}}, SHIFT(115), + [377] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [379] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), + [381] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [383] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [385] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), + [387] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), + [389] = {.entry = {.count = 1, .reusable = false}}, SHIFT(125), + [391] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [393] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), + [395] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_config_file, 1), + [397] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [399] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), }; #ifdef __cplusplus diff --git a/test/corpus/expressions.txt b/test/corpus/expressions.txt new file mode 100644 index 0000000..949069d --- /dev/null +++ b/test/corpus/expressions.txt @@ -0,0 +1,139 @@ +================== +numeric literal scientific notation 1 +================== + +pi = 3 + +--- + +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (literal_value + (numeric_lit))))))) + +================== +numeric literal scientific notation 2 +================== + +pi = 3.14 + +--- + +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (literal_value + (numeric_lit))))))) + +================== +numeric literal scientific notation 3 +================== + +big_pi = 3.14e+10 + +--- + +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (literal_value + (numeric_lit))))))) + +================== +numeric literal scientific notation 4 +================== + +big_pi = 3.14E+10 + +--- + +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (literal_value + (numeric_lit))))))) + +================== +numeric literal scientific notation 5 +================== + +small_pi = 3.14e-10 + +--- + +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (literal_value + (numeric_lit))))))) + + +================== +numeric literal scientific notation 6 +================== + +small_pi = 3.14E-10 + +--- + +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (literal_value + (numeric_lit))))))) + +================== +string literal one line +================== + +foo = "bar" + +--- + +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (literal_value + (string_lit))))))) + + +================== +string literal multi line error +================== + +foo = " +bar" + +--- + +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (literal_value + (string_lit (ERROR (UNEXPECTED 'b'))))))))) +