From 4a0db3b31c484dabcda6cb7bd425b2c25b9c9f8f Mon Sep 17 00:00:00 2001 From: mhoffm Date: Tue, 8 Jun 2021 22:32:42 +0200 Subject: [PATCH] add for expressions --- grammar.js | 44 +- queries/highlights.scm | 1 + src/grammar.json | 162 ++ src/node-types.json | 123 ++ src/parser.c | 4241 +++++++++++++++++++++++++++++----------- 5 files changed, 3378 insertions(+), 1193 deletions(-) diff --git a/grammar.js b/grammar.js index 9f6edcf..23df499 100644 --- a/grammar.js +++ b/grammar.js @@ -13,7 +13,10 @@ module.exports = grammar({ [$.full_splat], ], - extras: $ => [$.comment, /\s/], + extras: $ => [ + $.comment, + /\s/, + ], rules: { config_file: $ => $.body, @@ -28,7 +31,7 @@ module.exports = grammar({ attribute: $ => seq( field('name', $.identifier), '=', - $.expression + $.expression, ), block: $ => seq( @@ -42,7 +45,7 @@ module.exports = grammar({ // TODO: not to spec but good enough for now identifier: $ => token(seq( unicodeLetter, - repeat(choice(unicodeLetter, unicodeDigit, unicodePunctuation)) + repeat(choice(unicodeLetter, unicodeDigit, unicodePunctuation)), )), expression: $ => choice( @@ -56,7 +59,7 @@ module.exports = grammar({ $.collection_value, $.variable_expr, // $.function_call, - // $.for_expr, + $.for_expr, seq($.expr_term, $.index), seq($.expr_term, $.get_attr), seq($.expr_term, $.splat), @@ -114,8 +117,41 @@ module.exports = grammar({ splat: $ => choice($.attr_splat, $.full_splat), attr_splat: $ => seq('.', '*', repeat($.get_attr)), + full_splat: $ => seq('[', '*', ']', repeat(choice($.get_attr, $.index))), + for_expr: $ => choice($.for_tuple_expr, $.for_object_expr), + + for_tuple_expr: $ => seq( + '[', + $.for_intro, + $.expression, + optional($.for_cond), + ']', + ), + + for_object_expr: $ => seq( + '{', + $.for_intro, + $.expression, + '=>', + $.expression, + optional('...'), + optional($.for_cond), + '}', + ), + + for_intro: $ => seq( + 'for', + $.identifier, + optional(seq(',', $.identifier)), + 'in', + $.expression, + ':', + ), + + for_cond: $ => seq('if', $.expression), + variable_expr: $ => $.identifier, // http://stackoverflow.com/questions/13014947/regex-to-match-a-c-style-multiline-comment/36328890#36328890 diff --git a/queries/highlights.scm b/queries/highlights.scm index 7f27078..23bf191 100644 --- a/queries/highlights.scm +++ b/queries/highlights.scm @@ -8,4 +8,5 @@ (bool_lit) @boolean (null_lit) @null (comment) @comment +(for_intro) @keyword diff --git a/src/grammar.json b/src/grammar.json index b02421a..80cec64 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -152,6 +152,10 @@ "type": "SYMBOL", "name": "variable_expr" }, + { + "type": "SYMBOL", + "name": "for_expr" + }, { "type": "SEQ", "members": [ @@ -517,6 +521,164 @@ } ] }, + "for_expr": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "for_tuple_expr" + }, + { + "type": "SYMBOL", + "name": "for_object_expr" + } + ] + }, + "for_tuple_expr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "[" + }, + { + "type": "SYMBOL", + "name": "for_intro" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "for_cond" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "]" + } + ] + }, + "for_object_expr": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "{" + }, + { + "type": "SYMBOL", + "name": "for_intro" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": "=>" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "STRING", + "value": "..." + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "for_cond" + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "}" + } + ] + }, + "for_intro": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "for" + }, + { + "type": "SYMBOL", + "name": "identifier" + }, + { + "type": "CHOICE", + "members": [ + { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "," + }, + { + "type": "SYMBOL", + "name": "identifier" + } + ] + }, + { + "type": "BLANK" + } + ] + }, + { + "type": "STRING", + "value": "in" + }, + { + "type": "SYMBOL", + "name": "expression" + }, + { + "type": "STRING", + "value": ":" + } + ] + }, + "for_cond": { + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "if" + }, + { + "type": "SYMBOL", + "name": "expression" + } + ] + }, "variable_expr": { "type": "SYMBOL", "name": "identifier" diff --git a/src/node-types.json b/src/node-types.json index 6871497..d60fe70 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -152,6 +152,10 @@ "type": "expression", "named": true }, + { + "type": "for_expr", + "named": true + }, { "type": "get_attr", "named": true @@ -190,6 +194,105 @@ ] } }, + { + "type": "for_cond", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "expression", + "named": true + } + ] + } + }, + { + "type": "for_expr", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "for_object_expr", + "named": true + }, + { + "type": "for_tuple_expr", + "named": true + } + ] + } + }, + { + "type": "for_intro", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "identifier", + "named": true + } + ] + } + }, + { + "type": "for_object_expr", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "for_cond", + "named": true + }, + { + "type": "for_intro", + "named": true + } + ] + } + }, + { + "type": "for_tuple_expr", + "named": true, + "fields": {}, + "children": { + "multiple": true, + "required": true, + "types": [ + { + "type": "expression", + "named": true + }, + { + "type": "for_cond", + "named": true + }, + { + "type": "for_intro", + "named": true + } + ] + } + }, { "type": "full_splat", "named": true, @@ -378,6 +481,10 @@ "type": ".", "named": false }, + { + "type": "...", + "named": false + }, { "type": ":", "named": false @@ -386,6 +493,10 @@ "type": "=", "named": false }, + { + "type": "=>", + "named": false + }, { "type": "[", "named": false @@ -402,10 +513,22 @@ "type": "false", "named": false }, + { + "type": "for", + "named": false + }, { "type": "identifier", "named": true }, + { + "type": "if", + "named": false + }, + { + "type": "in", + "named": false + }, { "type": "null_lit", "named": true diff --git a/src/parser.c b/src/parser.c index e2224c1..202867d 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,14 +6,14 @@ #endif #define LANGUAGE_VERSION 13 -#define STATE_COUNT 70 +#define STATE_COUNT 155 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 47 +#define SYMBOL_COUNT 57 #define ALIAS_COUNT 0 -#define TOKEN_COUNT 21 +#define TOKEN_COUNT 26 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 1 -#define MAX_ALIAS_SEQUENCE_LENGTH 5 +#define MAX_ALIAS_SEQUENCE_LENGTH 8 #define PRODUCTION_ID_COUNT 2 enum { @@ -36,33 +36,43 @@ enum { anon_sym_COLON = 17, anon_sym_DOT = 18, anon_sym_STAR = 19, - sym_comment = 20, - sym_config_file = 21, - sym_body = 22, - sym_attribute = 23, - sym_block = 24, - sym_expression = 25, - sym_expr_term = 26, - sym_literal_value = 27, - sym_string_lit = 28, - sym_bool_lit = 29, - sym_collection_value = 30, - sym_tuple = 31, - sym_object = 32, - sym_object_elem = 33, - sym_index = 34, - sym_get_attr = 35, - sym_splat = 36, - sym_attr_splat = 37, - sym_full_splat = 38, - sym_variable_expr = 39, - aux_sym_body_repeat1 = 40, - aux_sym_block_repeat1 = 41, - aux_sym_string_lit_repeat1 = 42, - aux_sym_tuple_repeat1 = 43, - aux_sym_object_repeat1 = 44, - aux_sym_attr_splat_repeat1 = 45, - aux_sym_full_splat_repeat1 = 46, + 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, }; static const char * const ts_symbol_names[] = { @@ -86,6 +96,11 @@ static const char * const ts_symbol_names[] = { [anon_sym_COLON] = ":", [anon_sym_DOT] = ".", [anon_sym_STAR] = "*", + [anon_sym_EQ_GT] = "=>", + [anon_sym_DOT_DOT_DOT] = "...", + [anon_sym_for] = "for", + [anon_sym_in] = "in", + [anon_sym_if] = "if", [sym_comment] = "comment", [sym_config_file] = "config_file", [sym_body] = "body", @@ -105,6 +120,11 @@ static const char * const ts_symbol_names[] = { [sym_splat] = "splat", [sym_attr_splat] = "attr_splat", [sym_full_splat] = "full_splat", + [sym_for_expr] = "for_expr", + [sym_for_tuple_expr] = "for_tuple_expr", + [sym_for_object_expr] = "for_object_expr", + [sym_for_intro] = "for_intro", + [sym_for_cond] = "for_cond", [sym_variable_expr] = "variable_expr", [aux_sym_body_repeat1] = "body_repeat1", [aux_sym_block_repeat1] = "block_repeat1", @@ -136,6 +156,11 @@ static const TSSymbol ts_symbol_map[] = { [anon_sym_COLON] = anon_sym_COLON, [anon_sym_DOT] = anon_sym_DOT, [anon_sym_STAR] = anon_sym_STAR, + [anon_sym_EQ_GT] = anon_sym_EQ_GT, + [anon_sym_DOT_DOT_DOT] = anon_sym_DOT_DOT_DOT, + [anon_sym_for] = anon_sym_for, + [anon_sym_in] = anon_sym_in, + [anon_sym_if] = anon_sym_if, [sym_comment] = sym_comment, [sym_config_file] = sym_config_file, [sym_body] = sym_body, @@ -155,6 +180,11 @@ static const TSSymbol ts_symbol_map[] = { [sym_splat] = sym_splat, [sym_attr_splat] = sym_attr_splat, [sym_full_splat] = sym_full_splat, + [sym_for_expr] = sym_for_expr, + [sym_for_tuple_expr] = sym_for_tuple_expr, + [sym_for_object_expr] = sym_for_object_expr, + [sym_for_intro] = sym_for_intro, + [sym_for_cond] = sym_for_cond, [sym_variable_expr] = sym_variable_expr, [aux_sym_body_repeat1] = aux_sym_body_repeat1, [aux_sym_block_repeat1] = aux_sym_block_repeat1, @@ -246,6 +276,26 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = false, }, + [anon_sym_EQ_GT] = { + .visible = true, + .named = false, + }, + [anon_sym_DOT_DOT_DOT] = { + .visible = true, + .named = false, + }, + [anon_sym_for] = { + .visible = true, + .named = false, + }, + [anon_sym_in] = { + .visible = true, + .named = false, + }, + [anon_sym_if] = { + .visible = true, + .named = false, + }, [sym_comment] = { .visible = true, .named = true, @@ -322,6 +372,26 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = true, .named = true, }, + [sym_for_expr] = { + .visible = true, + .named = true, + }, + [sym_for_tuple_expr] = { + .visible = true, + .named = true, + }, + [sym_for_object_expr] = { + .visible = true, + .named = true, + }, + [sym_for_intro] = { + .visible = true, + .named = true, + }, + [sym_for_cond] = { + .visible = true, + .named = true, + }, [sym_variable_expr] = { .visible = true, .named = true, @@ -1929,246 +1999,408 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { eof = lexer->eof(lexer); switch (state) { case 0: - if (eof) ADVANCE(10); - if (lookahead == '"') ADVANCE(30); - if (lookahead == '#') ADVANCE(46); - if (lookahead == '(') ADVANCE(25); - if (lookahead == ')') ADVANCE(26); - if (lookahead == '*') ADVANCE(44); - if (lookahead == ',') ADVANCE(40); - if (lookahead == '.') ADVANCE(43); - if (lookahead == '/') ADVANCE(2); - if (lookahead == ':') ADVANCE(42); - if (lookahead == '=') ADVANCE(11); - if (lookahead == '[') ADVANCE(39); - if (lookahead == '\\') ADVANCE(8); - if (lookahead == ']') ADVANCE(41); - if (lookahead == 'f') ADVANCE(14); - if (lookahead == 'n') ADVANCE(23); - if (lookahead == 't') ADVANCE(20); - if (lookahead == '{') ADVANCE(12); - if (lookahead == '}') ADVANCE(13); + if (eof) ADVANCE(28); + if (lookahead == '"') ADVANCE(51); + if (lookahead == '#') ADVANCE(77); + 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(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(31); + if (lookahead == '}') ADVANCE(32); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); - if (sym_identifier_character_set_1(lookahead)) ADVANCE(24); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); END_STATE(); case 1: if (lookahead == '\n') SKIP(1) - if (lookahead == '"') ADVANCE(30); - if (lookahead == '#') ADVANCE(34); - if (lookahead == '/') ADVANCE(33); - if (lookahead == '\\') ADVANCE(8); + if (lookahead == '"') ADVANCE(51); + if (lookahead == '#') ADVANCE(55); + if (lookahead == '/') ADVANCE(54); + if (lookahead == '\\') ADVANCE(25); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(32); - if (lookahead != 0) ADVANCE(31); + lookahead == ' ') ADVANCE(53); + if (lookahead != 0) ADVANCE(52); END_STATE(); case 2: - if (lookahead == '*') ADVANCE(4); - if (lookahead == '/') ADVANCE(46); - END_STATE(); - case 3: - if (lookahead == '*') ADVANCE(3); - if (lookahead == '/') ADVANCE(45); - if (lookahead != 0) ADVANCE(4); - END_STATE(); - case 4: - if (lookahead == '*') ADVANCE(3); - if (lookahead != 0) ADVANCE(4); - END_STATE(); - case 5: - if (lookahead == '+' || - lookahead == '-') ADVANCE(7); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); - END_STATE(); - case 6: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); - END_STATE(); - case 7: - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); - END_STATE(); - case 8: - if (lookahead != 0) ADVANCE(35); - END_STATE(); - case 9: - if (eof) ADVANCE(10); - if (lookahead == '"') ADVANCE(30); - if (lookahead == '#') ADVANCE(46); - if (lookahead == ')') ADVANCE(26); - if (lookahead == '*') ADVANCE(44); - if (lookahead == ',') ADVANCE(40); - if (lookahead == '.') ADVANCE(43); - if (lookahead == '/') ADVANCE(2); - if (lookahead == ':') ADVANCE(42); - if (lookahead == '=') ADVANCE(11); - if (lookahead == '[') ADVANCE(39); - if (lookahead == ']') ADVANCE(41); - if (lookahead == '{') ADVANCE(12); - if (lookahead == '}') ADVANCE(13); + if (lookahead == '"') ADVANCE(51); + if (lookahead == '#') ADVANCE(77); + if (lookahead == '(') ADVANCE(46); + if (lookahead == '*') ADVANCE(69); + if (lookahead == '/') ADVANCE(5); + if (lookahead == '=') ADVANCE(9); + if (lookahead == '[') ADVANCE(63); + 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(9) - if (sym_identifier_character_set_1(lookahead)) ADVANCE(24); + lookahead == ' ') SKIP(2) + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); + if (sym_identifier_character_set_1(lookahead)) ADVANCE(45); + 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(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); + END_STATE(); + case 5: + if (lookahead == '*') ADVANCE(7); + if (lookahead == '/') ADVANCE(77); + END_STATE(); + case 6: + if (lookahead == '*') ADVANCE(6); + if (lookahead == '/') ADVANCE(76); + if (lookahead != 0) ADVANCE(7); + END_STATE(); + case 7: + if (lookahead == '*') ADVANCE(6); + if (lookahead != 0) ADVANCE(7); + END_STATE(); + case 8: + if (lookahead == '.') ADVANCE(71); + END_STATE(); + case 9: + if (lookahead == '>') ADVANCE(70); END_STATE(); case 10: - ACCEPT_TOKEN(ts_builtin_sym_end); + if (lookahead == 'a') ADVANCE(14); + if (lookahead == 'o') ADVANCE(17); END_STATE(); case 11: - ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == 'e') ADVANCE(57); END_STATE(); case 12: - ACCEPT_TOKEN(anon_sym_LBRACE); + if (lookahead == 'e') ADVANCE(59); END_STATE(); case 13: - ACCEPT_TOKEN(anon_sym_RBRACE); + if (lookahead == 'f') ADVANCE(75); + if (lookahead == 'n') ADVANCE(74); END_STATE(); case 14: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'a') ADVANCE(17); - if (sym_identifier_character_set_2(lookahead)) ADVANCE(24); + if (lookahead == 'l') ADVANCE(19); END_STATE(); case 15: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(36); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); + if (lookahead == 'l') ADVANCE(61); END_STATE(); case 16: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'e') ADVANCE(37); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); + if (lookahead == 'l') ADVANCE(15); END_STATE(); case 17: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(21); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); + if (lookahead == 'r') ADVANCE(72); END_STATE(); case 18: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(38); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); + if (lookahead == 'r') ADVANCE(20); END_STATE(); case 19: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'l') ADVANCE(18); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); + if (lookahead == 's') ADVANCE(12); END_STATE(); case 20: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'r') ADVANCE(22); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); + if (lookahead == 'u') ADVANCE(11); END_STATE(); case 21: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 's') ADVANCE(16); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); + if (lookahead == 'u') ADVANCE(16); END_STATE(); case 22: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(15); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); + if (lookahead == '+' || + lookahead == '-') ADVANCE(24); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); END_STATE(); case 23: - ACCEPT_TOKEN(sym_identifier); - if (lookahead == 'u') ADVANCE(19); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); END_STATE(); case 24: - ACCEPT_TOKEN(sym_identifier); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); END_STATE(); case 25: - ACCEPT_TOKEN(anon_sym_LPAREN); + if (lookahead != 0) ADVANCE(56); END_STATE(); case 26: - ACCEPT_TOKEN(anon_sym_RPAREN); + if (eof) ADVANCE(28); + if (lookahead == '"') ADVANCE(51); + if (lookahead == '#') ADVANCE(77); + 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(30); + if (lookahead == '[') ADVANCE(63); + if (lookahead == ']') ADVANCE(65); + if (lookahead == '{') ADVANCE(31); + if (lookahead == '}') ADVANCE(32); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(26) + if (sym_identifier_character_set_1(lookahead)) ADVANCE(45); END_STATE(); case 27: - ACCEPT_TOKEN(sym_numeric_lit); - if (lookahead == '.') ADVANCE(6); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(27); + if (eof) ADVANCE(28); + if (lookahead == '#') ADVANCE(77); + 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(32); + if (lookahead == '\t' || + lookahead == '\n' || + lookahead == '\r' || + lookahead == ' ') SKIP(27) + if (sym_identifier_character_set_1(lookahead)) ADVANCE(45); END_STATE(); case 28: - ACCEPT_TOKEN(sym_numeric_lit); - if (lookahead == 'E' || - lookahead == 'e') ADVANCE(5); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(28); + ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 29: - ACCEPT_TOKEN(sym_numeric_lit); - if (('0' <= lookahead && lookahead <= '9')) ADVANCE(29); + ACCEPT_TOKEN(anon_sym_EQ); END_STATE(); case 30: - ACCEPT_TOKEN(anon_sym_DQUOTE); + ACCEPT_TOKEN(anon_sym_EQ); + if (lookahead == '>') ADVANCE(70); END_STATE(); case 31: - ACCEPT_TOKEN(aux_sym_string_lit_token1); + ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 32: + ACCEPT_TOKEN(anon_sym_RBRACE); + END_STATE(); + case 33: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(37); + if (lookahead == 'o') ADVANCE(40); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(45); + END_STATE(); + case 34: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'a') ADVANCE(37); + if (sym_identifier_character_set_2(lookahead)) ADVANCE(45); + END_STATE(); + case 35: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(58); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + END_STATE(); + case 36: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'e') ADVANCE(60); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + END_STATE(); + case 37: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(42); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + END_STATE(); + case 38: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(62); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + END_STATE(); + case 39: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'l') ADVANCE(38); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + END_STATE(); + case 40: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(73); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + END_STATE(); + case 41: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'r') ADVANCE(43); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + END_STATE(); + case 42: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 's') ADVANCE(36); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + END_STATE(); + case 43: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(35); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + END_STATE(); + case 44: + ACCEPT_TOKEN(sym_identifier); + if (lookahead == 'u') ADVANCE(39); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + END_STATE(); + case 45: + ACCEPT_TOKEN(sym_identifier); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + END_STATE(); + case 46: + ACCEPT_TOKEN(anon_sym_LPAREN); + END_STATE(); + case 47: + ACCEPT_TOKEN(anon_sym_RPAREN); + END_STATE(); + case 48: + ACCEPT_TOKEN(sym_numeric_lit); + if (lookahead == '.') ADVANCE(23); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); + END_STATE(); + case 49: + ACCEPT_TOKEN(sym_numeric_lit); + if (lookahead == 'E' || + lookahead == 'e') ADVANCE(22); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(49); + END_STATE(); + case 50: + ACCEPT_TOKEN(sym_numeric_lit); + if (('0' <= lookahead && lookahead <= '9')) ADVANCE(50); + END_STATE(); + case 51: + ACCEPT_TOKEN(anon_sym_DQUOTE); + END_STATE(); + case 52: ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == '#') ADVANCE(34); - if (lookahead == '/') ADVANCE(33); + END_STATE(); + case 53: + ACCEPT_TOKEN(aux_sym_string_lit_token1); + if (lookahead == '#') ADVANCE(55); + if (lookahead == '/') ADVANCE(54); if (lookahead == '\t' || lookahead == '\r' || - lookahead == ' ') ADVANCE(32); + lookahead == ' ') ADVANCE(53); if (lookahead != 0 && lookahead != '\n' && lookahead != '"' && - lookahead != '\\') ADVANCE(31); + lookahead != '\\') ADVANCE(52); END_STATE(); - case 33: + case 54: ACCEPT_TOKEN(aux_sym_string_lit_token1); - if (lookahead == '*') ADVANCE(4); - if (lookahead == '/') ADVANCE(46); + if (lookahead == '*') ADVANCE(7); + if (lookahead == '/') ADVANCE(77); END_STATE(); - case 34: + case 55: ACCEPT_TOKEN(aux_sym_string_lit_token1); if (lookahead != 0 && - lookahead != '\n') ADVANCE(46); + lookahead != '\n') ADVANCE(77); END_STATE(); - case 35: + case 56: ACCEPT_TOKEN(aux_sym_string_lit_token2); END_STATE(); - case 36: + case 57: ACCEPT_TOKEN(anon_sym_true); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); END_STATE(); - case 37: + 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); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); END_STATE(); - case 38: + 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); - if (sym_identifier_character_set_3(lookahead)) ADVANCE(24); END_STATE(); - case 39: + 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); END_STATE(); - case 40: + case 64: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); - case 41: + case 65: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); - case 42: + case 66: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); - case 43: + case 67: ACCEPT_TOKEN(anon_sym_DOT); END_STATE(); - case 44: + case 68: + ACCEPT_TOKEN(anon_sym_DOT); + if (lookahead == '.') ADVANCE(8); + END_STATE(); + case 69: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); - case 45: + case 70: + ACCEPT_TOKEN(anon_sym_EQ_GT); + END_STATE(); + case 71: + ACCEPT_TOKEN(anon_sym_DOT_DOT_DOT); + END_STATE(); + case 72: + ACCEPT_TOKEN(anon_sym_for); + END_STATE(); + case 73: + ACCEPT_TOKEN(anon_sym_for); + if (sym_identifier_character_set_3(lookahead)) ADVANCE(45); + END_STATE(); + case 74: + ACCEPT_TOKEN(anon_sym_in); + END_STATE(); + case 75: + ACCEPT_TOKEN(anon_sym_if); + END_STATE(); + case 76: ACCEPT_TOKEN(sym_comment); END_STATE(); - case 46: + case 77: ACCEPT_TOKEN(sym_comment); if (lookahead != 0 && - lookahead != '\n') ADVANCE(46); + lookahead != '\n') ADVANCE(77); END_STATE(); default: return false; @@ -2177,75 +2409,160 @@ static bool ts_lex(TSLexer *lexer, TSStateId state) { static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, - [1] = {.lex_state = 9}, - [2] = {.lex_state = 0}, - [3] = {.lex_state = 0}, - [4] = {.lex_state = 0}, - [5] = {.lex_state = 0}, - [6] = {.lex_state = 0}, - [7] = {.lex_state = 0}, - [8] = {.lex_state = 0}, - [9] = {.lex_state = 0}, - [10] = {.lex_state = 0}, - [11] = {.lex_state = 9}, - [12] = {.lex_state = 9}, - [13] = {.lex_state = 9}, - [14] = {.lex_state = 9}, - [15] = {.lex_state = 9}, - [16] = {.lex_state = 9}, - [17] = {.lex_state = 9}, - [18] = {.lex_state = 9}, - [19] = {.lex_state = 9}, - [20] = {.lex_state = 9}, - [21] = {.lex_state = 9}, - [22] = {.lex_state = 9}, - [23] = {.lex_state = 9}, - [24] = {.lex_state = 9}, - [25] = {.lex_state = 9}, - [26] = {.lex_state = 9}, - [27] = {.lex_state = 9}, - [28] = {.lex_state = 9}, - [29] = {.lex_state = 9}, - [30] = {.lex_state = 9}, - [31] = {.lex_state = 9}, - [32] = {.lex_state = 9}, - [33] = {.lex_state = 9}, - [34] = {.lex_state = 9}, - [35] = {.lex_state = 9}, - [36] = {.lex_state = 9}, - [37] = {.lex_state = 9}, - [38] = {.lex_state = 9}, - [39] = {.lex_state = 9}, - [40] = {.lex_state = 9}, - [41] = {.lex_state = 9}, - [42] = {.lex_state = 9}, - [43] = {.lex_state = 1}, - [44] = {.lex_state = 1}, - [45] = {.lex_state = 0}, - [46] = {.lex_state = 1}, - [47] = {.lex_state = 0}, - [48] = {.lex_state = 0}, - [49] = {.lex_state = 0}, - [50] = {.lex_state = 9}, - [51] = {.lex_state = 9}, - [52] = {.lex_state = 0}, - [53] = {.lex_state = 9}, - [54] = {.lex_state = 9}, - [55] = {.lex_state = 0}, - [56] = {.lex_state = 0}, - [57] = {.lex_state = 0}, - [58] = {.lex_state = 0}, - [59] = {.lex_state = 9}, + [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}, + [25] = {.lex_state = 26}, + [26] = {.lex_state = 26}, + [27] = {.lex_state = 26}, + [28] = {.lex_state = 26}, + [29] = {.lex_state = 26}, + [30] = {.lex_state = 26}, + [31] = {.lex_state = 26}, + [32] = {.lex_state = 26}, + [33] = {.lex_state = 26}, + [34] = {.lex_state = 26}, + [35] = {.lex_state = 26}, + [36] = {.lex_state = 26}, + [37] = {.lex_state = 26}, + [38] = {.lex_state = 26}, + [39] = {.lex_state = 26}, + [40] = {.lex_state = 26}, + [41] = {.lex_state = 26}, + [42] = {.lex_state = 0}, + [43] = {.lex_state = 26}, + [44] = {.lex_state = 26}, + [45] = {.lex_state = 26}, + [46] = {.lex_state = 26}, + [47] = {.lex_state = 26}, + [48] = {.lex_state = 26}, + [49] = {.lex_state = 26}, + [50] = {.lex_state = 26}, + [51] = {.lex_state = 26}, + [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}, [60] = {.lex_state = 0}, [61] = {.lex_state = 0}, [62] = {.lex_state = 0}, [63] = {.lex_state = 0}, [64] = {.lex_state = 0}, - [65] = {.lex_state = 9}, + [65] = {.lex_state = 4}, [66] = {.lex_state = 0}, - [67] = {.lex_state = 0}, + [67] = {.lex_state = 26}, [68] = {.lex_state = 0}, [69] = {.lex_state = 0}, + [70] = {.lex_state = 0}, + [71] = {.lex_state = 26}, + [72] = {.lex_state = 0}, + [73] = {.lex_state = 0}, + [74] = {.lex_state = 26}, + [75] = {.lex_state = 0}, + [76] = {.lex_state = 26}, + [77] = {.lex_state = 0}, + [78] = {.lex_state = 0}, + [79] = {.lex_state = 0}, + [80] = {.lex_state = 0}, + [81] = {.lex_state = 0}, + [82] = {.lex_state = 0}, + [83] = {.lex_state = 0}, + [84] = {.lex_state = 0}, + [85] = {.lex_state = 0}, + [86] = {.lex_state = 0}, + [87] = {.lex_state = 0}, + [88] = {.lex_state = 0}, + [89] = {.lex_state = 0}, + [90] = {.lex_state = 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}, + [104] = {.lex_state = 0}, + [105] = {.lex_state = 26}, + [106] = {.lex_state = 0}, + [107] = {.lex_state = 0}, + [108] = {.lex_state = 0}, + [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}, + [118] = {.lex_state = 0}, + [119] = {.lex_state = 0}, + [120] = {.lex_state = 0}, + [121] = {.lex_state = 0}, + [122] = {.lex_state = 0}, + [123] = {.lex_state = 26}, + [124] = {.lex_state = 0}, + [125] = {.lex_state = 0}, + [126] = {.lex_state = 0}, + [127] = {.lex_state = 26}, + [128] = {.lex_state = 0}, + [129] = {.lex_state = 3}, + [130] = {.lex_state = 0}, + [131] = {.lex_state = 0}, + [132] = {.lex_state = 0}, + [133] = {.lex_state = 0}, + [134] = {.lex_state = 0}, + [135] = {.lex_state = 0}, + [136] = {.lex_state = 26}, + [137] = {.lex_state = 26}, + [138] = {.lex_state = 0}, + [139] = {.lex_state = 26}, + [140] = {.lex_state = 0}, + [141] = {.lex_state = 0}, + [142] = {.lex_state = 0}, + [143] = {.lex_state = 0}, + [144] = {.lex_state = 0}, + [145] = {.lex_state = 0}, + [146] = {.lex_state = 0}, + [147] = {.lex_state = 0}, + [148] = {.lex_state = 0}, + [149] = {.lex_state = 26}, + [150] = {.lex_state = 0}, + [151] = {.lex_state = 2}, + [152] = {.lex_state = 0}, + [153] = {.lex_state = 2}, + [154] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { @@ -2254,7 +2571,6 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_EQ] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), - [sym_identifier] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), [sym_numeric_lit] = ACTIONS(1), @@ -2269,21 +2585,26 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [anon_sym_COLON] = ACTIONS(1), [anon_sym_DOT] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), + [anon_sym_EQ_GT] = ACTIONS(1), + [anon_sym_DOT_DOT_DOT] = ACTIONS(1), + [anon_sym_for] = ACTIONS(1), + [anon_sym_in] = ACTIONS(1), + [anon_sym_if] = ACTIONS(1), [sym_comment] = ACTIONS(3), }, [1] = { - [sym_config_file] = STATE(62), - [sym_body] = STATE(69), - [sym_attribute] = STATE(37), - [sym_block] = STATE(37), - [aux_sym_body_repeat1] = STATE(37), + [sym_config_file] = STATE(154), + [sym_body] = STATE(152), + [sym_attribute] = STATE(74), + [sym_block] = STATE(74), + [aux_sym_body_repeat1] = STATE(74), [sym_identifier] = ACTIONS(5), [sym_comment] = ACTIONS(3), }, }; static const uint16_t ts_small_parse_table[] = { - [0] = 16, + [0] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2302,26 +2623,34 @@ static const uint16_t ts_small_parse_table[] = { sym_null_lit, ACTIONS(23), 1, anon_sym_LBRACK, - STATE(11), 1, + ACTIONS(25), 1, + anon_sym_for, + STATE(16), 1, + sym_for_intro, + STATE(25), 1, sym_expr_term, - STATE(52), 1, + STATE(117), 1, sym_object_elem, - STATE(61), 1, + STATE(129), 1, sym_expression, ACTIONS(19), 2, anon_sym_true, anon_sym_false, - STATE(20), 2, + STATE(38), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(46), 2, sym_string_lit, sym_bool_lit, - STATE(23), 2, + STATE(54), 2, sym_tuple, sym_object, - STATE(22), 3, + STATE(53), 4, sym_literal_value, sym_collection_value, + sym_for_expr, sym_variable_expr, - [54] = 15, + [65] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -2338,429 +2667,972 @@ static const uint16_t ts_small_parse_table[] = { sym_null_lit, ACTIONS(23), 1, anon_sym_LBRACK, - STATE(11), 1, - sym_expr_term, - STATE(57), 1, - sym_object_elem, - STATE(61), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(20), 2, - sym_string_lit, - sym_bool_lit, - STATE(23), 2, - sym_tuple, - sym_object, - STATE(22), 3, - sym_literal_value, - sym_collection_value, - sym_variable_expr, - [105] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, ACTIONS(25), 1, - sym_identifier, + anon_sym_for, ACTIONS(27), 1, - anon_sym_STAR, - STATE(11), 1, - sym_expr_term, - STATE(67), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(20), 2, - sym_string_lit, - sym_bool_lit, - STATE(23), 2, - sym_tuple, - sym_object, - STATE(22), 3, - sym_literal_value, - sym_collection_value, - sym_variable_expr, - [156] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(25), 1, - sym_identifier, - ACTIONS(29), 1, - anon_sym_RBRACK, - STATE(11), 1, - sym_expr_term, - STATE(47), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(20), 2, - sym_string_lit, - sym_bool_lit, - STATE(23), 2, - sym_tuple, - sym_object, - STATE(22), 3, - sym_literal_value, - sym_collection_value, - sym_variable_expr, - [207] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(25), 1, - sym_identifier, - STATE(11), 1, - sym_expr_term, - STATE(58), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(20), 2, - sym_string_lit, - sym_bool_lit, - STATE(23), 2, - sym_tuple, - sym_object, - STATE(22), 3, - sym_literal_value, - sym_collection_value, - sym_variable_expr, - [255] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(25), 1, - sym_identifier, - STATE(11), 1, - sym_expr_term, - STATE(50), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(20), 2, - sym_string_lit, - sym_bool_lit, - STATE(23), 2, - sym_tuple, - sym_object, - STATE(22), 3, - sym_literal_value, - sym_collection_value, - sym_variable_expr, - [303] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(25), 1, - sym_identifier, - STATE(11), 1, - sym_expr_term, - STATE(60), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(20), 2, - sym_string_lit, - sym_bool_lit, - STATE(23), 2, - sym_tuple, - sym_object, - STATE(22), 3, - sym_literal_value, - sym_collection_value, - sym_variable_expr, - [351] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(25), 1, - sym_identifier, - STATE(11), 1, - sym_expr_term, - STATE(63), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(20), 2, - sym_string_lit, - sym_bool_lit, - STATE(23), 2, - sym_tuple, - sym_object, - STATE(22), 3, - sym_literal_value, - sym_collection_value, - sym_variable_expr, - [399] = 14, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(21), 1, - sym_null_lit, - ACTIONS(23), 1, - anon_sym_LBRACK, - ACTIONS(25), 1, - sym_identifier, - STATE(11), 1, - sym_expr_term, - STATE(67), 1, - sym_expression, - ACTIONS(19), 2, - anon_sym_true, - anon_sym_false, - STATE(20), 2, - sym_string_lit, - sym_bool_lit, - STATE(23), 2, - sym_tuple, - sym_object, - STATE(22), 3, - sym_literal_value, - sym_collection_value, - sym_variable_expr, - [447] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(33), 1, - anon_sym_LBRACK, - ACTIONS(35), 1, - anon_sym_DOT, - STATE(30), 2, - sym_attr_splat, - sym_full_splat, - STATE(21), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(31), 8, - ts_builtin_sym_end, - anon_sym_EQ, anon_sym_RBRACE, + STATE(12), 1, + sym_for_intro, + STATE(25), 1, + sym_expr_term, + STATE(108), 1, + sym_object_elem, + STATE(129), 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [130] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_for, + ACTIONS(29), 1, sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, + ACTIONS(31), 1, anon_sym_RBRACK, - anon_sym_COLON, - [476] = 5, + STATE(24), 1, + sym_for_intro, + STATE(25), 1, + sym_expr_term, + 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [192] = 18, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(25), 1, + anon_sym_for, + ACTIONS(29), 1, + sym_identifier, + ACTIONS(33), 1, + anon_sym_RBRACK, + STATE(23), 1, + sym_for_intro, + STATE(25), 1, + sym_expr_term, + STATE(109), 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [254] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(11), 1, + sym_identifier, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + STATE(25), 1, + sym_expr_term, + STATE(124), 1, + sym_object_elem, + STATE(129), 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [310] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + ACTIONS(35), 1, + anon_sym_STAR, + STATE(25), 1, + sym_expr_term, + STATE(133), 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [366] = 16, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + ACTIONS(37), 1, + anon_sym_STAR, + STATE(25), 1, + sym_expr_term, + STATE(142), 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [422] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, + sym_expr_term, + STATE(142), 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [475] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, + sym_expr_term, + STATE(112), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(38), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(46), 2, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [528] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, + sym_expr_term, + 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [581] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, + sym_expr_term, + STATE(151), 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [634] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, + sym_expr_term, + STATE(134), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(38), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(46), 2, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [687] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, + sym_expr_term, + STATE(140), 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [740] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, + sym_expr_term, + 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [793] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, + sym_expr_term, + STATE(153), 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [846] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, + sym_expr_term, + STATE(145), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(38), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(46), 2, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [899] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(39), 1, - anon_sym_LBRACK, - ACTIONS(42), 1, - anon_sym_DOT, - STATE(14), 3, - sym_index, - sym_get_attr, - aux_sym_full_splat_repeat1, - ACTIONS(37), 8, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - [501] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(47), 1, - anon_sym_LBRACK, - ACTIONS(50), 1, - anon_sym_DOT, - STATE(13), 3, - sym_index, - sym_get_attr, - aux_sym_full_splat_repeat1, - ACTIONS(45), 8, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - [526] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(55), 1, - anon_sym_LBRACK, - ACTIONS(58), 1, - anon_sym_DOT, - STATE(13), 3, - sym_index, - sym_get_attr, - aux_sym_full_splat_repeat1, - ACTIONS(53), 8, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - [551] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(61), 12, - ts_builtin_sym_end, - anon_sym_EQ, anon_sym_LBRACE, + ACTIONS(41), 1, + sym_identifier, + 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(42), 1, + sym_expr_term, + STATE(97), 1, + sym_expression, + ACTIONS(49), 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, + sym_string_lit, + sym_bool_lit, + STATE(93), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [952] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, + sym_expr_term, + STATE(133), 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, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [1005] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym_LBRACE, + ACTIONS(41), 1, + sym_identifier, + 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(42), 1, + sym_expr_term, + STATE(99), 1, + sym_expression, + ACTIONS(49), 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, + sym_string_lit, + sym_bool_lit, + STATE(93), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [1058] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, + sym_expr_term, + STATE(128), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(38), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(46), 2, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [1111] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(17), 1, + anon_sym_DQUOTE, + ACTIONS(21), 1, + sym_null_lit, + ACTIONS(23), 1, + anon_sym_LBRACK, + ACTIONS(29), 1, + sym_identifier, + STATE(25), 1, + sym_expr_term, + STATE(135), 1, + sym_expression, + ACTIONS(19), 2, + anon_sym_true, + anon_sym_false, + STATE(38), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(46), 2, + sym_string_lit, + sym_bool_lit, + STATE(54), 2, + sym_tuple, + sym_object, + STATE(53), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [1164] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym_LBRACE, + ACTIONS(41), 1, + sym_identifier, + 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(42), 1, + sym_expr_term, + STATE(113), 1, + sym_expression, + ACTIONS(49), 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, + sym_string_lit, + sym_bool_lit, + STATE(93), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [1217] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym_LBRACE, + ACTIONS(41), 1, + sym_identifier, + 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(42), 1, + sym_expr_term, + STATE(116), 1, + sym_expression, + ACTIONS(49), 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, + sym_string_lit, + sym_bool_lit, + STATE(93), 4, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + [1270] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(57), 1, + anon_sym_EQ, + ACTIONS(59), 1, + anon_sym_LBRACK, + ACTIONS(61), 1, + anon_sym_DOT, + STATE(51), 2, + sym_attr_splat, + sym_full_splat, + STATE(50), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(55), 8, + ts_builtin_sym_end, 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, - [569] = 4, + anon_sym_EQ_GT, + [1302] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(65), 1, + anon_sym_EQ, + ACTIONS(67), 1, + anon_sym_LBRACK, + ACTIONS(70), 1, anon_sym_DOT, - STATE(16), 2, + STATE(28), 3, + sym_index, sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(63), 9, + aux_sym_full_splat_repeat1, + ACTIONS(63), 8, ts_builtin_sym_end, - anon_sym_EQ, anon_sym_RBRACE, sym_identifier, anon_sym_RPAREN, - anon_sym_LBRACK, anon_sym_COMMA, anon_sym_RBRACK, anon_sym_COLON, - [591] = 2, + anon_sym_EQ_GT, + [1330] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(68), 12, - ts_builtin_sym_end, + ACTIONS(75), 1, anon_sym_EQ, - 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, - [609] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(72), 1, - anon_sym_DOT, - STATE(19), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(70), 9, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - [631] = 4, - ACTIONS(3), 1, - sym_comment, ACTIONS(77), 1, + anon_sym_LBRACK, + ACTIONS(80), 1, anon_sym_DOT, - STATE(16), 2, + STATE(26), 3, + sym_index, + sym_get_attr, + aux_sym_full_splat_repeat1, + ACTIONS(73), 8, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + [1358] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(85), 1, + anon_sym_EQ, + ACTIONS(87), 1, + anon_sym_LBRACK, + ACTIONS(90), 1, + anon_sym_DOT, + STATE(28), 3, + sym_index, + sym_get_attr, + aux_sym_full_splat_repeat1, + ACTIONS(83), 8, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + [1386] = 3, + 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, + anon_sym_DOT, + STATE(32), 2, sym_get_attr, aux_sym_attr_splat_repeat1, - ACTIONS(75), 9, + ACTIONS(97), 9, ts_builtin_sym_end, - anon_sym_EQ, anon_sym_RBRACE, sym_identifier, anon_sym_RPAREN, @@ -2768,679 +3640,1670 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COMMA, anon_sym_RBRACK, anon_sym_COLON, - [653] = 2, + anon_sym_EQ_GT, + [1432] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(80), 10, - ts_builtin_sym_end, + ACTIONS(106), 1, anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [669] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(82), 10, + ACTIONS(104), 12, ts_builtin_sym_end, - anon_sym_EQ, + anon_sym_LBRACE, anon_sym_RBRACE, sym_identifier, anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [685] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(84), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [701] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(86), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [717] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(88), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [733] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(90), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [749] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(92), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [765] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(94), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [781] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(96), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [797] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(98), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [813] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(100), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [829] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(102), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [845] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(104), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [861] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(106), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [877] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(108), 10, - ts_builtin_sym_end, - anon_sym_EQ, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_COLON, - anon_sym_DOT, - [893] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(110), 8, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - anon_sym_RPAREN, - anon_sym_LBRACK, - anon_sym_COMMA, - anon_sym_RBRACK, - anon_sym_DOT, - [907] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(17), 1, 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(114), 1, - anon_sym_LBRACE, - ACTIONS(116), 1, - sym_identifier, - STATE(42), 2, - sym_string_lit, - aux_sym_block_repeat1, - [927] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(118), 2, + ACTIONS(119), 1, + anon_sym_DOT, + STATE(30), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(115), 9, ts_builtin_sym_end, anon_sym_RBRACE, - STATE(38), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [943] = 4, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_EQ_GT, + [1503] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(122), 1, - sym_identifier, - ACTIONS(120), 2, + ACTIONS(124), 1, + anon_sym_EQ, + ACTIONS(122), 10, ts_builtin_sym_end, anon_sym_RBRACE, - STATE(38), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [959] = 5, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1522] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(125), 1, + ACTIONS(128), 1, + anon_sym_EQ, + ACTIONS(126), 10, + ts_builtin_sym_end, anon_sym_RBRACE, - STATE(64), 1, - sym_body, - STATE(37), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [977] = 5, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1541] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(5), 1, - sym_identifier, - ACTIONS(127), 1, + ACTIONS(132), 1, + anon_sym_EQ, + ACTIONS(130), 10, + ts_builtin_sym_end, anon_sym_RBRACE, - STATE(66), 1, - sym_body, - STATE(37), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [995] = 5, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1560] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(129), 1, - anon_sym_LBRACE, - ACTIONS(131), 1, + ACTIONS(136), 1, + anon_sym_EQ, + ACTIONS(134), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, sym_identifier, - ACTIONS(134), 1, - anon_sym_DQUOTE, - STATE(41), 2, - sym_string_lit, - aux_sym_block_repeat1, - [1012] = 5, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1579] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(17), 1, - anon_sym_DQUOTE, - ACTIONS(137), 1, - anon_sym_LBRACE, - ACTIONS(139), 1, + ACTIONS(140), 1, + anon_sym_EQ, + ACTIONS(138), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, sym_identifier, - STATE(41), 2, - sym_string_lit, - aux_sym_block_repeat1, - [1029] = 4, - ACTIONS(141), 1, - anon_sym_DQUOTE, - ACTIONS(146), 1, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1598] = 3, + ACTIONS(3), 1, sym_comment, - STATE(43), 1, - aux_sym_string_lit_repeat1, - ACTIONS(143), 2, - aux_sym_string_lit_token1, - aux_sym_string_lit_token2, - [1043] = 4, - ACTIONS(146), 1, + ACTIONS(144), 1, + anon_sym_EQ, + ACTIONS(142), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1617] = 3, + ACTIONS(3), 1, sym_comment, ACTIONS(148), 1, - anon_sym_DQUOTE, - STATE(46), 1, - aux_sym_string_lit_repeat1, - ACTIONS(150), 2, - aux_sym_string_lit_token1, - aux_sym_string_lit_token2, - [1057] = 3, + anon_sym_EQ, + ACTIONS(146), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1636] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(110), 2, + ACTIONS(152), 1, + anon_sym_EQ, + ACTIONS(150), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1655] = 6, + 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, + 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, + [1699] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(164), 1, + anon_sym_EQ, + ACTIONS(162), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1718] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(168), 1, + anon_sym_EQ, + ACTIONS(166), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1737] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(172), 1, + anon_sym_EQ, + ACTIONS(170), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1756] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(176), 1, + anon_sym_EQ, + ACTIONS(174), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1775] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(180), 1, + anon_sym_EQ, + ACTIONS(178), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1794] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(184), 1, + anon_sym_EQ, + ACTIONS(182), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1813] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(188), 1, + anon_sym_EQ, + ACTIONS(186), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1832] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(192), 1, + anon_sym_EQ, + ACTIONS(190), 10, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + anon_sym_RPAREN, + anon_sym_LBRACK, + anon_sym_COMMA, + anon_sym_RBRACK, + anon_sym_COLON, + anon_sym_DOT, + anon_sym_EQ_GT, + [1851] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(196), 1, + anon_sym_EQ, + ACTIONS(194), 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, + [1870] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(200), 1, + anon_sym_EQ, + ACTIONS(198), 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, + [1889] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(204), 1, + anon_sym_EQ, + ACTIONS(202), 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, + [1908] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(208), 1, + anon_sym_EQ, + ACTIONS(206), 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, + [1927] = 2, + 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, + sym_identifier, + anon_sym_true, + anon_sym_false, + sym_null_lit, + ACTIONS(212), 5, + anon_sym_LBRACE, + anon_sym_LPAREN, + sym_numeric_lit, + anon_sym_DQUOTE, + anon_sym_LBRACK, + [1960] = 3, + 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, + anon_sym_LBRACK, + [1977] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(220), 1, + anon_sym_LBRACK, + ACTIONS(223), 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, + sym_index, + sym_get_attr, + aux_sym_full_splat_repeat1, + ACTIONS(63), 4, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2019] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(232), 1, + anon_sym_LBRACK, + ACTIONS(235), 1, + anon_sym_DOT, + STATE(61), 3, + sym_index, + sym_get_attr, + aux_sym_full_splat_repeat1, + ACTIONS(83), 4, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2040] = 4, + 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, + anon_sym_LBRACE, + ACTIONS(251), 1, + sym_identifier, + STATE(94), 2, + sym_string_lit, + aux_sym_block_repeat1, + [2114] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(208), 1, + anon_sym_DOT, + ACTIONS(206), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2128] = 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, + anon_sym_DOT, + ACTIONS(158), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2158] = 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, + [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, + anon_sym_DOT, + 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, + ACTIONS(3), 1, + sym_comment, + ACTIONS(164), 1, + anon_sym_DOT, + ACTIONS(162), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2294] = 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, + [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, + ACTIONS(3), 1, + sym_comment, + ACTIONS(144), 1, + anon_sym_DOT, + ACTIONS(142), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2378] = 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, + [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, + ACTIONS(3), 1, + sym_comment, + ACTIONS(152), 1, + anon_sym_DOT, + ACTIONS(150), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2448] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(264), 1, + anon_sym_DOT, + ACTIONS(210), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2462] = 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, + [2476] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(196), 1, + anon_sym_DOT, + ACTIONS(194), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2490] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(128), 1, + anon_sym_DOT, + ACTIONS(126), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2504] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(200), 1, + anon_sym_DOT, + ACTIONS(198), 5, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_DOT_DOT_DOT, + anon_sym_if, + [2518] = 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, + 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, + 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, anon_sym_LBRACK, anon_sym_DOT, - ACTIONS(152), 2, + ACTIONS(304), 2, anon_sym_EQ, anon_sym_COLON, - [1069] = 4, - ACTIONS(146), 1, + [2652] = 4, + ACTIONS(282), 1, sym_comment, - ACTIONS(155), 1, + ACTIONS(307), 1, anon_sym_DQUOTE, - STATE(43), 1, + STATE(103), 1, aux_sym_string_lit_repeat1, - ACTIONS(157), 2, + ACTIONS(309), 2, aux_sym_string_lit_token1, aux_sym_string_lit_token2, - [1083] = 4, + [2666] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(159), 1, + ACTIONS(312), 1, anon_sym_COMMA, - ACTIONS(161), 1, + ACTIONS(314), 1, anon_sym_RBRACK, - STATE(49), 1, + STATE(120), 1, aux_sym_tuple_repeat1, - [1096] = 4, + [2679] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(163), 1, + ACTIONS(316), 3, + ts_builtin_sym_end, anon_sym_RBRACE, - ACTIONS(165), 1, - anon_sym_COMMA, - STATE(48), 1, - aux_sym_object_repeat1, - [1109] = 4, + sym_identifier, + [2688] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(159), 1, + ACTIONS(312), 1, anon_sym_COMMA, - ACTIONS(168), 1, + ACTIONS(318), 1, anon_sym_RBRACK, - STATE(55), 1, + STATE(120), 1, aux_sym_tuple_repeat1, - [1122] = 2, + [2701] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(170), 3, - ts_builtin_sym_end, + ACTIONS(288), 1, + anon_sym_if, + ACTIONS(320), 1, anon_sym_RBRACE, - sym_identifier, - [1131] = 2, + STATE(150), 1, + sym_for_cond, + [2714] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(172), 3, - ts_builtin_sym_end, + ACTIONS(322), 1, anon_sym_RBRACE, - sym_identifier, - [1140] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(174), 1, - anon_sym_RBRACE, - ACTIONS(176), 1, + ACTIONS(324), 1, anon_sym_COMMA, - STATE(56), 1, + STATE(111), 1, aux_sym_object_repeat1, - [1153] = 2, + [2727] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(178), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - [1162] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(180), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - [1171] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 1, + ACTIONS(312), 1, anon_sym_COMMA, - ACTIONS(185), 1, + ACTIONS(326), 1, anon_sym_RBRACK, - STATE(55), 1, + STATE(106), 1, aux_sym_tuple_repeat1, - [1184] = 4, + [2740] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(176), 1, - anon_sym_COMMA, - ACTIONS(187), 1, + ACTIONS(288), 1, + anon_sym_if, + ACTIONS(328), 1, anon_sym_RBRACE, - STATE(48), 1, + STATE(148), 1, + sym_for_cond, + [2753] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(324), 1, + anon_sym_COMMA, + ACTIONS(330), 1, + anon_sym_RBRACE, + STATE(119), 1, aux_sym_object_repeat1, - [1197] = 2, + [2766] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(163), 2, + ACTIONS(332), 3, + ts_builtin_sym_end, anon_sym_RBRACE, - anon_sym_COMMA, - [1205] = 2, + sym_identifier, + [2775] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(185), 2, + ACTIONS(288), 1, + anon_sym_if, + ACTIONS(334), 1, + anon_sym_RBRACK, + STATE(138), 1, + sym_for_cond, + [2788] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(336), 3, + ts_builtin_sym_end, + 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, + 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, + 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, - [1213] = 3, + [2892] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(189), 1, + ACTIONS(358), 1, sym_identifier, - ACTIONS(191), 1, + ACTIONS(360), 1, anon_sym_STAR, - [1223] = 2, + [2902] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(193), 2, + ACTIONS(346), 2, anon_sym_RBRACE, anon_sym_COMMA, - [1231] = 2, + [2910] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(195), 2, + ACTIONS(362), 1, + anon_sym_COMMA, + ACTIONS(364), 1, + anon_sym_in, + [2920] = 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, - [1239] = 2, + [2954] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(197), 1, - ts_builtin_sym_end, - [1246] = 2, + ACTIONS(376), 1, + anon_sym_in, + [2961] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(199), 1, + 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, - [1253] = 2, + [2989] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(201), 1, - anon_sym_RBRACE, - [1260] = 2, + ACTIONS(384), 1, + anon_sym_RPAREN, + [2996] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(189), 1, + ACTIONS(386), 1, sym_identifier, - [1267] = 2, + [3003] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(125), 1, + 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(3), 1, + sym_comment, + ACTIONS(320), 1, anon_sym_RBRACE, - [1274] = 2, + [3059] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(203), 1, - anon_sym_RBRACK, - [1281] = 2, + ACTIONS(398), 1, + anon_sym_COLON, + [3066] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(205), 1, - anon_sym_RBRACK, - [1288] = 2, + ACTIONS(400), 1, + anon_sym_RBRACE, + [3073] = 2, ACTIONS(3), 1, sym_comment, - ACTIONS(207), 1, + ACTIONS(328), 1, + anon_sym_RBRACE, + [3080] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(402), 1, + anon_sym_RBRACE, + [3087] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(404), 1, + sym_identifier, + [3094] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(406), 1, + anon_sym_RBRACE, + [3101] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(408), 1, + anon_sym_EQ_GT, + [3108] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(410), 1, + ts_builtin_sym_end, + [3115] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(412), 1, + anon_sym_EQ_GT, + [3122] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(414), 1, ts_builtin_sym_end, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(2)] = 0, - [SMALL_STATE(3)] = 54, - [SMALL_STATE(4)] = 105, - [SMALL_STATE(5)] = 156, - [SMALL_STATE(6)] = 207, - [SMALL_STATE(7)] = 255, - [SMALL_STATE(8)] = 303, - [SMALL_STATE(9)] = 351, - [SMALL_STATE(10)] = 399, - [SMALL_STATE(11)] = 447, - [SMALL_STATE(12)] = 476, - [SMALL_STATE(13)] = 501, - [SMALL_STATE(14)] = 526, - [SMALL_STATE(15)] = 551, - [SMALL_STATE(16)] = 569, - [SMALL_STATE(17)] = 591, - [SMALL_STATE(18)] = 609, - [SMALL_STATE(19)] = 631, - [SMALL_STATE(20)] = 653, - [SMALL_STATE(21)] = 669, - [SMALL_STATE(22)] = 685, - [SMALL_STATE(23)] = 701, - [SMALL_STATE(24)] = 717, - [SMALL_STATE(25)] = 733, - [SMALL_STATE(26)] = 749, - [SMALL_STATE(27)] = 765, - [SMALL_STATE(28)] = 781, - [SMALL_STATE(29)] = 797, - [SMALL_STATE(30)] = 813, - [SMALL_STATE(31)] = 829, - [SMALL_STATE(32)] = 845, - [SMALL_STATE(33)] = 861, - [SMALL_STATE(34)] = 877, - [SMALL_STATE(35)] = 893, - [SMALL_STATE(36)] = 907, - [SMALL_STATE(37)] = 927, - [SMALL_STATE(38)] = 943, - [SMALL_STATE(39)] = 959, - [SMALL_STATE(40)] = 977, - [SMALL_STATE(41)] = 995, - [SMALL_STATE(42)] = 1012, - [SMALL_STATE(43)] = 1029, - [SMALL_STATE(44)] = 1043, - [SMALL_STATE(45)] = 1057, - [SMALL_STATE(46)] = 1069, - [SMALL_STATE(47)] = 1083, - [SMALL_STATE(48)] = 1096, - [SMALL_STATE(49)] = 1109, - [SMALL_STATE(50)] = 1122, - [SMALL_STATE(51)] = 1131, - [SMALL_STATE(52)] = 1140, - [SMALL_STATE(53)] = 1153, - [SMALL_STATE(54)] = 1162, - [SMALL_STATE(55)] = 1171, - [SMALL_STATE(56)] = 1184, - [SMALL_STATE(57)] = 1197, - [SMALL_STATE(58)] = 1205, - [SMALL_STATE(59)] = 1213, - [SMALL_STATE(60)] = 1223, - [SMALL_STATE(61)] = 1231, - [SMALL_STATE(62)] = 1239, - [SMALL_STATE(63)] = 1246, - [SMALL_STATE(64)] = 1253, - [SMALL_STATE(65)] = 1260, - [SMALL_STATE(66)] = 1267, - [SMALL_STATE(67)] = 1274, - [SMALL_STATE(68)] = 1281, - [SMALL_STATE(69)] = 1288, + [SMALL_STATE(3)] = 65, + [SMALL_STATE(4)] = 130, + [SMALL_STATE(5)] = 192, + [SMALL_STATE(6)] = 254, + [SMALL_STATE(7)] = 310, + [SMALL_STATE(8)] = 366, + [SMALL_STATE(9)] = 422, + [SMALL_STATE(10)] = 475, + [SMALL_STATE(11)] = 528, + [SMALL_STATE(12)] = 581, + [SMALL_STATE(13)] = 634, + [SMALL_STATE(14)] = 687, + [SMALL_STATE(15)] = 740, + [SMALL_STATE(16)] = 793, + [SMALL_STATE(17)] = 846, + [SMALL_STATE(18)] = 899, + [SMALL_STATE(19)] = 952, + [SMALL_STATE(20)] = 1005, + [SMALL_STATE(21)] = 1058, + [SMALL_STATE(22)] = 1111, + [SMALL_STATE(23)] = 1164, + [SMALL_STATE(24)] = 1217, + [SMALL_STATE(25)] = 1270, + [SMALL_STATE(26)] = 1302, + [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(58)] = 1960, + [SMALL_STATE(59)] = 1977, + [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, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), - [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(36), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), - [17] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(33), - [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(20), + [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), [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(35), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), - [31] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 3), - [39] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(10), - [42] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(65), - [45] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), - [47] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(10), - [50] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(65), - [53] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 4), - [55] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(10), - [58] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(65), - [61] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 2), - [63] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attr_splat_repeat1, 2), - [65] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(65), - [68] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 3), - [70] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 2), - [72] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attr_splat, 2), SHIFT(65), - [75] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 3), - [77] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_attr_splat, 3), SHIFT(65), - [80] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 1), - [82] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 2), - [84] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 1), - [86] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_collection_value, 1), - [88] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 3), - [90] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_get_attr, 2), - [92] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 3), - [94] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2), - [96] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3), - [98] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), - [100] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat, 1), - [102] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4), - [104] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), - [106] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_lit, 1), - [108] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4), - [110] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_expr, 1), - [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(40), - [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(42), - [118] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1), - [120] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), - [122] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), SHIFT_REPEAT(36), - [125] = {.entry = {.count = 1, .reusable = true}}, SHIFT(53), - [127] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [129] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), - [131] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(41), - [134] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(44), - [137] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), - [139] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [141] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_string_lit_repeat1, 2), - [143] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_string_lit_repeat1, 2), SHIFT_REPEAT(43), - [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT_EXTRA(), - [148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(15), - [150] = {.entry = {.count = 1, .reusable = false}}, SHIFT(46), - [152] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_expr, 1), SHIFT(8), - [155] = {.entry = {.count = 1, .reusable = false}}, SHIFT(17), - [157] = {.entry = {.count = 1, .reusable = false}}, SHIFT(43), - [159] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), - [161] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [163] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), - [165] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), SHIFT_REPEAT(3), - [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [170] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 1), - [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, .production_id = 1), - [174] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), - [178] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4, .production_id = 1), - [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5, .production_id = 1), - [182] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), SHIFT_REPEAT(6), - [185] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), - [187] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [189] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), - [191] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [193] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_elem, 3), - [195] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [197] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), - [199] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [201] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [203] = {.entry = {.count = 1, .reusable = true}}, SHIFT(29), - [205] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [207] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_config_file, 1), + [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), + [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), + [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), + [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), + [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), + [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(), }; #ifdef __cplusplus