From 01a4a981da49c146b4f23edb65a6d88dce8f0848 Mon Sep 17 00:00:00 2001 From: mhoffm Date: Mon, 14 Jun 2021 23:33:28 +0200 Subject: [PATCH] fix string literals; trim trailing whitespace --- README.md | 10 +- grammar.js | 11 +- src/grammar.json | 33 +- src/node-types.json | 6 +- src/parser.c | 5808 ++++++++++++++++--------------- test/corpus/collections.txt | 48 +- test/corpus/conditionals.txt | 16 +- test/corpus/for_expressions.txt | 182 +- test/corpus/function_calls.txt | 64 +- test/corpus/operators.txt | 46 +- test/corpus/splat.txt | 90 +- test/corpus/strings.txt | 67 +- 12 files changed, 3239 insertions(+), 3142 deletions(-) diff --git a/README.md b/README.md index a5d5c5a..9ed36ed 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ It is recommended to use `nix` to fulfill all development dependencies. To activ ## Running Tests -To run tests simply run `nix-shell --run 'tree-sitter test'`. +To run tests simply run `nix-shell --run 'tree-sitter test'`. ## Quoted Template Expressions @@ -24,17 +24,13 @@ In principle it is allowed to contain arbitary expressions in quoted template in foo = "prefix-${func(\"bar\"}" ``` -To make parsing a little easier, this parser only checks for valid escape sequences and template chars. +To make parsing a little easier, this parser only checks for valid escape sequences and template chars. When using this parser one would have to take the content of a template interpolation, unescape it and parse it again to get the syntax tree. The same applies to template directives. -## String Literals - -String literals are parsed as quoted templates. The calling application should check if the node contains any template interpolations or directives. - ## Todo * [ ] use [UnicodeĀ® Standard Annex #31](https://www.unicode.org/reports/tr31/) (augmented with '-') for identifiers -* [ ] add [template expressions](https://github.com/hashicorp/hcl/blob/main/hclsyntax/spec.md#template-expressions) +* [ ] add [template expressions](https://github.com/hashicorp/hcl/blob/main/hclsyntax/spec.md#template-expressions) * [x] add quoted templates * [x] add quoted template interpolations * [ ] add quoted template directives diff --git a/grammar.js b/grammar.js index 01908bd..7900505 100644 --- a/grammar.js +++ b/grammar.js @@ -24,6 +24,7 @@ module.exports = grammar({ [$.attr_splat], [$.full_splat], [$.conditional], + [$.string_lit, $.quoted_template], ], externals: $ => [ @@ -233,8 +234,14 @@ module.exports = grammar({ // $.heredoc_template, ), - // application should check that no template interpolation is contained - string_lit: $ => $.quoted_template, + string_lit: $ => seq( + '"', + repeat(choice( + $._template_char, + $.escape_sequence, + )), + '"', + ), quoted_template: $ => seq( '"', diff --git a/src/grammar.json b/src/grammar.json index f1c3c39..fa90931 100644 --- a/src/grammar.json +++ b/src/grammar.json @@ -1015,8 +1015,33 @@ ] }, "string_lit": { - "type": "SYMBOL", - "name": "quoted_template" + "type": "SEQ", + "members": [ + { + "type": "STRING", + "value": "\"" + }, + { + "type": "REPEAT", + "content": { + "type": "CHOICE", + "members": [ + { + "type": "SYMBOL", + "name": "_template_char" + }, + { + "type": "SYMBOL", + "name": "escape_sequence" + } + ] + } + }, + { + "type": "STRING", + "value": "\"" + } + ] }, "quoted_template": { "type": "SEQ", @@ -1176,6 +1201,10 @@ ], [ "conditional" + ], + [ + "string_lit", + "quoted_template" ] ], "precedences": [], diff --git a/src/node-types.json b/src/node-types.json index e3cfa1f..a8f6e33 100644 --- a/src/node-types.json +++ b/src/node-types.json @@ -556,11 +556,11 @@ "named": true, "fields": {}, "children": { - "multiple": false, - "required": true, + "multiple": true, + "required": false, "types": [ { - "type": "quoted_template", + "type": "escape_sequence", "named": true } ] diff --git a/src/parser.c b/src/parser.c index c59f109..cf9bd3c 100644 --- a/src/parser.c +++ b/src/parser.c @@ -6,9 +6,9 @@ #endif #define LANGUAGE_VERSION 13 -#define STATE_COUNT 217 +#define STATE_COUNT 221 #define LARGE_STATE_COUNT 2 -#define SYMBOL_COUNT 85 +#define SYMBOL_COUNT 86 #define ALIAS_COUNT 0 #define TOKEN_COUNT 44 #define EXTERNAL_TOKEN_COUNT 3 @@ -99,8 +99,9 @@ enum { aux_sym_object_repeat1 = 80, aux_sym_attr_splat_repeat1 = 81, aux_sym_full_splat_repeat1 = 82, - aux_sym_quoted_template_repeat1 = 83, - aux_sym_template_interpolation_repeat1 = 84, + aux_sym_string_lit_repeat1 = 83, + aux_sym_quoted_template_repeat1 = 84, + aux_sym_template_interpolation_repeat1 = 85, }; static const char * const ts_symbol_names[] = { @@ -187,6 +188,7 @@ static const char * const ts_symbol_names[] = { [aux_sym_object_repeat1] = "object_repeat1", [aux_sym_attr_splat_repeat1] = "attr_splat_repeat1", [aux_sym_full_splat_repeat1] = "full_splat_repeat1", + [aux_sym_string_lit_repeat1] = "string_lit_repeat1", [aux_sym_quoted_template_repeat1] = "quoted_template_repeat1", [aux_sym_template_interpolation_repeat1] = "template_interpolation_repeat1", }; @@ -275,6 +277,7 @@ static const TSSymbol ts_symbol_map[] = { [aux_sym_object_repeat1] = aux_sym_object_repeat1, [aux_sym_attr_splat_repeat1] = aux_sym_attr_splat_repeat1, [aux_sym_full_splat_repeat1] = aux_sym_full_splat_repeat1, + [aux_sym_string_lit_repeat1] = aux_sym_string_lit_repeat1, [aux_sym_quoted_template_repeat1] = aux_sym_quoted_template_repeat1, [aux_sym_template_interpolation_repeat1] = aux_sym_template_interpolation_repeat1, }; @@ -612,6 +615,10 @@ static const TSSymbolMetadata ts_symbol_metadata[] = { .visible = false, .named = false, }, + [aux_sym_string_lit_repeat1] = { + .visible = false, + .named = false, + }, [aux_sym_quoted_template_repeat1] = { .visible = false, .named = false, @@ -2700,15 +2707,15 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [21] = {.lex_state = 2}, [22] = {.lex_state = 2}, [23] = {.lex_state = 2}, - [24] = {.lex_state = 2}, + [24] = {.lex_state = 31}, [25] = {.lex_state = 2}, [26] = {.lex_state = 2}, [27] = {.lex_state = 2}, [28] = {.lex_state = 2}, - [29] = {.lex_state = 2}, - [30] = {.lex_state = 31}, + [29] = {.lex_state = 31}, + [30] = {.lex_state = 2}, [31] = {.lex_state = 2}, - [32] = {.lex_state = 31}, + [32] = {.lex_state = 2}, [33] = {.lex_state = 2}, [34] = {.lex_state = 2}, [35] = {.lex_state = 2}, @@ -2748,22 +2755,22 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [69] = {.lex_state = 1}, [70] = {.lex_state = 1}, [71] = {.lex_state = 2}, - [72] = {.lex_state = 2}, - [73] = {.lex_state = 2}, + [72] = {.lex_state = 1}, + [73] = {.lex_state = 1}, [74] = {.lex_state = 2}, [75] = {.lex_state = 2}, - [76] = {.lex_state = 1}, - [77] = {.lex_state = 2}, + [76] = {.lex_state = 2}, + [77] = {.lex_state = 1}, [78] = {.lex_state = 2}, [79] = {.lex_state = 2}, - [80] = {.lex_state = 1}, + [80] = {.lex_state = 2}, [81] = {.lex_state = 2}, [82] = {.lex_state = 2}, [83] = {.lex_state = 2}, [84] = {.lex_state = 2}, [85] = {.lex_state = 2}, [86] = {.lex_state = 2}, - [87] = {.lex_state = 1}, + [87] = {.lex_state = 2}, [88] = {.lex_state = 1}, [89] = {.lex_state = 1}, [90] = {.lex_state = 1}, @@ -2812,87 +2819,91 @@ static const TSLexMode ts_lex_modes[STATE_COUNT] = { [133] = {.lex_state = 2}, [134] = {.lex_state = 31}, [135] = {.lex_state = 0, .external_lex_state = 2}, - [136] = {.lex_state = 4}, + [136] = {.lex_state = 0, .external_lex_state = 2}, [137] = {.lex_state = 0, .external_lex_state = 2}, [138] = {.lex_state = 0, .external_lex_state = 2}, [139] = {.lex_state = 0, .external_lex_state = 2}, - [140] = {.lex_state = 0, .external_lex_state = 2}, + [140] = {.lex_state = 31}, [141] = {.lex_state = 31}, - [142] = {.lex_state = 31}, + [142] = {.lex_state = 4}, [143] = {.lex_state = 31}, [144] = {.lex_state = 31}, - [145] = {.lex_state = 31}, - [146] = {.lex_state = 31}, + [145] = {.lex_state = 0}, + [146] = {.lex_state = 0, .external_lex_state = 3}, [147] = {.lex_state = 0}, - [148] = {.lex_state = 0, .external_lex_state = 3}, - [149] = {.lex_state = 0}, + [148] = {.lex_state = 0}, + [149] = {.lex_state = 31}, [150] = {.lex_state = 0}, [151] = {.lex_state = 0, .external_lex_state = 3}, - [152] = {.lex_state = 0, .external_lex_state = 2}, - [153] = {.lex_state = 0, .external_lex_state = 3}, + [152] = {.lex_state = 0}, + [153] = {.lex_state = 0}, [154] = {.lex_state = 0}, - [155] = {.lex_state = 0}, + [155] = {.lex_state = 31}, [156] = {.lex_state = 0}, [157] = {.lex_state = 0, .external_lex_state = 2}, - [158] = {.lex_state = 0}, - [159] = {.lex_state = 0}, - [160] = {.lex_state = 0}, - [161] = {.lex_state = 0}, - [162] = {.lex_state = 31}, + [158] = {.lex_state = 0, .external_lex_state = 2}, + [159] = {.lex_state = 0, .external_lex_state = 3}, + [160] = {.lex_state = 0, .external_lex_state = 2}, + [161] = {.lex_state = 0, .external_lex_state = 2}, + [162] = {.lex_state = 0}, [163] = {.lex_state = 0}, - [164] = {.lex_state = 0}, + [164] = {.lex_state = 31}, [165] = {.lex_state = 0}, [166] = {.lex_state = 0}, [167] = {.lex_state = 0}, - [168] = {.lex_state = 31}, - [169] = {.lex_state = 0}, + [168] = {.lex_state = 0, .external_lex_state = 2}, + [169] = {.lex_state = 31}, [170] = {.lex_state = 0}, [171] = {.lex_state = 31}, [172] = {.lex_state = 0}, - [173] = {.lex_state = 3}, + [173] = {.lex_state = 0}, [174] = {.lex_state = 0}, [175] = {.lex_state = 0}, - [176] = {.lex_state = 0}, + [176] = {.lex_state = 31}, [177] = {.lex_state = 0}, - [178] = {.lex_state = 0}, - [179] = {.lex_state = 31}, + [178] = {.lex_state = 31}, + [179] = {.lex_state = 0}, [180] = {.lex_state = 0}, - [181] = {.lex_state = 31}, - [182] = {.lex_state = 31}, - [183] = {.lex_state = 0}, - [184] = {.lex_state = 2}, + [181] = {.lex_state = 0}, + [182] = {.lex_state = 3}, + [183] = {.lex_state = 31}, + [184] = {.lex_state = 0}, [185] = {.lex_state = 0}, [186] = {.lex_state = 0}, - [187] = {.lex_state = 0}, + [187] = {.lex_state = 31}, [188] = {.lex_state = 0}, - [189] = {.lex_state = 0}, - [190] = {.lex_state = 0}, - [191] = {.lex_state = 2}, + [189] = {.lex_state = 2}, + [190] = {.lex_state = 2}, + [191] = {.lex_state = 0}, [192] = {.lex_state = 0}, [193] = {.lex_state = 0}, [194] = {.lex_state = 0}, - [195] = {.lex_state = 31}, - [196] = {.lex_state = 31}, + [195] = {.lex_state = 0}, + [196] = {.lex_state = 0}, [197] = {.lex_state = 0}, - [198] = {.lex_state = 31}, - [199] = {.lex_state = 0}, + [198] = {.lex_state = 0}, + [199] = {.lex_state = 31}, [200] = {.lex_state = 31}, [201] = {.lex_state = 0}, [202] = {.lex_state = 0}, [203] = {.lex_state = 0}, [204] = {.lex_state = 0}, - [205] = {.lex_state = 0}, - [206] = {.lex_state = 31}, - [207] = {.lex_state = 0}, + [205] = {.lex_state = 31}, + [206] = {.lex_state = 0}, + [207] = {.lex_state = 31}, [208] = {.lex_state = 0}, [209] = {.lex_state = 0}, [210] = {.lex_state = 0}, [211] = {.lex_state = 0}, [212] = {.lex_state = 0}, [213] = {.lex_state = 0}, - [214] = {.lex_state = 0}, + [214] = {.lex_state = 31}, [215] = {.lex_state = 0}, [216] = {.lex_state = 0}, + [217] = {.lex_state = 0}, + [218] = {.lex_state = 0}, + [219] = {.lex_state = 0}, + [220] = {.lex_state = 0}, }; enum { @@ -2970,11 +2981,11 @@ static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [sym_escape_sequence] = ACTIONS(1), }, [1] = { - [sym_config_file] = STATE(216), - [sym_body] = STATE(214), - [sym_attribute] = STATE(145), - [sym_block] = STATE(145), - [aux_sym_body_repeat1] = STATE(145), + [sym_config_file] = STATE(220), + [sym_body] = STATE(218), + [sym_attribute] = STATE(143), + [sym_block] = STATE(143), + [aux_sym_body_repeat1] = STATE(143), [sym_identifier] = ACTIONS(5), [sym_comment] = ACTIONS(3), }, @@ -3004,35 +3015,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, STATE(6), 1, sym_expr_term, - STATE(23), 1, + STATE(20), 1, sym_for_intro, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(173), 1, - sym_expression, - STATE(177), 1, + STATE(60), 1, + sym_bool_lit, + STATE(180), 1, sym_object_elem, + STATE(182), 1, + sym_expression, ACTIONS(17), 2, anon_sym_true, anon_sym_false, ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3062,15 +3073,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACE, STATE(6), 1, sym_expr_term, - STATE(19), 1, + STATE(27), 1, sym_for_intro, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(167), 1, - sym_object_elem, + STATE(60), 1, + sym_bool_lit, STATE(173), 1, + sym_object_elem, + STATE(182), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -3078,19 +3089,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3120,13 +3131,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, STATE(6), 1, sym_expr_term, - STATE(16), 1, + STATE(19), 1, sym_for_intro, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(164), 1, + STATE(60), 1, + sym_bool_lit, + STATE(167), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -3134,19 +3145,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3176,13 +3187,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RBRACK, STATE(6), 1, sym_expr_term, - STATE(20), 1, + STATE(25), 1, sym_for_intro, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(161), 1, + STATE(60), 1, + sym_bool_lit, + STATE(165), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -3190,19 +3201,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3239,10 +3250,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(55), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - STATE(44), 2, + STATE(58), 2, sym_attr_splat, sym_full_splat, - STATE(55), 3, + STATE(57), 3, sym_index, sym_get_attr, sym_splat, @@ -3278,13 +3289,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(155), 1, + STATE(60), 1, + sym_bool_lit, + STATE(153), 1, sym_expression, - STATE(207), 1, + STATE(216), 1, sym_function_arguments, ACTIONS(17), 2, anon_sym_true, @@ -3292,19 +3303,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3332,13 +3343,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(155), 1, + STATE(60), 1, + sym_bool_lit, + STATE(153), 1, sym_expression, - STATE(199), 1, + STATE(202), 1, sym_function_arguments, ACTIONS(17), 2, anon_sym_true, @@ -3346,19 +3357,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3386,11 +3397,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_RPAREN, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(159), 1, + STATE(60), 1, + sym_bool_lit, + STATE(156), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -3398,19 +3409,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3438,11 +3449,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_STAR, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(183), 1, + STATE(60), 1, + sym_bool_lit, + STATE(191), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -3450,19 +3461,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3474,6 +3485,8 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(7), 1, anon_sym_LBRACE, + ACTIONS(11), 1, + sym_identifier, ACTIONS(13), 1, anon_sym_LPAREN, ACTIONS(15), 1, @@ -3484,37 +3497,35 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(27), 1, anon_sym_DQUOTE, - ACTIONS(31), 1, - sym_identifier, - ACTIONS(69), 1, - anon_sym_RPAREN, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(159), 1, + STATE(60), 1, + sym_bool_lit, + STATE(182), 1, sym_expression, + STATE(194), 1, + sym_object_elem, ACTIONS(17), 2, anon_sym_true, anon_sym_false, ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3538,15 +3549,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(31), 1, sym_identifier, - ACTIONS(71), 1, - anon_sym_STAR, + ACTIONS(69), 1, + anon_sym_RPAREN, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(190), 1, + STATE(60), 1, + sym_bool_lit, + STATE(156), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -3554,19 +3565,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3578,8 +3589,6 @@ static const uint16_t ts_small_parse_table[] = { sym_comment, ACTIONS(7), 1, anon_sym_LBRACE, - ACTIONS(11), 1, - sym_identifier, ACTIONS(13), 1, anon_sym_LPAREN, ACTIONS(15), 1, @@ -3590,35 +3599,37 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(27), 1, anon_sym_DQUOTE, + ACTIONS(31), 1, + sym_identifier, + ACTIONS(71), 1, + anon_sym_STAR, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(173), 1, + STATE(60), 1, + sym_bool_lit, + STATE(195), 1, sym_expression, - STATE(192), 1, - sym_object_elem, ACTIONS(17), 2, anon_sym_true, anon_sym_false, ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3628,47 +3639,47 @@ static const uint16_t ts_small_parse_table[] = { [891] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(73), 1, + ACTIONS(7), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - sym_identifier, - ACTIONS(77), 1, + ACTIONS(13), 1, anon_sym_LPAREN, - ACTIONS(79), 1, + ACTIONS(15), 1, sym_numeric_lit, - ACTIONS(83), 1, + ACTIONS(19), 1, sym_null_lit, - ACTIONS(85), 1, + ACTIONS(21), 1, anon_sym_LBRACK, - ACTIONS(89), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - STATE(67), 1, + ACTIONS(31), 1, + sym_identifier, + STATE(6), 1, sym_expr_term, - STATE(102), 1, - sym_bool_lit, - STATE(110), 1, + STATE(42), 1, sym_quoted_template, - STATE(158), 1, + STATE(60), 1, + sym_bool_lit, + STATE(186), 1, sym_expression, - ACTIONS(81), 2, + ACTIONS(17), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(98), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(105), 2, + STATE(53), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(149), 2, - sym_unary_operation, - sym_binary_operation, - STATE(150), 2, + STATE(131), 2, sym_conditional, sym_operation, - STATE(90), 6, + STATE(134), 2, + sym_unary_operation, + sym_binary_operation, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3694,11 +3705,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(193), 1, + STATE(60), 1, + sym_bool_lit, + STATE(164), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -3706,19 +3717,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3728,47 +3739,47 @@ static const uint16_t ts_small_parse_table[] = { [1029] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(73), 1, + ACTIONS(7), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - sym_identifier, - ACTIONS(77), 1, + ACTIONS(13), 1, anon_sym_LPAREN, - ACTIONS(79), 1, + ACTIONS(15), 1, sym_numeric_lit, - ACTIONS(83), 1, + ACTIONS(19), 1, sym_null_lit, - ACTIONS(85), 1, + ACTIONS(21), 1, anon_sym_LBRACK, - ACTIONS(89), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - STATE(67), 1, + ACTIONS(31), 1, + sym_identifier, + STATE(6), 1, sym_expr_term, - STATE(102), 1, - sym_bool_lit, - STATE(110), 1, + STATE(42), 1, sym_quoted_template, - STATE(163), 1, + STATE(60), 1, + sym_bool_lit, + STATE(192), 1, sym_expression, - ACTIONS(81), 2, + ACTIONS(17), 2, anon_sym_true, anon_sym_false, - ACTIONS(87), 2, + ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(98), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(105), 2, + STATE(53), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(149), 2, - sym_unary_operation, - sym_binary_operation, - STATE(150), 2, + STATE(131), 2, sym_conditional, sym_operation, - STATE(90), 6, + STATE(134), 2, + sym_unary_operation, + sym_binary_operation, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3794,11 +3805,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(189), 1, + STATE(60), 1, + sym_bool_lit, + STATE(196), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -3806,19 +3817,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3844,11 +3855,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(187), 1, + STATE(60), 1, + sym_bool_lit, + STATE(185), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -3856,19 +3867,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3876,56 +3887,6 @@ static const uint16_t ts_small_parse_table[] = { sym_function_call, sym_template_expr, [1236] = 19, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(19), 1, - sym_null_lit, - ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(31), 1, - sym_identifier, - STATE(6), 1, - sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, - sym_quoted_template, - STATE(184), 1, - sym_expression, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, - sym_tuple, - sym_object, - STATE(130), 2, - sym_conditional, - sym_operation, - STATE(134), 2, - sym_unary_operation, - sym_binary_operation, - STATE(64), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [1305] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, @@ -3944,11 +3905,11 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, STATE(67), 1, sym_expr_term, - STATE(102), 1, - sym_bool_lit, - STATE(110), 1, + STATE(91), 1, sym_quoted_template, - STATE(160), 1, + STATE(96), 1, + sym_bool_lit, + STATE(162), 1, sym_expression, ACTIONS(81), 2, anon_sym_true, @@ -3956,19 +3917,69 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(87), 2, anon_sym_DASH, anon_sym_BANG, - STATE(98), 2, - sym_tuple, - sym_object, - STATE(105), 2, + STATE(92), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(149), 2, - sym_unary_operation, - sym_binary_operation, - STATE(150), 2, + STATE(93), 2, + sym_tuple, + sym_object, + STATE(147), 2, sym_conditional, sym_operation, - STATE(90), 6, + STATE(148), 2, + sym_unary_operation, + sym_binary_operation, + STATE(94), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [1305] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(19), 1, + sym_null_lit, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + sym_identifier, + STATE(6), 1, + sym_expr_term, + STATE(42), 1, + sym_quoted_template, + STATE(60), 1, + sym_bool_lit, + STATE(189), 1, + sym_expression, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(25), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(41), 2, + sym_tuple, + sym_object, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, + sym_conditional, + sym_operation, + STATE(134), 2, + sym_unary_operation, + sym_binary_operation, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -3994,11 +4005,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(180), 1, + STATE(60), 1, + sym_bool_lit, + STATE(193), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -4006,19 +4017,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -4028,47 +4039,47 @@ static const uint16_t ts_small_parse_table[] = { [1443] = 19, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, + ACTIONS(73), 1, anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(19), 1, - sym_null_lit, - ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(31), 1, + ACTIONS(75), 1, sym_identifier, - STATE(6), 1, + ACTIONS(77), 1, + anon_sym_LPAREN, + ACTIONS(79), 1, + sym_numeric_lit, + ACTIONS(83), 1, + sym_null_lit, + ACTIONS(85), 1, + anon_sym_LBRACK, + ACTIONS(89), 1, + anon_sym_DQUOTE, + STATE(67), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(91), 1, sym_quoted_template, - STATE(131), 1, + STATE(96), 1, + sym_bool_lit, + STATE(154), 1, sym_expression, - ACTIONS(17), 2, + ACTIONS(81), 2, anon_sym_true, anon_sym_false, - ACTIONS(25), 2, + ACTIONS(87), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, + STATE(92), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(63), 2, + STATE(93), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(147), 2, sym_conditional, sym_operation, - STATE(134), 2, + STATE(148), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(94), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -4094,11 +4105,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(191), 1, + STATE(60), 1, + sym_bool_lit, + STATE(130), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -4106,333 +4117,33 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, sym_template_expr, - [1581] = 19, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(19), 1, - sym_null_lit, - ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(31), 1, - sym_identifier, - STATE(6), 1, - sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, - sym_quoted_template, - STATE(162), 1, - sym_expression, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, - sym_tuple, - sym_object, - STATE(130), 2, - sym_conditional, - sym_operation, - STATE(134), 2, - sym_unary_operation, - sym_binary_operation, - STATE(64), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [1650] = 19, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(19), 1, - sym_null_lit, - ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(31), 1, - sym_identifier, - STATE(6), 1, - sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, - sym_quoted_template, - STATE(183), 1, - sym_expression, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, - sym_tuple, - sym_object, - STATE(130), 2, - sym_conditional, - sym_operation, - STATE(134), 2, - sym_unary_operation, - sym_binary_operation, - STATE(64), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [1719] = 19, - ACTIONS(3), 1, - sym_comment, - ACTIONS(73), 1, - anon_sym_LBRACE, - ACTIONS(75), 1, - sym_identifier, - ACTIONS(77), 1, - anon_sym_LPAREN, - ACTIONS(79), 1, - sym_numeric_lit, - ACTIONS(83), 1, - sym_null_lit, - ACTIONS(85), 1, - anon_sym_LBRACK, - ACTIONS(89), 1, - anon_sym_DQUOTE, - STATE(67), 1, - sym_expr_term, - STATE(102), 1, - sym_bool_lit, - STATE(110), 1, - sym_quoted_template, - STATE(154), 1, - sym_expression, - ACTIONS(81), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(87), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(98), 2, - sym_tuple, - sym_object, - STATE(105), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(149), 2, - sym_unary_operation, - sym_binary_operation, - STATE(150), 2, - sym_conditional, - sym_operation, - STATE(90), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [1788] = 19, - ACTIONS(3), 1, - sym_comment, - ACTIONS(73), 1, - anon_sym_LBRACE, - ACTIONS(75), 1, - sym_identifier, - ACTIONS(77), 1, - anon_sym_LPAREN, - ACTIONS(79), 1, - sym_numeric_lit, - ACTIONS(83), 1, - sym_null_lit, - ACTIONS(85), 1, - anon_sym_LBRACK, - ACTIONS(89), 1, - anon_sym_DQUOTE, - STATE(67), 1, - sym_expr_term, - STATE(102), 1, - sym_bool_lit, - STATE(110), 1, - sym_quoted_template, - STATE(156), 1, - sym_expression, - ACTIONS(81), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(87), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(98), 2, - sym_tuple, - sym_object, - STATE(105), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(149), 2, - sym_unary_operation, - sym_binary_operation, - STATE(150), 2, - sym_conditional, - sym_operation, - STATE(90), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [1857] = 19, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(19), 1, - sym_null_lit, - ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(31), 1, - sym_identifier, - STATE(6), 1, - sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, - sym_quoted_template, - STATE(159), 1, - sym_expression, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, - sym_tuple, - sym_object, - STATE(130), 2, - sym_conditional, - sym_operation, - STATE(134), 2, - sym_unary_operation, - sym_binary_operation, - STATE(64), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [1926] = 19, - ACTIONS(3), 1, - sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(19), 1, - sym_null_lit, - ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(31), 1, - sym_identifier, - STATE(6), 1, - sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, - sym_quoted_template, - STATE(190), 1, - sym_expression, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - ACTIONS(25), 2, - anon_sym_DASH, - anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, - sym_tuple, - sym_object, - STATE(130), 2, - sym_conditional, - sym_operation, - STATE(134), 2, - sym_unary_operation, - sym_binary_operation, - STATE(64), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [1995] = 6, + [1581] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(95), 1, anon_sym_LBRACK, ACTIONS(98), 1, anon_sym_DOT, - STATE(36), 3, + STATE(29), 3, sym_index, sym_get_attr, aux_sym_full_splat_repeat1, @@ -4462,7 +4173,57 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2038] = 19, + [1624] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(73), 1, + anon_sym_LBRACE, + ACTIONS(75), 1, + sym_identifier, + ACTIONS(77), 1, + anon_sym_LPAREN, + ACTIONS(79), 1, + sym_numeric_lit, + ACTIONS(83), 1, + sym_null_lit, + ACTIONS(85), 1, + anon_sym_LBRACK, + ACTIONS(89), 1, + anon_sym_DQUOTE, + STATE(67), 1, + sym_expr_term, + STATE(91), 1, + sym_quoted_template, + STATE(96), 1, + sym_bool_lit, + STATE(166), 1, + sym_expression, + ACTIONS(81), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(87), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(92), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(93), 2, + sym_tuple, + sym_object, + STATE(147), 2, + sym_conditional, + sym_operation, + STATE(148), 2, + sym_unary_operation, + sym_binary_operation, + STATE(94), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [1693] = 19, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -4481,11 +4242,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(194), 1, + STATE(60), 1, + sym_bool_lit, + STATE(156), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -4493,33 +4254,133 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, sym_template_expr, - [2107] = 6, + [1762] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(19), 1, + sym_null_lit, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + sym_identifier, + STATE(6), 1, + sym_expr_term, + STATE(42), 1, + sym_quoted_template, + STATE(60), 1, + sym_bool_lit, + STATE(190), 1, + sym_expression, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(25), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(41), 2, + sym_tuple, + sym_object, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, + sym_conditional, + sym_operation, + STATE(134), 2, + sym_unary_operation, + sym_binary_operation, + STATE(48), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [1831] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(19), 1, + sym_null_lit, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + sym_identifier, + STATE(6), 1, + sym_expr_term, + STATE(42), 1, + sym_quoted_template, + STATE(60), 1, + sym_bool_lit, + STATE(191), 1, + sym_expression, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(25), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(41), 2, + sym_tuple, + sym_object, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, + sym_conditional, + sym_operation, + STATE(134), 2, + sym_unary_operation, + sym_binary_operation, + STATE(48), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [1900] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(105), 1, anon_sym_LBRACK, ACTIONS(108), 1, anon_sym_DOT, - STATE(32), 3, + STATE(36), 3, sym_index, sym_get_attr, aux_sym_full_splat_repeat1, @@ -4549,6 +4410,156 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, + [1943] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(73), 1, + anon_sym_LBRACE, + ACTIONS(75), 1, + sym_identifier, + ACTIONS(77), 1, + anon_sym_LPAREN, + ACTIONS(79), 1, + sym_numeric_lit, + ACTIONS(83), 1, + sym_null_lit, + ACTIONS(85), 1, + anon_sym_LBRACK, + ACTIONS(89), 1, + anon_sym_DQUOTE, + STATE(67), 1, + sym_expr_term, + STATE(91), 1, + sym_quoted_template, + STATE(96), 1, + sym_bool_lit, + STATE(152), 1, + sym_expression, + ACTIONS(81), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(87), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(92), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(93), 2, + sym_tuple, + sym_object, + STATE(147), 2, + sym_conditional, + sym_operation, + STATE(148), 2, + sym_unary_operation, + sym_binary_operation, + STATE(94), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [2012] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(7), 1, + anon_sym_LBRACE, + ACTIONS(13), 1, + anon_sym_LPAREN, + ACTIONS(15), 1, + sym_numeric_lit, + ACTIONS(19), 1, + sym_null_lit, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + sym_identifier, + STATE(6), 1, + sym_expr_term, + STATE(42), 1, + sym_quoted_template, + STATE(60), 1, + sym_bool_lit, + STATE(195), 1, + sym_expression, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(25), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(41), 2, + sym_tuple, + sym_object, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, + sym_conditional, + sym_operation, + STATE(134), 2, + sym_unary_operation, + sym_binary_operation, + STATE(48), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [2081] = 19, + ACTIONS(3), 1, + sym_comment, + ACTIONS(73), 1, + anon_sym_LBRACE, + ACTIONS(75), 1, + sym_identifier, + ACTIONS(77), 1, + anon_sym_LPAREN, + ACTIONS(79), 1, + sym_numeric_lit, + ACTIONS(83), 1, + sym_null_lit, + ACTIONS(85), 1, + anon_sym_LBRACK, + ACTIONS(89), 1, + anon_sym_DQUOTE, + STATE(67), 1, + sym_expr_term, + STATE(91), 1, + sym_quoted_template, + STATE(96), 1, + sym_bool_lit, + STATE(150), 1, + sym_expression, + ACTIONS(81), 2, + anon_sym_true, + anon_sym_false, + ACTIONS(87), 2, + anon_sym_DASH, + anon_sym_BANG, + STATE(92), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(93), 2, + sym_tuple, + sym_object, + STATE(147), 2, + sym_conditional, + sym_operation, + STATE(148), 2, + sym_unary_operation, + sym_binary_operation, + STATE(94), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, [2150] = 19, ACTIONS(3), 1, sym_comment, @@ -4568,11 +4579,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(176), 1, + STATE(60), 1, + sym_bool_lit, + STATE(197), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -4580,19 +4591,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -4618,11 +4629,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(185), 1, + STATE(60), 1, + sym_bool_lit, + STATE(172), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -4630,19 +4641,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -4668,11 +4679,11 @@ static const uint16_t ts_small_parse_table[] = { sym_identifier, STATE(6), 1, sym_expr_term, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(186), 1, + STATE(60), 1, + sym_bool_lit, + STATE(198), 1, sym_expression, ACTIONS(17), 2, anon_sym_true, @@ -4680,19 +4691,19 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(25), 2, anon_sym_DASH, anon_sym_BANG, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(130), 2, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(131), 2, sym_conditional, sym_operation, STATE(134), 2, sym_unary_operation, sym_binary_operation, - STATE(64), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, @@ -4706,7 +4717,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(118), 1, anon_sym_DOT, - STATE(32), 3, + STATE(36), 3, sym_index, sym_get_attr, aux_sym_full_splat_repeat1, @@ -4736,18 +4747,21 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2400] = 3, + [2400] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(123), 5, - anon_sym_EQ, + ACTIONS(125), 1, anon_sym_DOT, + STATE(37), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(123), 4, + anon_sym_EQ, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(121), 23, + ACTIONS(121), 21, ts_builtin_sym_end, - anon_sym_LBRACE, anon_sym_RBRACE, sym_identifier, anon_sym_RPAREN, @@ -4768,21 +4782,55 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - anon_sym_DQUOTE, - [2436] = 5, + [2440] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(129), 1, + ACTIONS(132), 1, + anon_sym_DOT, + STATE(37), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(130), 4, + anon_sym_EQ, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(128), 21, + 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_STAR, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [2480] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(139), 1, anon_sym_DOT, STATE(38), 2, sym_get_attr, aux_sym_attr_splat_repeat1, - ACTIONS(127), 4, + ACTIONS(137), 4, anon_sym_EQ, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(125), 21, + ACTIONS(135), 21, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -4804,121 +4852,18 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2476] = 3, + [2520] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(134), 5, - anon_sym_EQ, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(132), 23, - ts_builtin_sym_end, - 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_STAR, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - anon_sym_DQUOTE, - [2512] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(140), 1, - anon_sym_DOT, - STATE(38), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(138), 4, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(136), 21, - 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_STAR, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [2552] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(147), 1, - anon_sym_DOT, - STATE(40), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(145), 4, - anon_sym_EQ, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(143), 21, - 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_STAR, - anon_sym_EQ_GT, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [2592] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(154), 1, + ACTIONS(146), 1, anon_sym_LPAREN, - ACTIONS(152), 5, + ACTIONS(144), 5, anon_sym_EQ, anon_sym_DOT, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(150), 21, + ACTIONS(142), 21, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -4940,7 +4885,69 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2629] = 3, + [2557] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(150), 5, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(148), 21, + 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_STAR, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [2591] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(154), 5, + anon_sym_EQ, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(152), 21, + 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_STAR, + anon_sym_EQ_GT, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [2625] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(158), 5, @@ -4971,7 +4978,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2663] = 3, + [2659] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(162), 5, @@ -5002,7 +5009,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2697] = 3, + [2693] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(166), 5, @@ -5033,7 +5040,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2731] = 3, + [2727] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(170), 5, @@ -5064,7 +5071,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2765] = 3, + [2761] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(174), 5, @@ -5095,7 +5102,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2799] = 3, + [2795] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(178), 5, @@ -5126,7 +5133,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2833] = 3, + [2829] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(182), 5, @@ -5157,7 +5164,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2867] = 3, + [2863] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(186), 5, @@ -5188,7 +5195,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2901] = 3, + [2897] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(190), 5, @@ -5219,7 +5226,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2935] = 3, + [2931] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(194), 5, @@ -5250,7 +5257,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [2969] = 3, + [2965] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(198), 5, @@ -5281,7 +5288,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3003] = 3, + [2999] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(202), 5, @@ -5312,7 +5319,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3037] = 3, + [3033] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(206), 5, @@ -5343,7 +5350,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3071] = 3, + [3067] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(210), 5, @@ -5374,7 +5381,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3105] = 3, + [3101] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(214), 5, @@ -5405,7 +5412,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3139] = 3, + [3135] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(218), 5, @@ -5436,7 +5443,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3173] = 3, + [3169] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(222), 5, @@ -5467,7 +5474,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3207] = 3, + [3203] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(226), 5, @@ -5498,7 +5505,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3241] = 3, + [3237] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(230), 5, @@ -5529,7 +5536,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3275] = 3, + [3271] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(234), 5, @@ -5560,7 +5567,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3309] = 3, + [3305] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(238), 5, @@ -5591,7 +5598,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3343] = 3, + [3339] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(242), 5, @@ -5622,7 +5629,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3377] = 3, + [3373] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(246), 5, @@ -5653,7 +5660,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3411] = 3, + [3407] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(250), 5, @@ -5684,7 +5691,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3445] = 14, + [3441] = 14, ACTIONS(3), 1, sym_comment, ACTIONS(252), 1, @@ -5712,10 +5719,10 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(266), 2, anon_sym_EQ_EQ, anon_sym_BANG_EQ, - STATE(108), 2, + STATE(114), 2, sym_attr_splat, sym_full_splat, - STATE(106), 3, + STATE(102), 3, sym_index, sym_get_attr, sym_splat, @@ -5725,75 +5732,13 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, sym_ellipsis, anon_sym_QMARK, - [3500] = 6, + [3496] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(272), 1, anon_sym_LBRACK, ACTIONS(275), 1, anon_sym_DOT, - ACTIONS(103), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - STATE(68), 3, - sym_index, - sym_get_attr, - aux_sym_full_splat_repeat1, - ACTIONS(101), 15, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [3537] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(278), 1, - anon_sym_LBRACK, - ACTIONS(281), 1, - anon_sym_DOT, - ACTIONS(113), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - STATE(68), 3, - sym_index, - sym_get_attr, - aux_sym_full_splat_repeat1, - ACTIONS(111), 15, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [3574] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(284), 1, - anon_sym_LBRACK, - ACTIONS(287), 1, - anon_sym_DOT, ACTIONS(93), 3, anon_sym_SLASH, anon_sym_GT, @@ -5818,216 +5763,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3611] = 15, + [3533] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(7), 1, - anon_sym_LBRACE, - ACTIONS(13), 1, - anon_sym_LPAREN, - ACTIONS(15), 1, - sym_numeric_lit, - ACTIONS(19), 1, - sym_null_lit, - ACTIONS(21), 1, + ACTIONS(278), 1, anon_sym_LBRACK, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(31), 1, - sym_identifier, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, - sym_quoted_template, - STATE(117), 1, - sym_expr_term, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, - sym_tuple, - sym_object, - STATE(64), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [3665] = 15, - ACTIONS(3), 1, - sym_comment, - ACTIONS(73), 1, - anon_sym_LBRACE, - ACTIONS(75), 1, - sym_identifier, - ACTIONS(77), 1, - anon_sym_LPAREN, - ACTIONS(79), 1, - sym_numeric_lit, - ACTIONS(83), 1, - sym_null_lit, - ACTIONS(85), 1, - anon_sym_LBRACK, - ACTIONS(89), 1, - anon_sym_DQUOTE, - STATE(102), 1, - sym_bool_lit, - STATE(110), 1, - sym_quoted_template, - STATE(126), 1, - sym_expr_term, - ACTIONS(81), 2, - anon_sym_true, - anon_sym_false, - STATE(98), 2, - sym_tuple, - sym_object, - STATE(105), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(90), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [3719] = 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(19), 1, - sym_null_lit, - ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(31), 1, - sym_identifier, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, - sym_quoted_template, - STATE(120), 1, - sym_expr_term, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, - sym_tuple, - sym_object, - STATE(64), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [3773] = 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(19), 1, - sym_null_lit, - ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(31), 1, - sym_identifier, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, - sym_quoted_template, - STATE(122), 1, - sym_expr_term, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, - sym_tuple, - sym_object, - STATE(64), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [3827] = 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(19), 1, - sym_null_lit, - ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(31), 1, - sym_identifier, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, - sym_quoted_template, - STATE(121), 1, - sym_expr_term, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, - sym_tuple, - sym_object, - STATE(64), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [3881] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(290), 1, + ACTIONS(281), 1, anon_sym_DOT, - STATE(80), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(145), 3, + ACTIONS(103), 3, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(143), 16, + STATE(70), 3, + sym_index, + sym_get_attr, + aux_sym_full_splat_repeat1, + ACTIONS(101), 15, anon_sym_RBRACE, - anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_STAR, anon_sym_if, @@ -6042,7 +5794,38 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [3915] = 15, + [3570] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(284), 1, + anon_sym_LBRACK, + ACTIONS(287), 1, + anon_sym_DOT, + ACTIONS(113), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + STATE(70), 3, + sym_index, + sym_get_attr, + aux_sym_full_splat_repeat1, + ACTIONS(111), 15, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [3607] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -6059,119 +5842,41 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(31), 1, sym_identifier, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, - STATE(116), 1, - sym_expr_term, - ACTIONS(17), 2, - anon_sym_true, - anon_sym_false, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, - sym_tuple, - sym_object, - STATE(64), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [3969] = 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(19), 1, - sym_null_lit, - ACTIONS(21), 1, - anon_sym_LBRACK, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(31), 1, - sym_identifier, - STATE(56), 1, + STATE(60), 1, sym_bool_lit, - STATE(58), 1, - sym_quoted_template, STATE(119), 1, sym_expr_term, ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(64), 6, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, sym_template_expr, - [4023] = 15, + [3661] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(73), 1, - anon_sym_LBRACE, - ACTIONS(75), 1, - sym_identifier, - ACTIONS(77), 1, - anon_sym_LPAREN, - ACTIONS(79), 1, - sym_numeric_lit, - ACTIONS(83), 1, - sym_null_lit, - ACTIONS(85), 1, - anon_sym_LBRACK, - ACTIONS(89), 1, - anon_sym_DQUOTE, - STATE(102), 1, - sym_bool_lit, - STATE(110), 1, - sym_quoted_template, - STATE(129), 1, - sym_expr_term, - ACTIONS(81), 2, - anon_sym_true, - anon_sym_false, - STATE(98), 2, - sym_tuple, - sym_object, - STATE(105), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(90), 6, - sym_literal_value, - sym_collection_value, - sym_for_expr, - sym_variable_expr, - sym_function_call, - sym_template_expr, - [4077] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(293), 1, + ACTIONS(290), 1, anon_sym_DOT, - STATE(87), 2, + STATE(73), 2, sym_get_attr, aux_sym_attr_splat_repeat1, - ACTIONS(138), 3, + ACTIONS(137), 3, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(136), 16, + ACTIONS(135), 16, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, @@ -6188,7 +5893,36 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [4111] = 15, + [3695] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(293), 1, + anon_sym_DOT, + STATE(77), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(130), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(128), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [3729] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, @@ -6205,29 +5939,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(89), 1, anon_sym_DQUOTE, - STATE(102), 1, - sym_bool_lit, - STATE(110), 1, + STATE(91), 1, sym_quoted_template, - STATE(128), 1, + STATE(96), 1, + sym_bool_lit, + STATE(123), 1, sym_expr_term, ACTIONS(81), 2, anon_sym_true, anon_sym_false, - STATE(98), 2, - sym_tuple, - sym_object, - STATE(105), 2, + STATE(92), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(90), 6, + STATE(93), 2, + sym_tuple, + sym_object, + STATE(94), 6, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, sym_template_expr, - [4165] = 15, + [3783] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, @@ -6244,29 +5978,136 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(89), 1, anon_sym_DQUOTE, - STATE(102), 1, - sym_bool_lit, - STATE(110), 1, + STATE(91), 1, sym_quoted_template, + STATE(96), 1, + sym_bool_lit, + STATE(126), 1, + sym_expr_term, + ACTIONS(81), 2, + anon_sym_true, + anon_sym_false, + STATE(92), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(93), 2, + sym_tuple, + sym_object, + STATE(94), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [3837] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(73), 1, + anon_sym_LBRACE, + ACTIONS(75), 1, + sym_identifier, + ACTIONS(77), 1, + anon_sym_LPAREN, + ACTIONS(79), 1, + sym_numeric_lit, + ACTIONS(83), 1, + sym_null_lit, + ACTIONS(85), 1, + anon_sym_LBRACK, + ACTIONS(89), 1, + anon_sym_DQUOTE, + STATE(91), 1, + sym_quoted_template, + STATE(96), 1, + sym_bool_lit, STATE(125), 1, sym_expr_term, ACTIONS(81), 2, anon_sym_true, anon_sym_false, - STATE(98), 2, - sym_tuple, - sym_object, - STATE(105), 2, + STATE(92), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(90), 6, + STATE(93), 2, + sym_tuple, + sym_object, + STATE(94), 6, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, sym_template_expr, - [4219] = 15, + [3891] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(296), 1, + anon_sym_DOT, + STATE(77), 2, + sym_get_attr, + aux_sym_attr_splat_repeat1, + ACTIONS(123), 3, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(121), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [3925] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(73), 1, + anon_sym_LBRACE, + ACTIONS(75), 1, + sym_identifier, + ACTIONS(77), 1, + anon_sym_LPAREN, + ACTIONS(79), 1, + sym_numeric_lit, + ACTIONS(83), 1, + sym_null_lit, + ACTIONS(85), 1, + anon_sym_LBRACK, + ACTIONS(89), 1, + anon_sym_DQUOTE, + STATE(91), 1, + sym_quoted_template, + STATE(96), 1, + sym_bool_lit, + STATE(124), 1, + sym_expr_term, + ACTIONS(81), 2, + anon_sym_true, + anon_sym_false, + STATE(92), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(93), 2, + sym_tuple, + sym_object, + STATE(94), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [3979] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(7), 1, @@ -6283,68 +6124,263 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DQUOTE, ACTIONS(31), 1, sym_identifier, - STATE(56), 1, - sym_bool_lit, - STATE(58), 1, + STATE(42), 1, sym_quoted_template, + STATE(60), 1, + sym_bool_lit, + STATE(122), 1, + sym_expr_term, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + STATE(41), 2, + sym_tuple, + sym_object, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(48), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [4033] = 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(19), 1, + sym_null_lit, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + sym_identifier, + STATE(42), 1, + sym_quoted_template, + STATE(60), 1, + sym_bool_lit, + STATE(121), 1, + sym_expr_term, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + STATE(41), 2, + sym_tuple, + sym_object, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(48), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [4087] = 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(19), 1, + sym_null_lit, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + sym_identifier, + STATE(42), 1, + sym_quoted_template, + STATE(60), 1, + sym_bool_lit, + STATE(120), 1, + sym_expr_term, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + STATE(41), 2, + sym_tuple, + sym_object, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(48), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [4141] = 15, + ACTIONS(3), 1, + sym_comment, + ACTIONS(73), 1, + anon_sym_LBRACE, + ACTIONS(75), 1, + sym_identifier, + ACTIONS(77), 1, + anon_sym_LPAREN, + ACTIONS(79), 1, + sym_numeric_lit, + ACTIONS(83), 1, + sym_null_lit, + ACTIONS(85), 1, + anon_sym_LBRACK, + ACTIONS(89), 1, + anon_sym_DQUOTE, + STATE(91), 1, + sym_quoted_template, + STATE(96), 1, + sym_bool_lit, + STATE(129), 1, + sym_expr_term, + ACTIONS(81), 2, + anon_sym_true, + anon_sym_false, + STATE(92), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(93), 2, + sym_tuple, + sym_object, + STATE(94), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [4195] = 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(19), 1, + sym_null_lit, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + sym_identifier, + STATE(42), 1, + sym_quoted_template, + STATE(60), 1, + sym_bool_lit, STATE(118), 1, sym_expr_term, ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(61), 2, - sym_for_tuple_expr, - sym_for_object_expr, - STATE(63), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(64), 6, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, sym_template_expr, - [4273] = 15, + [4249] = 15, ACTIONS(3), 1, sym_comment, - ACTIONS(73), 1, + ACTIONS(7), 1, anon_sym_LBRACE, - ACTIONS(75), 1, - sym_identifier, - ACTIONS(77), 1, + ACTIONS(13), 1, anon_sym_LPAREN, - ACTIONS(79), 1, + ACTIONS(15), 1, sym_numeric_lit, - ACTIONS(83), 1, + ACTIONS(19), 1, sym_null_lit, - ACTIONS(85), 1, + ACTIONS(21), 1, anon_sym_LBRACK, - ACTIONS(89), 1, + ACTIONS(27), 1, anon_sym_DQUOTE, - STATE(102), 1, - sym_bool_lit, - STATE(110), 1, + ACTIONS(31), 1, + sym_identifier, + STATE(42), 1, sym_quoted_template, - STATE(124), 1, + STATE(60), 1, + sym_bool_lit, + STATE(117), 1, sym_expr_term, - ACTIONS(81), 2, + ACTIONS(17), 2, anon_sym_true, anon_sym_false, - STATE(98), 2, + STATE(41), 2, sym_tuple, sym_object, - STATE(105), 2, + STATE(53), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(90), 6, + STATE(48), 6, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, sym_template_expr, - [4327] = 15, + [4303] = 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(19), 1, + sym_null_lit, + ACTIONS(21), 1, + anon_sym_LBRACK, + ACTIONS(27), 1, + anon_sym_DQUOTE, + ACTIONS(31), 1, + sym_identifier, + STATE(42), 1, + sym_quoted_template, + STATE(60), 1, + sym_bool_lit, + STATE(116), 1, + sym_expr_term, + ACTIONS(17), 2, + anon_sym_true, + anon_sym_false, + STATE(41), 2, + sym_tuple, + sym_object, + STATE(53), 2, + sym_for_tuple_expr, + sym_for_object_expr, + STATE(48), 6, + sym_literal_value, + sym_collection_value, + sym_for_expr, + sym_variable_expr, + sym_function_call, + sym_template_expr, + [4357] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, @@ -6361,29 +6397,29 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(89), 1, anon_sym_DQUOTE, - STATE(102), 1, - sym_bool_lit, - STATE(110), 1, + STATE(91), 1, sym_quoted_template, + STATE(96), 1, + sym_bool_lit, STATE(127), 1, sym_expr_term, ACTIONS(81), 2, anon_sym_true, anon_sym_false, - STATE(98), 2, - sym_tuple, - sym_object, - STATE(105), 2, + STATE(92), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(90), 6, + STATE(93), 2, + sym_tuple, + sym_object, + STATE(94), 6, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, sym_template_expr, - [4381] = 15, + [4411] = 15, ACTIONS(3), 1, sym_comment, ACTIONS(73), 1, @@ -6400,68 +6436,39 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_LBRACK, ACTIONS(89), 1, anon_sym_DQUOTE, - STATE(102), 1, - sym_bool_lit, - STATE(110), 1, + STATE(91), 1, sym_quoted_template, - STATE(123), 1, + STATE(96), 1, + sym_bool_lit, + STATE(128), 1, sym_expr_term, ACTIONS(81), 2, anon_sym_true, anon_sym_false, - STATE(98), 2, - sym_tuple, - sym_object, - STATE(105), 2, + STATE(92), 2, sym_for_tuple_expr, sym_for_object_expr, - STATE(90), 6, + STATE(93), 2, + sym_tuple, + sym_object, + STATE(94), 6, sym_literal_value, sym_collection_value, sym_for_expr, sym_variable_expr, sym_function_call, sym_template_expr, - [4435] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(296), 1, - anon_sym_DOT, - STATE(87), 2, - sym_get_attr, - aux_sym_attr_splat_repeat1, - ACTIONS(127), 3, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(125), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4469] = 4, + [4465] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(299), 1, anon_sym_LPAREN, - ACTIONS(152), 4, + ACTIONS(144), 4, anon_sym_DOT, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(150), 16, + ACTIONS(142), 16, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, @@ -6478,32 +6485,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [4500] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(226), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(224), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4528] = 3, + [4496] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(242), 4, @@ -6528,282 +6510,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [4556] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(174), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(172), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4584] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(198), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(196), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4612] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(182), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(180), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4640] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(246), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(244), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4668] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(190), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(188), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4696] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(158), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(156), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4724] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(170), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(168), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4752] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(238), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(236), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4780] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(178), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(176), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4808] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(250), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(248), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4836] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(202), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(200), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [4864] = 3, + [4524] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(210), 4, @@ -6828,15 +6535,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [4892] = 3, + [4552] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(222), 4, + ACTIONS(154), 4, anon_sym_DOT, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(220), 16, + ACTIONS(152), 16, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, @@ -6853,15 +6560,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [4920] = 3, + [4580] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(214), 4, + ACTIONS(198), 4, anon_sym_DOT, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(212), 16, + ACTIONS(196), 16, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, @@ -6878,15 +6585,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [4948] = 3, + [4608] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(230), 4, + ACTIONS(150), 4, anon_sym_DOT, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(228), 16, + ACTIONS(148), 16, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, @@ -6903,15 +6610,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [4976] = 3, + [4636] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(206), 4, + ACTIONS(178), 4, anon_sym_DOT, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(204), 16, + ACTIONS(176), 16, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, @@ -6928,7 +6635,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5004] = 3, + [4664] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(166), 4, @@ -6953,15 +6660,15 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5032] = 3, + [4692] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(162), 4, + ACTIONS(226), 4, anon_sym_DOT, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(160), 16, + ACTIONS(224), 16, anon_sym_RBRACE, anon_sym_LBRACK, anon_sym_RBRACK, @@ -6978,107 +6685,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5060] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(134), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(132), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [5088] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(218), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(216), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [5116] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(123), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(121), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [5144] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(234), 4, - anon_sym_DOT, - anon_sym_SLASH, - anon_sym_GT, - anon_sym_LT, - ACTIONS(232), 16, - anon_sym_RBRACE, - anon_sym_LBRACK, - anon_sym_RBRACK, - anon_sym_STAR, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - anon_sym_DASH, - anon_sym_PERCENT, - anon_sym_PLUS, - anon_sym_GT_EQ, - anon_sym_LT_EQ, - anon_sym_EQ_EQ, - anon_sym_BANG_EQ, - anon_sym_AMP_AMP, - anon_sym_PIPE_PIPE, - [5172] = 3, + [4720] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(194), 4, @@ -7103,7 +6710,282 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5200] = 3, + [4748] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(158), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(156), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [4776] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(190), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(188), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [4804] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(202), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(200), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [4832] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(234), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(232), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [4860] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(214), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(212), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [4888] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(162), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(160), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [4916] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(230), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(228), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [4944] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(182), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(180), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [4972] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(206), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(204), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5000] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(250), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(248), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5028] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(222), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(220), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5056] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(186), 4, @@ -7128,20 +7010,145 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5228] = 6, + [5084] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(154), 1, + ACTIONS(170), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(168), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5112] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(238), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(236), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5140] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(174), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(172), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5168] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(246), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(244), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5196] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(218), 4, + anon_sym_DOT, + anon_sym_SLASH, + anon_sym_GT, + anon_sym_LT, + ACTIONS(216), 16, + anon_sym_RBRACE, + anon_sym_LBRACK, + anon_sym_RBRACK, + anon_sym_STAR, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + anon_sym_DASH, + anon_sym_PERCENT, + anon_sym_PLUS, + anon_sym_GT_EQ, + anon_sym_LT_EQ, + anon_sym_EQ_EQ, + anon_sym_BANG_EQ, + anon_sym_AMP_AMP, + anon_sym_PIPE_PIPE, + [5224] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(146), 1, anon_sym_LPAREN, ACTIONS(301), 1, anon_sym_EQ, ACTIONS(304), 1, anon_sym_COLON, - ACTIONS(152), 3, + ACTIONS(144), 3, anon_sym_SLASH, anon_sym_GT, anon_sym_LT, - ACTIONS(150), 13, + ACTIONS(142), 13, anon_sym_LBRACK, anon_sym_DOT, anon_sym_STAR, @@ -7155,7 +7162,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, - [5261] = 7, + [5257] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(41), 1, @@ -7164,10 +7171,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT, ACTIONS(309), 1, anon_sym_EQ, - STATE(44), 2, + STATE(58), 2, sym_attr_splat, sym_full_splat, - STATE(55), 3, + STATE(57), 3, sym_index, sym_get_attr, sym_splat, @@ -7182,34 +7189,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_GT, sym_ellipsis, anon_sym_QMARK, - [5295] = 7, - ACTIONS(3), 1, - sym_comment, - ACTIONS(41), 1, - anon_sym_LBRACK, - ACTIONS(43), 1, - anon_sym_DOT, - ACTIONS(309), 1, - anon_sym_EQ, - STATE(44), 2, - sym_attr_splat, - sym_full_splat, - STATE(55), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(307), 10, - 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, - sym_ellipsis, - anon_sym_QMARK, - [5329] = 7, + [5291] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(41), 1, @@ -7218,10 +7198,10 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DOT, ACTIONS(313), 1, anon_sym_EQ, - STATE(44), 2, + STATE(58), 2, sym_attr_splat, sym_full_splat, - STATE(55), 3, + STATE(57), 3, sym_index, sym_get_attr, sym_splat, @@ -7236,23 +7216,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_GT, sym_ellipsis, anon_sym_QMARK, - [5363] = 7, + [5325] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(41), 1, anon_sym_LBRACK, ACTIONS(43), 1, anon_sym_DOT, - ACTIONS(309), 1, + ACTIONS(313), 1, anon_sym_EQ, - STATE(44), 2, + STATE(58), 2, sym_attr_splat, sym_full_splat, - STATE(55), 3, + STATE(57), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(307), 10, + ACTIONS(311), 10, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -7263,23 +7243,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_GT, sym_ellipsis, anon_sym_QMARK, - [5397] = 7, + [5359] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(41), 1, anon_sym_LBRACK, ACTIONS(43), 1, anon_sym_DOT, - ACTIONS(309), 1, + ACTIONS(313), 1, anon_sym_EQ, - STATE(44), 2, + STATE(58), 2, sym_attr_splat, sym_full_splat, - STATE(55), 3, + STATE(57), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(307), 10, + ACTIONS(311), 10, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -7290,23 +7270,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_GT, sym_ellipsis, anon_sym_QMARK, - [5431] = 7, + [5393] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(41), 1, anon_sym_LBRACK, ACTIONS(43), 1, anon_sym_DOT, - ACTIONS(309), 1, + ACTIONS(313), 1, anon_sym_EQ, - STATE(44), 2, + STATE(58), 2, sym_attr_splat, sym_full_splat, - STATE(55), 3, + STATE(57), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(307), 10, + ACTIONS(311), 10, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -7317,23 +7297,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_GT, sym_ellipsis, anon_sym_QMARK, - [5465] = 7, + [5427] = 7, ACTIONS(3), 1, sym_comment, ACTIONS(41), 1, anon_sym_LBRACK, ACTIONS(43), 1, anon_sym_DOT, - ACTIONS(309), 1, + ACTIONS(313), 1, anon_sym_EQ, - STATE(44), 2, + STATE(58), 2, sym_attr_splat, sym_full_splat, - STATE(55), 3, + STATE(57), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(307), 10, + ACTIONS(311), 10, ts_builtin_sym_end, anon_sym_RBRACE, sym_identifier, @@ -7344,37 +7324,44 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_GT, sym_ellipsis, anon_sym_QMARK, - [5499] = 6, + [5461] = 7, + ACTIONS(3), 1, + sym_comment, + ACTIONS(41), 1, + anon_sym_LBRACK, + ACTIONS(43), 1, + anon_sym_DOT, + ACTIONS(313), 1, + anon_sym_EQ, + STATE(58), 2, + sym_attr_splat, + sym_full_splat, + STATE(57), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(311), 10, + 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, + sym_ellipsis, + anon_sym_QMARK, + [5495] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(252), 1, anon_sym_LBRACK, ACTIONS(254), 1, anon_sym_DOT, - STATE(108), 2, + STATE(114), 2, sym_attr_splat, sym_full_splat, - STATE(106), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(307), 5, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - [5525] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(252), 1, - anon_sym_LBRACK, - ACTIONS(254), 1, - anon_sym_DOT, - STATE(108), 2, - sym_attr_splat, - sym_full_splat, - STATE(106), 3, + STATE(102), 3, sym_index, sym_get_attr, sym_splat, @@ -7384,17 +7371,77 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, sym_ellipsis, anon_sym_QMARK, - [5551] = 6, + [5521] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(252), 1, anon_sym_LBRACK, ACTIONS(254), 1, anon_sym_DOT, - STATE(108), 2, + STATE(114), 2, sym_attr_splat, sym_full_splat, - STATE(106), 3, + STATE(102), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(311), 5, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [5547] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(252), 1, + anon_sym_LBRACK, + ACTIONS(254), 1, + anon_sym_DOT, + STATE(114), 2, + sym_attr_splat, + sym_full_splat, + STATE(102), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(311), 5, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [5573] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(252), 1, + anon_sym_LBRACK, + ACTIONS(254), 1, + anon_sym_DOT, + STATE(114), 2, + sym_attr_splat, + sym_full_splat, + STATE(102), 3, + sym_index, + sym_get_attr, + sym_splat, + ACTIONS(311), 5, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [5599] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(252), 1, + anon_sym_LBRACK, + ACTIONS(254), 1, + anon_sym_DOT, + STATE(114), 2, + sym_attr_splat, + sym_full_splat, + STATE(102), 3, sym_index, sym_get_attr, sym_splat, @@ -7404,103 +7451,47 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, sym_ellipsis, anon_sym_QMARK, - [5577] = 6, + [5625] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(252), 1, anon_sym_LBRACK, ACTIONS(254), 1, anon_sym_DOT, - STATE(108), 2, + STATE(114), 2, sym_attr_splat, sym_full_splat, - STATE(106), 3, + STATE(102), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(307), 5, + ACTIONS(311), 5, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_if, sym_ellipsis, anon_sym_QMARK, - [5603] = 6, + [5651] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(252), 1, anon_sym_LBRACK, ACTIONS(254), 1, anon_sym_DOT, - STATE(108), 2, + STATE(114), 2, sym_attr_splat, sym_full_splat, - STATE(106), 3, + STATE(102), 3, sym_index, sym_get_attr, sym_splat, - ACTIONS(307), 5, + ACTIONS(311), 5, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_if, sym_ellipsis, anon_sym_QMARK, - [5629] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(252), 1, - anon_sym_LBRACK, - ACTIONS(254), 1, - anon_sym_DOT, - STATE(108), 2, - sym_attr_splat, - sym_full_splat, - STATE(106), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(307), 5, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - [5655] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(252), 1, - anon_sym_LBRACK, - ACTIONS(254), 1, - anon_sym_DOT, - STATE(108), 2, - sym_attr_splat, - sym_full_splat, - STATE(106), 3, - sym_index, - sym_get_attr, - sym_splat, - ACTIONS(307), 5, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - [5681] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(39), 1, - anon_sym_EQ, - ACTIONS(37), 10, - 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, - sym_ellipsis, - anon_sym_QMARK, - [5700] = 4, + [5677] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(317), 1, @@ -7517,7 +7508,23 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_COLON, anon_sym_EQ_GT, sym_ellipsis, - [5721] = 3, + [5698] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(39), 1, + anon_sym_EQ, + ACTIONS(37), 10, + 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, + sym_ellipsis, + anon_sym_QMARK, + [5717] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(324), 4, @@ -7533,7 +7540,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_BANG, anon_sym_DQUOTE, - [5740] = 3, + [5736] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(328), 4, @@ -7549,7 +7556,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_DASH, anon_sym_BANG, anon_sym_DQUOTE, - [5759] = 3, + [5755] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(332), 1, @@ -7565,7 +7572,7 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_EQ_GT, sym_ellipsis, anon_sym_QMARK, - [5778] = 6, + [5774] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(334), 1, @@ -7577,195 +7584,156 @@ static const uint16_t ts_small_parse_table[] = { ACTIONS(340), 2, sym__template_char, sym_escape_sequence, - STATE(139), 2, + STATE(136), 2, sym_template_interpolation, aux_sym_quoted_template_repeat1, - [5799] = 7, + [5795] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(27), 1, - anon_sym_DQUOTE, ACTIONS(342), 1, - anon_sym_EQ, - ACTIONS(344), 1, - anon_sym_LBRACE, - ACTIONS(346), 1, - sym_identifier, - STATE(168), 1, - sym_quoted_template, - STATE(144), 2, - sym_string_lit, - aux_sym_block_repeat1, - [5822] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(336), 1, - anon_sym_DOLLAR_LBRACE, - ACTIONS(338), 1, - anon_sym_DOLLAR_LBRACE_TILDE, - ACTIONS(348), 1, anon_sym_DQUOTE, + ACTIONS(344), 1, + anon_sym_DOLLAR_LBRACE, + ACTIONS(347), 1, + anon_sym_DOLLAR_LBRACE_TILDE, ACTIONS(350), 2, sym__template_char, sym_escape_sequence, - STATE(138), 2, + STATE(136), 2, sym_template_interpolation, aux_sym_quoted_template_repeat1, - [5843] = 6, + [5816] = 6, ACTIONS(3), 1, sym_comment, ACTIONS(336), 1, anon_sym_DOLLAR_LBRACE, ACTIONS(338), 1, anon_sym_DOLLAR_LBRACE_TILDE, - ACTIONS(352), 1, + ACTIONS(353), 1, anon_sym_DQUOTE, - ACTIONS(340), 2, - sym__template_char, - sym_escape_sequence, - STATE(139), 2, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [5864] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(354), 1, - anon_sym_DQUOTE, - ACTIONS(356), 1, - anon_sym_DOLLAR_LBRACE, - ACTIONS(359), 1, - anon_sym_DOLLAR_LBRACE_TILDE, - ACTIONS(362), 2, - sym__template_char, - sym_escape_sequence, - STATE(139), 2, - sym_template_interpolation, - aux_sym_quoted_template_repeat1, - [5885] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(336), 1, - anon_sym_DOLLAR_LBRACE, - ACTIONS(338), 1, - anon_sym_DOLLAR_LBRACE_TILDE, - ACTIONS(365), 1, - anon_sym_DQUOTE, - ACTIONS(367), 2, + ACTIONS(355), 2, sym__template_char, sym_escape_sequence, STATE(135), 2, sym_template_interpolation, aux_sym_quoted_template_repeat1, - [5906] = 5, + [5837] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(336), 1, + anon_sym_DOLLAR_LBRACE, + ACTIONS(338), 1, + anon_sym_DOLLAR_LBRACE_TILDE, + ACTIONS(357), 1, + anon_sym_DQUOTE, + ACTIONS(340), 2, + sym__template_char, + sym_escape_sequence, + STATE(136), 2, + sym_template_interpolation, + aux_sym_quoted_template_repeat1, + [5858] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(336), 1, + anon_sym_DOLLAR_LBRACE, + ACTIONS(338), 1, + anon_sym_DOLLAR_LBRACE_TILDE, + ACTIONS(359), 1, + anon_sym_DQUOTE, + ACTIONS(361), 2, + sym__template_char, + sym_escape_sequence, + STATE(138), 2, + sym_template_interpolation, + aux_sym_quoted_template_repeat1, + [5879] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(5), 1, sym_identifier, - ACTIONS(369), 1, + ACTIONS(363), 1, anon_sym_RBRACE, STATE(211), 1, sym_body, - STATE(145), 3, + STATE(143), 3, sym_attribute, sym_block, aux_sym_body_repeat1, - [5924] = 6, + [5897] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(371), 1, + ACTIONS(367), 1, + sym_identifier, + ACTIONS(365), 2, + ts_builtin_sym_end, + anon_sym_RBRACE, + STATE(141), 3, + sym_attribute, + sym_block, + aux_sym_body_repeat1, + [5913] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(370), 1, + anon_sym_EQ, + ACTIONS(372), 1, anon_sym_LBRACE, - ACTIONS(373), 1, + ACTIONS(374), 1, sym_identifier, ACTIONS(376), 1, anon_sym_DQUOTE, - STATE(168), 1, - sym_quoted_template, - STATE(142), 2, + STATE(149), 2, sym_string_lit, aux_sym_block_repeat1, - [5944] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(381), 1, - sym_identifier, - ACTIONS(379), 2, - ts_builtin_sym_end, - anon_sym_RBRACE, - STATE(143), 3, - sym_attribute, - sym_block, - aux_sym_body_repeat1, - [5960] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(27), 1, - anon_sym_DQUOTE, - ACTIONS(384), 1, - anon_sym_LBRACE, - ACTIONS(386), 1, - sym_identifier, - STATE(168), 1, - sym_quoted_template, - STATE(142), 2, - sym_string_lit, - aux_sym_block_repeat1, - [5980] = 4, + [5933] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(5), 1, sym_identifier, - ACTIONS(388), 2, + ACTIONS(378), 2, ts_builtin_sym_end, anon_sym_RBRACE, - STATE(143), 3, + STATE(141), 3, sym_attribute, sym_block, aux_sym_body_repeat1, - [5996] = 5, + [5949] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(5), 1, sym_identifier, - ACTIONS(390), 1, + ACTIONS(380), 1, anon_sym_RBRACE, - STATE(213), 1, + STATE(219), 1, sym_body, - STATE(145), 3, + STATE(143), 3, sym_attribute, sym_block, aux_sym_body_repeat1, - [6014] = 4, + [5967] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(394), 1, + ACTIONS(384), 1, anon_sym_COMMA, - STATE(147), 1, + STATE(145), 1, aux_sym_tuple_repeat1, - ACTIONS(392), 3, + ACTIONS(382), 3, anon_sym_RPAREN, anon_sym_RBRACK, sym_ellipsis, - [6029] = 4, + [5982] = 4, ACTIONS(3), 1, sym_comment, - STATE(148), 1, + STATE(146), 1, aux_sym_template_interpolation_repeat1, - ACTIONS(397), 2, + ACTIONS(387), 2, anon_sym_RBRACE, anon_sym_TILDE_RBRACE, - ACTIONS(399), 2, + ACTIONS(389), 2, sym__template_char_in_interpolation, sym_escape_sequence, - [6044] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(330), 5, - anon_sym_RBRACE, - anon_sym_RBRACK, - anon_sym_if, - sym_ellipsis, - anon_sym_QMARK, - [6055] = 2, + [5997] = 2, ACTIONS(3), 1, sym_comment, ACTIONS(37), 5, @@ -7774,505 +7742,575 @@ static const uint16_t ts_small_parse_table[] = { anon_sym_if, sym_ellipsis, anon_sym_QMARK, - [6066] = 4, + [6008] = 2, ACTIONS(3), 1, sym_comment, - STATE(153), 1, + ACTIONS(330), 5, + anon_sym_RBRACE, + anon_sym_RBRACK, + anon_sym_if, + sym_ellipsis, + anon_sym_QMARK, + [6019] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(376), 1, + anon_sym_DQUOTE, + ACTIONS(392), 1, + anon_sym_LBRACE, + ACTIONS(394), 1, + sym_identifier, + STATE(155), 2, + sym_string_lit, + aux_sym_block_repeat1, + [6036] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(396), 1, + anon_sym_RBRACE, + ACTIONS(398), 1, + anon_sym_if, + ACTIONS(400), 1, + sym_ellipsis, + ACTIONS(402), 1, + anon_sym_QMARK, + STATE(212), 1, + sym_for_cond, + [6055] = 4, + ACTIONS(3), 1, + sym_comment, + STATE(159), 1, aux_sym_template_interpolation_repeat1, - ACTIONS(402), 2, + ACTIONS(404), 2, anon_sym_RBRACE, anon_sym_TILDE_RBRACE, - ACTIONS(404), 2, + ACTIONS(406), 2, sym__template_char_in_interpolation, sym_escape_sequence, - [6081] = 3, + [6070] = 3, ACTIONS(3), 1, sym_comment, ACTIONS(408), 1, - anon_sym_DOLLAR_LBRACE, - ACTIONS(406), 4, - sym__template_char, - sym_escape_sequence, - anon_sym_DQUOTE, - anon_sym_DOLLAR_LBRACE_TILDE, - [6094] = 4, - ACTIONS(3), 1, - sym_comment, - STATE(148), 1, - aux_sym_template_interpolation_repeat1, - ACTIONS(410), 2, - anon_sym_RBRACE, - anon_sym_TILDE_RBRACE, - ACTIONS(412), 2, - sym__template_char_in_interpolation, - sym_escape_sequence, - [6109] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(414), 1, - anon_sym_RBRACE, - ACTIONS(416), 1, - anon_sym_if, - ACTIONS(418), 1, - sym_ellipsis, - ACTIONS(420), 1, - anon_sym_QMARK, - STATE(208), 1, - sym_for_cond, - [6128] = 6, - ACTIONS(3), 1, - sym_comment, - ACTIONS(422), 1, - anon_sym_RPAREN, - ACTIONS(424), 1, - anon_sym_COMMA, - ACTIONS(426), 1, - sym_ellipsis, - ACTIONS(428), 1, - anon_sym_QMARK, - STATE(165), 1, - aux_sym_tuple_repeat1, - [6147] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(430), 1, anon_sym_QMARK, ACTIONS(315), 4, anon_sym_RBRACE, anon_sym_RBRACK, anon_sym_if, sym_ellipsis, - [6160] = 3, + [6083] = 6, ACTIONS(3), 1, sym_comment, - ACTIONS(435), 1, + ACTIONS(411), 1, + anon_sym_RPAREN, + ACTIONS(413), 1, + anon_sym_COMMA, + ACTIONS(415), 1, + sym_ellipsis, + ACTIONS(417), 1, + anon_sym_QMARK, + STATE(163), 1, + aux_sym_tuple_repeat1, + [6102] = 6, + ACTIONS(3), 1, + sym_comment, + ACTIONS(398), 1, + anon_sym_if, + ACTIONS(402), 1, + anon_sym_QMARK, + ACTIONS(419), 1, + anon_sym_RBRACE, + ACTIONS(421), 1, + sym_ellipsis, + STATE(201), 1, + sym_for_cond, + [6121] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(423), 1, + anon_sym_LBRACE, + ACTIONS(425), 1, + sym_identifier, + ACTIONS(428), 1, + anon_sym_DQUOTE, + STATE(155), 2, + sym_string_lit, + aux_sym_block_repeat1, + [6138] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(382), 4, + anon_sym_RPAREN, + anon_sym_COMMA, + anon_sym_RBRACK, + sym_ellipsis, + [6151] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(433), 1, anon_sym_DOLLAR_LBRACE, - ACTIONS(433), 4, + ACTIONS(431), 4, sym__template_char, sym_escape_sequence, anon_sym_DQUOTE, anon_sym_DOLLAR_LBRACE_TILDE, - [6173] = 6, + [6164] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(416), 1, - anon_sym_if, - ACTIONS(420), 1, - anon_sym_QMARK, ACTIONS(437), 1, - anon_sym_RBRACE, - ACTIONS(439), 1, - sym_ellipsis, - STATE(212), 1, - sym_for_cond, - [6192] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(392), 4, - anon_sym_RPAREN, - anon_sym_COMMA, - anon_sym_RBRACK, - sym_ellipsis, - [6205] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(416), 1, - anon_sym_if, - ACTIONS(420), 1, - anon_sym_QMARK, - ACTIONS(441), 1, - anon_sym_RBRACK, - STATE(204), 1, - sym_for_cond, - [6221] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(443), 1, - anon_sym_COMMA, - ACTIONS(445), 1, - anon_sym_RBRACK, - STATE(166), 1, - aux_sym_tuple_repeat1, - [6237] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(447), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - [6249] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(416), 1, - anon_sym_if, - ACTIONS(420), 1, - anon_sym_QMARK, - ACTIONS(449), 1, - anon_sym_RBRACK, - STATE(197), 1, - sym_for_cond, - [6265] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(443), 1, - anon_sym_COMMA, - ACTIONS(451), 1, - anon_sym_RBRACK, - STATE(178), 1, - aux_sym_tuple_repeat1, - [6281] = 5, - ACTIONS(3), 1, - sym_comment, - ACTIONS(69), 1, - anon_sym_RPAREN, - ACTIONS(453), 1, - anon_sym_COMMA, - ACTIONS(455), 1, - sym_ellipsis, - STATE(147), 1, - aux_sym_tuple_repeat1, - [6297] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(443), 1, - anon_sym_COMMA, - ACTIONS(457), 1, - anon_sym_RBRACK, - STATE(147), 1, - aux_sym_tuple_repeat1, - [6310] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(459), 1, - anon_sym_RBRACE, - ACTIONS(461), 1, - anon_sym_COMMA, - STATE(172), 1, - aux_sym_object_repeat1, - [6323] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(463), 3, - anon_sym_LBRACE, - sym_identifier, + anon_sym_DOLLAR_LBRACE, + ACTIONS(435), 4, + sym__template_char, + sym_escape_sequence, anon_sym_DQUOTE, - [6332] = 4, + anon_sym_DOLLAR_LBRACE_TILDE, + [6177] = 4, ACTIONS(3), 1, sym_comment, - ACTIONS(416), 1, - anon_sym_if, - ACTIONS(465), 1, + STATE(146), 1, + aux_sym_template_interpolation_repeat1, + ACTIONS(439), 2, anon_sym_RBRACE, - STATE(209), 1, - sym_for_cond, - [6345] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(416), 1, - anon_sym_if, - ACTIONS(467), 1, - anon_sym_RBRACE, - STATE(215), 1, - sym_for_cond, - [6358] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(469), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - [6367] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(461), 1, - anon_sym_COMMA, - ACTIONS(471), 1, - anon_sym_RBRACE, - STATE(175), 1, - aux_sym_object_repeat1, - [6380] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(473), 2, - anon_sym_EQ, - anon_sym_COLON, - [6391] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(461), 1, - anon_sym_COMMA, - ACTIONS(475), 1, - anon_sym_RBRACE, - STATE(175), 1, - aux_sym_object_repeat1, - [6404] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(477), 1, - anon_sym_RBRACE, - ACTIONS(479), 1, - anon_sym_COMMA, - STATE(175), 1, - aux_sym_object_repeat1, - [6417] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(482), 2, - anon_sym_RBRACE, - anon_sym_RBRACK, - [6428] = 4, - ACTIONS(3), 1, - sym_comment, - ACTIONS(461), 1, - anon_sym_COMMA, - ACTIONS(484), 1, - anon_sym_RBRACE, - STATE(174), 1, - aux_sym_object_repeat1, - [6441] = 4, + anon_sym_TILDE_RBRACE, + ACTIONS(441), 2, + sym__template_char_in_interpolation, + sym_escape_sequence, + [6192] = 4, ACTIONS(3), 1, sym_comment, ACTIONS(443), 1, - anon_sym_COMMA, - ACTIONS(486), 1, + anon_sym_DQUOTE, + STATE(168), 1, + aux_sym_string_lit_repeat1, + ACTIONS(445), 2, + sym__template_char, + sym_escape_sequence, + [6206] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(447), 1, + anon_sym_DQUOTE, + STATE(161), 1, + aux_sym_string_lit_repeat1, + ACTIONS(449), 2, + sym__template_char, + sym_escape_sequence, + [6220] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(398), 1, + anon_sym_if, + ACTIONS(402), 1, + anon_sym_QMARK, + ACTIONS(452), 1, anon_sym_RBRACK, - STATE(147), 1, - aux_sym_tuple_repeat1, - [6454] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(488), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - [6463] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(490), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [6474] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(492), 3, - ts_builtin_sym_end, - anon_sym_RBRACE, - sym_identifier, - [6483] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(494), 1, - sym_identifier, - ACTIONS(496), 1, - anon_sym_STAR, - [6493] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(498), 1, - anon_sym_RBRACK, - [6503] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(500), 1, - anon_sym_EQ_GT, - [6513] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(502), 1, - anon_sym_COLON, - [6523] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(504), 1, - anon_sym_COLON, - [6533] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(506), 1, - anon_sym_COLON, - [6543] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(508), 1, - anon_sym_COMMA, - ACTIONS(510), 1, - anon_sym_in, - [6553] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(512), 1, - anon_sym_RPAREN, - [6563] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(514), 1, - anon_sym_RBRACK, - [6573] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(516), 1, - anon_sym_EQ_GT, - [6583] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(477), 2, - anon_sym_RBRACE, - anon_sym_COMMA, - [6591] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(518), 1, - anon_sym_COLON, - [6601] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(428), 1, - anon_sym_QMARK, - ACTIONS(520), 1, - anon_sym_RPAREN, - [6611] = 3, - ACTIONS(3), 1, - sym_comment, - ACTIONS(522), 1, - sym_identifier, - ACTIONS(524), 1, - anon_sym_STAR, - [6621] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(526), 1, - sym_identifier, - [6628] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(528), 1, - anon_sym_RBRACK, - [6635] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(522), 1, - sym_identifier, - [6642] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(530), 1, - anon_sym_RPAREN, - [6649] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(532), 1, - sym_identifier, - [6656] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(534), 1, - anon_sym_RBRACK, - [6663] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(536), 1, - anon_sym_RBRACK, - [6670] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(69), 1, - anon_sym_RPAREN, - [6677] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(538), 1, - anon_sym_RBRACK, - [6684] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(540), 1, - anon_sym_in, - [6691] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(494), 1, - sym_identifier, - [6698] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(542), 1, - anon_sym_RPAREN, - [6705] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(465), 1, - anon_sym_RBRACE, - [6712] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(544), 1, - anon_sym_RBRACE, - [6719] = 2, + STATE(203), 1, + sym_for_cond, + [6236] = 5, ACTIONS(3), 1, sym_comment, ACTIONS(65), 1, anon_sym_RPAREN, - [6726] = 2, + ACTIONS(454), 1, + anon_sym_COMMA, + ACTIONS(456), 1, + sym_ellipsis, + STATE(145), 1, + aux_sym_tuple_repeat1, + [6252] = 3, ACTIONS(3), 1, sym_comment, - ACTIONS(546), 1, - anon_sym_RBRACE, - [6733] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(467), 1, - anon_sym_RBRACE, - [6740] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(369), 1, - anon_sym_RBRACE, - [6747] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(548), 1, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(458), 3, ts_builtin_sym_end, - [6754] = 2, - ACTIONS(3), 1, - sym_comment, - ACTIONS(550), 1, anon_sym_RBRACE, - [6761] = 2, + sym_identifier, + [6264] = 5, ACTIONS(3), 1, sym_comment, - ACTIONS(552), 1, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(460), 1, + anon_sym_COMMA, + ACTIONS(462), 1, + anon_sym_RBRACK, + STATE(177), 1, + aux_sym_tuple_repeat1, + [6280] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(398), 1, + anon_sym_if, + ACTIONS(402), 1, + anon_sym_QMARK, + ACTIONS(464), 1, + anon_sym_RBRACK, + STATE(208), 1, + sym_for_cond, + [6296] = 5, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(460), 1, + anon_sym_COMMA, + ACTIONS(466), 1, + anon_sym_RBRACK, + STATE(170), 1, + aux_sym_tuple_repeat1, + [6312] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(468), 1, + anon_sym_DQUOTE, + STATE(161), 1, + aux_sym_string_lit_repeat1, + ACTIONS(470), 2, + sym__template_char, + sym_escape_sequence, + [6326] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(472), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [6335] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(460), 1, + anon_sym_COMMA, + ACTIONS(474), 1, + anon_sym_RBRACK, + STATE(145), 1, + aux_sym_tuple_repeat1, + [6348] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(476), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [6357] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(478), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [6368] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(480), 1, + anon_sym_RBRACE, + ACTIONS(482), 1, + anon_sym_COMMA, + STATE(184), 1, + aux_sym_object_repeat1, + [6381] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(398), 1, + anon_sym_if, + ACTIONS(484), 1, + anon_sym_RBRACE, + STATE(213), 1, + sym_for_cond, + [6394] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(486), 1, + anon_sym_RBRACE, + ACTIONS(488), 1, + anon_sym_COMMA, + STATE(175), 1, + aux_sym_object_repeat1, + [6407] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(491), 3, + ts_builtin_sym_end, + anon_sym_RBRACE, + sym_identifier, + [6416] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(460), 1, + anon_sym_COMMA, + ACTIONS(493), 1, + anon_sym_RBRACK, + STATE(145), 1, + aux_sym_tuple_repeat1, + [6429] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(495), 3, + anon_sym_LBRACE, + sym_identifier, + anon_sym_DQUOTE, + [6438] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(482), 1, + anon_sym_COMMA, + ACTIONS(497), 1, + anon_sym_RBRACE, + STATE(175), 1, + aux_sym_object_repeat1, + [6451] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(482), 1, + anon_sym_COMMA, + ACTIONS(499), 1, + anon_sym_RBRACE, + STATE(179), 1, + aux_sym_object_repeat1, + [6464] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(398), 1, + anon_sym_if, + ACTIONS(501), 1, + anon_sym_RBRACE, + STATE(204), 1, + sym_for_cond, + [6477] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(503), 2, + anon_sym_EQ, + anon_sym_COLON, + [6488] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(505), 3, + anon_sym_LBRACE, + sym_identifier, + anon_sym_DQUOTE, + [6497] = 4, + ACTIONS(3), 1, + sym_comment, + ACTIONS(482), 1, + anon_sym_COMMA, + ACTIONS(507), 1, + anon_sym_RBRACE, + STATE(175), 1, + aux_sym_object_repeat1, + [6510] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(509), 2, + anon_sym_RBRACE, + anon_sym_RBRACK, + [6521] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(511), 1, + anon_sym_COLON, + [6531] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(513), 1, + sym_identifier, + ACTIONS(515), 1, + anon_sym_STAR, + [6541] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(517), 1, + anon_sym_COMMA, + ACTIONS(519), 1, + anon_sym_in, + [6551] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(521), 1, + anon_sym_EQ_GT, + [6561] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(523), 1, + anon_sym_EQ_GT, + [6571] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(525), 1, + anon_sym_RBRACK, + [6581] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(527), 1, + anon_sym_RPAREN, + [6591] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(529), 1, + anon_sym_COLON, + [6601] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(486), 2, + anon_sym_RBRACE, + anon_sym_COMMA, + [6609] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(531), 1, + anon_sym_RBRACK, + [6619] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(533), 1, + anon_sym_COLON, + [6629] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(535), 1, + anon_sym_RPAREN, + [6639] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(417), 1, + anon_sym_QMARK, + ACTIONS(537), 1, + anon_sym_COLON, + [6649] = 3, + ACTIONS(3), 1, + sym_comment, + ACTIONS(539), 1, + sym_identifier, + ACTIONS(541), 1, + anon_sym_STAR, + [6659] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(543), 1, + sym_identifier, + [6666] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(501), 1, + anon_sym_RBRACE, + [6673] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(545), 1, + anon_sym_RPAREN, + [6680] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(547), 1, + anon_sym_RBRACK, + [6687] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(549), 1, + anon_sym_RBRACE, + [6694] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(513), 1, + sym_identifier, + [6701] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(551), 1, + anon_sym_RBRACK, + [6708] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(539), 1, + sym_identifier, + [6715] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(553), 1, + anon_sym_RBRACK, + [6722] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(555), 1, + anon_sym_in, + [6729] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(65), 1, + anon_sym_RPAREN, + [6736] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(557), 1, + anon_sym_RBRACE, + [6743] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(484), 1, + anon_sym_RBRACE, + [6750] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(559), 1, + anon_sym_RBRACE, + [6757] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(561), 1, + sym_identifier, + [6764] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(69), 1, + anon_sym_RPAREN, + [6771] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(563), 1, + anon_sym_RPAREN, + [6778] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(565), 1, + anon_sym_RBRACK, + [6785] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(567), 1, + ts_builtin_sym_end, + [6792] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(363), 1, + anon_sym_RBRACE, + [6799] = 2, + ACTIONS(3), 1, + sym_comment, + ACTIONS(569), 1, ts_builtin_sym_end, }; @@ -8300,463 +8338,475 @@ static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(22)] = 1443, [SMALL_STATE(23)] = 1512, [SMALL_STATE(24)] = 1581, - [SMALL_STATE(25)] = 1650, - [SMALL_STATE(26)] = 1719, - [SMALL_STATE(27)] = 1788, - [SMALL_STATE(28)] = 1857, - [SMALL_STATE(29)] = 1926, - [SMALL_STATE(30)] = 1995, - [SMALL_STATE(31)] = 2038, - [SMALL_STATE(32)] = 2107, + [SMALL_STATE(25)] = 1624, + [SMALL_STATE(26)] = 1693, + [SMALL_STATE(27)] = 1762, + [SMALL_STATE(28)] = 1831, + [SMALL_STATE(29)] = 1900, + [SMALL_STATE(30)] = 1943, + [SMALL_STATE(31)] = 2012, + [SMALL_STATE(32)] = 2081, [SMALL_STATE(33)] = 2150, [SMALL_STATE(34)] = 2219, [SMALL_STATE(35)] = 2288, [SMALL_STATE(36)] = 2357, [SMALL_STATE(37)] = 2400, - [SMALL_STATE(38)] = 2436, - [SMALL_STATE(39)] = 2476, - [SMALL_STATE(40)] = 2512, - [SMALL_STATE(41)] = 2552, - [SMALL_STATE(42)] = 2592, - [SMALL_STATE(43)] = 2629, - [SMALL_STATE(44)] = 2663, - [SMALL_STATE(45)] = 2697, - [SMALL_STATE(46)] = 2731, - [SMALL_STATE(47)] = 2765, - [SMALL_STATE(48)] = 2799, - [SMALL_STATE(49)] = 2833, - [SMALL_STATE(50)] = 2867, - [SMALL_STATE(51)] = 2901, - [SMALL_STATE(52)] = 2935, - [SMALL_STATE(53)] = 2969, - [SMALL_STATE(54)] = 3003, - [SMALL_STATE(55)] = 3037, - [SMALL_STATE(56)] = 3071, - [SMALL_STATE(57)] = 3105, - [SMALL_STATE(58)] = 3139, - [SMALL_STATE(59)] = 3173, - [SMALL_STATE(60)] = 3207, - [SMALL_STATE(61)] = 3241, - [SMALL_STATE(62)] = 3275, - [SMALL_STATE(63)] = 3309, - [SMALL_STATE(64)] = 3343, - [SMALL_STATE(65)] = 3377, - [SMALL_STATE(66)] = 3411, - [SMALL_STATE(67)] = 3445, - [SMALL_STATE(68)] = 3500, - [SMALL_STATE(69)] = 3537, - [SMALL_STATE(70)] = 3574, - [SMALL_STATE(71)] = 3611, - [SMALL_STATE(72)] = 3665, - [SMALL_STATE(73)] = 3719, - [SMALL_STATE(74)] = 3773, - [SMALL_STATE(75)] = 3827, - [SMALL_STATE(76)] = 3881, - [SMALL_STATE(77)] = 3915, - [SMALL_STATE(78)] = 3969, - [SMALL_STATE(79)] = 4023, - [SMALL_STATE(80)] = 4077, - [SMALL_STATE(81)] = 4111, - [SMALL_STATE(82)] = 4165, - [SMALL_STATE(83)] = 4219, - [SMALL_STATE(84)] = 4273, - [SMALL_STATE(85)] = 4327, - [SMALL_STATE(86)] = 4381, - [SMALL_STATE(87)] = 4435, - [SMALL_STATE(88)] = 4469, - [SMALL_STATE(89)] = 4500, - [SMALL_STATE(90)] = 4528, - [SMALL_STATE(91)] = 4556, - [SMALL_STATE(92)] = 4584, - [SMALL_STATE(93)] = 4612, - [SMALL_STATE(94)] = 4640, - [SMALL_STATE(95)] = 4668, - [SMALL_STATE(96)] = 4696, - [SMALL_STATE(97)] = 4724, - [SMALL_STATE(98)] = 4752, - [SMALL_STATE(99)] = 4780, - [SMALL_STATE(100)] = 4808, - [SMALL_STATE(101)] = 4836, - [SMALL_STATE(102)] = 4864, - [SMALL_STATE(103)] = 4892, - [SMALL_STATE(104)] = 4920, - [SMALL_STATE(105)] = 4948, - [SMALL_STATE(106)] = 4976, - [SMALL_STATE(107)] = 5004, - [SMALL_STATE(108)] = 5032, - [SMALL_STATE(109)] = 5060, - [SMALL_STATE(110)] = 5088, - [SMALL_STATE(111)] = 5116, - [SMALL_STATE(112)] = 5144, - [SMALL_STATE(113)] = 5172, - [SMALL_STATE(114)] = 5200, - [SMALL_STATE(115)] = 5228, - [SMALL_STATE(116)] = 5261, - [SMALL_STATE(117)] = 5295, - [SMALL_STATE(118)] = 5329, - [SMALL_STATE(119)] = 5363, - [SMALL_STATE(120)] = 5397, - [SMALL_STATE(121)] = 5431, - [SMALL_STATE(122)] = 5465, - [SMALL_STATE(123)] = 5499, - [SMALL_STATE(124)] = 5525, - [SMALL_STATE(125)] = 5551, - [SMALL_STATE(126)] = 5577, - [SMALL_STATE(127)] = 5603, - [SMALL_STATE(128)] = 5629, - [SMALL_STATE(129)] = 5655, - [SMALL_STATE(130)] = 5681, - [SMALL_STATE(131)] = 5700, - [SMALL_STATE(132)] = 5721, - [SMALL_STATE(133)] = 5740, - [SMALL_STATE(134)] = 5759, - [SMALL_STATE(135)] = 5778, - [SMALL_STATE(136)] = 5799, - [SMALL_STATE(137)] = 5822, - [SMALL_STATE(138)] = 5843, - [SMALL_STATE(139)] = 5864, - [SMALL_STATE(140)] = 5885, - [SMALL_STATE(141)] = 5906, - [SMALL_STATE(142)] = 5924, - [SMALL_STATE(143)] = 5944, - [SMALL_STATE(144)] = 5960, - [SMALL_STATE(145)] = 5980, - [SMALL_STATE(146)] = 5996, - [SMALL_STATE(147)] = 6014, - [SMALL_STATE(148)] = 6029, - [SMALL_STATE(149)] = 6044, - [SMALL_STATE(150)] = 6055, - [SMALL_STATE(151)] = 6066, - [SMALL_STATE(152)] = 6081, - [SMALL_STATE(153)] = 6094, - [SMALL_STATE(154)] = 6109, - [SMALL_STATE(155)] = 6128, - [SMALL_STATE(156)] = 6147, - [SMALL_STATE(157)] = 6160, - [SMALL_STATE(158)] = 6173, - [SMALL_STATE(159)] = 6192, - [SMALL_STATE(160)] = 6205, - [SMALL_STATE(161)] = 6221, - [SMALL_STATE(162)] = 6237, - [SMALL_STATE(163)] = 6249, - [SMALL_STATE(164)] = 6265, - [SMALL_STATE(165)] = 6281, - [SMALL_STATE(166)] = 6297, - [SMALL_STATE(167)] = 6310, - [SMALL_STATE(168)] = 6323, - [SMALL_STATE(169)] = 6332, - [SMALL_STATE(170)] = 6345, - [SMALL_STATE(171)] = 6358, - [SMALL_STATE(172)] = 6367, - [SMALL_STATE(173)] = 6380, - [SMALL_STATE(174)] = 6391, - [SMALL_STATE(175)] = 6404, - [SMALL_STATE(176)] = 6417, - [SMALL_STATE(177)] = 6428, - [SMALL_STATE(178)] = 6441, - [SMALL_STATE(179)] = 6454, - [SMALL_STATE(180)] = 6463, - [SMALL_STATE(181)] = 6474, - [SMALL_STATE(182)] = 6483, - [SMALL_STATE(183)] = 6493, - [SMALL_STATE(184)] = 6503, - [SMALL_STATE(185)] = 6513, - [SMALL_STATE(186)] = 6523, - [SMALL_STATE(187)] = 6533, - [SMALL_STATE(188)] = 6543, - [SMALL_STATE(189)] = 6553, - [SMALL_STATE(190)] = 6563, - [SMALL_STATE(191)] = 6573, - [SMALL_STATE(192)] = 6583, + [SMALL_STATE(38)] = 2440, + [SMALL_STATE(39)] = 2480, + [SMALL_STATE(40)] = 2520, + [SMALL_STATE(41)] = 2557, + [SMALL_STATE(42)] = 2591, + [SMALL_STATE(43)] = 2625, + [SMALL_STATE(44)] = 2659, + [SMALL_STATE(45)] = 2693, + [SMALL_STATE(46)] = 2727, + [SMALL_STATE(47)] = 2761, + [SMALL_STATE(48)] = 2795, + [SMALL_STATE(49)] = 2829, + [SMALL_STATE(50)] = 2863, + [SMALL_STATE(51)] = 2897, + [SMALL_STATE(52)] = 2931, + [SMALL_STATE(53)] = 2965, + [SMALL_STATE(54)] = 2999, + [SMALL_STATE(55)] = 3033, + [SMALL_STATE(56)] = 3067, + [SMALL_STATE(57)] = 3101, + [SMALL_STATE(58)] = 3135, + [SMALL_STATE(59)] = 3169, + [SMALL_STATE(60)] = 3203, + [SMALL_STATE(61)] = 3237, + [SMALL_STATE(62)] = 3271, + [SMALL_STATE(63)] = 3305, + [SMALL_STATE(64)] = 3339, + [SMALL_STATE(65)] = 3373, + [SMALL_STATE(66)] = 3407, + [SMALL_STATE(67)] = 3441, + [SMALL_STATE(68)] = 3496, + [SMALL_STATE(69)] = 3533, + [SMALL_STATE(70)] = 3570, + [SMALL_STATE(71)] = 3607, + [SMALL_STATE(72)] = 3661, + [SMALL_STATE(73)] = 3695, + [SMALL_STATE(74)] = 3729, + [SMALL_STATE(75)] = 3783, + [SMALL_STATE(76)] = 3837, + [SMALL_STATE(77)] = 3891, + [SMALL_STATE(78)] = 3925, + [SMALL_STATE(79)] = 3979, + [SMALL_STATE(80)] = 4033, + [SMALL_STATE(81)] = 4087, + [SMALL_STATE(82)] = 4141, + [SMALL_STATE(83)] = 4195, + [SMALL_STATE(84)] = 4249, + [SMALL_STATE(85)] = 4303, + [SMALL_STATE(86)] = 4357, + [SMALL_STATE(87)] = 4411, + [SMALL_STATE(88)] = 4465, + [SMALL_STATE(89)] = 4496, + [SMALL_STATE(90)] = 4524, + [SMALL_STATE(91)] = 4552, + [SMALL_STATE(92)] = 4580, + [SMALL_STATE(93)] = 4608, + [SMALL_STATE(94)] = 4636, + [SMALL_STATE(95)] = 4664, + [SMALL_STATE(96)] = 4692, + [SMALL_STATE(97)] = 4720, + [SMALL_STATE(98)] = 4748, + [SMALL_STATE(99)] = 4776, + [SMALL_STATE(100)] = 4804, + [SMALL_STATE(101)] = 4832, + [SMALL_STATE(102)] = 4860, + [SMALL_STATE(103)] = 4888, + [SMALL_STATE(104)] = 4916, + [SMALL_STATE(105)] = 4944, + [SMALL_STATE(106)] = 4972, + [SMALL_STATE(107)] = 5000, + [SMALL_STATE(108)] = 5028, + [SMALL_STATE(109)] = 5056, + [SMALL_STATE(110)] = 5084, + [SMALL_STATE(111)] = 5112, + [SMALL_STATE(112)] = 5140, + [SMALL_STATE(113)] = 5168, + [SMALL_STATE(114)] = 5196, + [SMALL_STATE(115)] = 5224, + [SMALL_STATE(116)] = 5257, + [SMALL_STATE(117)] = 5291, + [SMALL_STATE(118)] = 5325, + [SMALL_STATE(119)] = 5359, + [SMALL_STATE(120)] = 5393, + [SMALL_STATE(121)] = 5427, + [SMALL_STATE(122)] = 5461, + [SMALL_STATE(123)] = 5495, + [SMALL_STATE(124)] = 5521, + [SMALL_STATE(125)] = 5547, + [SMALL_STATE(126)] = 5573, + [SMALL_STATE(127)] = 5599, + [SMALL_STATE(128)] = 5625, + [SMALL_STATE(129)] = 5651, + [SMALL_STATE(130)] = 5677, + [SMALL_STATE(131)] = 5698, + [SMALL_STATE(132)] = 5717, + [SMALL_STATE(133)] = 5736, + [SMALL_STATE(134)] = 5755, + [SMALL_STATE(135)] = 5774, + [SMALL_STATE(136)] = 5795, + [SMALL_STATE(137)] = 5816, + [SMALL_STATE(138)] = 5837, + [SMALL_STATE(139)] = 5858, + [SMALL_STATE(140)] = 5879, + [SMALL_STATE(141)] = 5897, + [SMALL_STATE(142)] = 5913, + [SMALL_STATE(143)] = 5933, + [SMALL_STATE(144)] = 5949, + [SMALL_STATE(145)] = 5967, + [SMALL_STATE(146)] = 5982, + [SMALL_STATE(147)] = 5997, + [SMALL_STATE(148)] = 6008, + [SMALL_STATE(149)] = 6019, + [SMALL_STATE(150)] = 6036, + [SMALL_STATE(151)] = 6055, + [SMALL_STATE(152)] = 6070, + [SMALL_STATE(153)] = 6083, + [SMALL_STATE(154)] = 6102, + [SMALL_STATE(155)] = 6121, + [SMALL_STATE(156)] = 6138, + [SMALL_STATE(157)] = 6151, + [SMALL_STATE(158)] = 6164, + [SMALL_STATE(159)] = 6177, + [SMALL_STATE(160)] = 6192, + [SMALL_STATE(161)] = 6206, + [SMALL_STATE(162)] = 6220, + [SMALL_STATE(163)] = 6236, + [SMALL_STATE(164)] = 6252, + [SMALL_STATE(165)] = 6264, + [SMALL_STATE(166)] = 6280, + [SMALL_STATE(167)] = 6296, + [SMALL_STATE(168)] = 6312, + [SMALL_STATE(169)] = 6326, + [SMALL_STATE(170)] = 6335, + [SMALL_STATE(171)] = 6348, + [SMALL_STATE(172)] = 6357, + [SMALL_STATE(173)] = 6368, + [SMALL_STATE(174)] = 6381, + [SMALL_STATE(175)] = 6394, + [SMALL_STATE(176)] = 6407, + [SMALL_STATE(177)] = 6416, + [SMALL_STATE(178)] = 6429, + [SMALL_STATE(179)] = 6438, + [SMALL_STATE(180)] = 6451, + [SMALL_STATE(181)] = 6464, + [SMALL_STATE(182)] = 6477, + [SMALL_STATE(183)] = 6488, + [SMALL_STATE(184)] = 6497, + [SMALL_STATE(185)] = 6510, + [SMALL_STATE(186)] = 6521, + [SMALL_STATE(187)] = 6531, + [SMALL_STATE(188)] = 6541, + [SMALL_STATE(189)] = 6551, + [SMALL_STATE(190)] = 6561, + [SMALL_STATE(191)] = 6571, + [SMALL_STATE(192)] = 6581, [SMALL_STATE(193)] = 6591, [SMALL_STATE(194)] = 6601, - [SMALL_STATE(195)] = 6611, - [SMALL_STATE(196)] = 6621, - [SMALL_STATE(197)] = 6628, - [SMALL_STATE(198)] = 6635, - [SMALL_STATE(199)] = 6642, - [SMALL_STATE(200)] = 6649, - [SMALL_STATE(201)] = 6656, - [SMALL_STATE(202)] = 6663, - [SMALL_STATE(203)] = 6670, - [SMALL_STATE(204)] = 6677, - [SMALL_STATE(205)] = 6684, - [SMALL_STATE(206)] = 6691, - [SMALL_STATE(207)] = 6698, - [SMALL_STATE(208)] = 6705, - [SMALL_STATE(209)] = 6712, - [SMALL_STATE(210)] = 6719, - [SMALL_STATE(211)] = 6726, - [SMALL_STATE(212)] = 6733, - [SMALL_STATE(213)] = 6740, - [SMALL_STATE(214)] = 6747, - [SMALL_STATE(215)] = 6754, - [SMALL_STATE(216)] = 6761, + [SMALL_STATE(195)] = 6609, + [SMALL_STATE(196)] = 6619, + [SMALL_STATE(197)] = 6629, + [SMALL_STATE(198)] = 6639, + [SMALL_STATE(199)] = 6649, + [SMALL_STATE(200)] = 6659, + [SMALL_STATE(201)] = 6666, + [SMALL_STATE(202)] = 6673, + [SMALL_STATE(203)] = 6680, + [SMALL_STATE(204)] = 6687, + [SMALL_STATE(205)] = 6694, + [SMALL_STATE(206)] = 6701, + [SMALL_STATE(207)] = 6708, + [SMALL_STATE(208)] = 6715, + [SMALL_STATE(209)] = 6722, + [SMALL_STATE(210)] = 6729, + [SMALL_STATE(211)] = 6736, + [SMALL_STATE(212)] = 6743, + [SMALL_STATE(213)] = 6750, + [SMALL_STATE(214)] = 6757, + [SMALL_STATE(215)] = 6764, + [SMALL_STATE(216)] = 6771, + [SMALL_STATE(217)] = 6778, + [SMALL_STATE(218)] = 6785, + [SMALL_STATE(219)] = 6792, + [SMALL_STATE(220)] = 6799, }; 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(136), - [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), - [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [5] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), + [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [9] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), [11] = {.entry = {.count = 1, .reusable = false}}, SHIFT(115), - [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), - [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), - [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(53), - [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), + [13] = {.entry = {.count = 1, .reusable = true}}, SHIFT(16), + [15] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), + [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), + [19] = {.entry = {.count = 1, .reusable = false}}, SHIFT(60), [21] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), - [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(200), - [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), - [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), - [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(91), - [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), - [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(45), - [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(107), + [23] = {.entry = {.count = 1, .reusable = false}}, SHIFT(214), + [25] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), + [27] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), + [29] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), + [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(40), + [33] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), + [35] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), [37] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), [39] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), [41] = {.entry = {.count = 1, .reusable = true}}, SHIFT(10), - [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(195), - [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), - [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), - [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(77), - [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(73), - [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), - [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), - [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), - [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), - [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), - [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), - [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 3), - [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(201), - [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 2), - [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(202), - [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), + [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(187), + [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(83), + [49] = {.entry = {.count = 1, .reusable = false}}, SHIFT(84), + [51] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), + [53] = {.entry = {.count = 1, .reusable = true}}, SHIFT(71), + [55] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), + [57] = {.entry = {.count = 1, .reusable = true}}, SHIFT(80), + [59] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), + [61] = {.entry = {.count = 1, .reusable = true}}, SHIFT(63), + [63] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), + [65] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 2), + [67] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), + [69] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 3), + [71] = {.entry = {.count = 1, .reusable = true}}, SHIFT(206), + [73] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), [75] = {.entry = {.count = 1, .reusable = false}}, SHIFT(88), - [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(31), - [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), - [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(92), - [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(102), + [77] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), + [79] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), + [81] = {.entry = {.count = 1, .reusable = false}}, SHIFT(95), + [83] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), [85] = {.entry = {.count = 1, .reusable = true}}, SHIFT(5), - [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(84), + [87] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), [89] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), [91] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 3), [93] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_full_splat, 3), - [95] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(25), - [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 3), SHIFT(198), - [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), - [103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), - [105] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(25), - [108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(198), - [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 4), - [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_full_splat, 4), - [115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(25), - [118] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 4), SHIFT(198), - [121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_template, 2), - [123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_template, 2), - [125] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attr_splat_repeat1, 2), - [127] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), - [129] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(198), - [132] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_template, 3), - [134] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_template, 3), - [136] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 3), - [138] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 3), - [140] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 3), SHIFT(198), - [143] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 2), - [145] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 2), - [147] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 2), SHIFT(198), - [150] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_expr, 1), - [152] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_expr, 1), - [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), - [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 6), - [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 6), - [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat, 1), - [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_splat, 1), - [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), - [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 2), - [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 5), - [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 5), - [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2), - [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2), - [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), - [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), - [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 7), - [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 7), - [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 3), - [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 3), - [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 8), - [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 8), - [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 3), - [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 3), - [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_lit, 1), - [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_lit, 1), - [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4), - [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 4), - [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 2), - [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 2), - [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 1), - [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal_value, 1), - [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4), - [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 4), - [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_expr, 1), - [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_expr, 1), - [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 1), - [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 1), - [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 1), - [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 1), - [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expr, 1), - [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expr, 1), - [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_get_attr, 2), - [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_get_attr, 2), - [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_collection_value, 1), - [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_collection_value, 1), - [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 1), - [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 1), + [95] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(28), + [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 3), SHIFT(205), + [101] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_full_splat, 4), + [103] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_full_splat, 4), + [105] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(28), + [108] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 4), SHIFT(205), + [111] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), + [113] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), + [115] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(28), + [118] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(205), + [121] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_attr_splat_repeat1, 2), + [123] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), + [125] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(205), + [128] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 3), + [130] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 3), + [132] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 3), SHIFT(205), + [135] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attr_splat, 2), + [137] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_attr_splat, 2), + [139] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 2), SHIFT(205), + [142] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_variable_expr, 1), + [144] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_variable_expr, 1), + [146] = {.entry = {.count = 1, .reusable = true}}, SHIFT(7), + [148] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_collection_value, 1), + [150] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_collection_value, 1), + [152] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_expr, 1), + [154] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_expr, 1), + [156] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4, .production_id = 1), + [158] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4, .production_id = 1), + [160] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 2), + [162] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 2), + [164] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_bool_lit, 1), + [166] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_bool_lit, 1), + [168] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 3), + [170] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 3), + [172] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_template, 2), + [174] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_template, 2), + [176] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 1), + [178] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 1), + [180] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_get_attr, 2), + [182] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_get_attr, 2), + [184] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 8), + [186] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 8), + [188] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 4), + [190] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 4), + [192] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 4), + [194] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 4), + [196] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_expr, 1), + [198] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_expr, 1), + [200] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 4), + [202] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 4), + [204] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_quoted_template, 3), + [206] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_quoted_template, 3), + [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 5), + [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 5), + [212] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expr_term, 2), + [214] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expr_term, 2), + [216] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_splat, 1), + [218] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_splat, 1), + [220] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 7), + [222] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 7), + [224] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_literal_value, 1), + [226] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_literal_value, 1), + [228] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_object_expr, 6), + [230] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_object_expr, 6), + [232] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), + [234] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), + [236] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3, .production_id = 1), + [238] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3, .production_id = 1), + [240] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_tuple, 3), + [242] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_tuple, 3), [244] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 3), [246] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 3), - [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_tuple_expr, 4), - [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_tuple_expr, 4), - [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), - [254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(182), - [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), - [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), - [260] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), - [262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), - [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), - [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), - [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), - [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), - [272] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(29), - [275] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(206), - [278] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(29), - [281] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 4), SHIFT(206), - [284] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(29), - [287] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 3), SHIFT(206), - [290] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 2), SHIFT(206), - [293] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 3), SHIFT(206), - [296] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(206), + [248] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object, 2), + [250] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_object, 2), + [252] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), + [254] = {.entry = {.count = 1, .reusable = false}}, SHIFT(199), + [256] = {.entry = {.count = 1, .reusable = true}}, SHIFT(87), + [258] = {.entry = {.count = 1, .reusable = true}}, SHIFT(74), + [260] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), + [262] = {.entry = {.count = 1, .reusable = false}}, SHIFT(82), + [264] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), + [266] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), + [268] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), + [270] = {.entry = {.count = 1, .reusable = true}}, SHIFT(75), + [272] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 3), SHIFT(31), + [275] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 3), SHIFT(207), + [278] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_full_splat, 4), SHIFT(31), + [281] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_full_splat, 4), SHIFT(207), + [284] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(31), + [287] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_full_splat_repeat1, 2), SHIFT_REPEAT(207), + [290] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 2), SHIFT(207), + [293] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_attr_splat, 3), SHIFT(207), + [296] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_attr_splat_repeat1, 2), SHIFT_REPEAT(207), [299] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), - [301] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_variable_expr, 1), SHIFT(21), - [304] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_expr, 1), SHIFT(21), - [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_operation, 3), - [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_operation, 3), - [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_operation, 2), - [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_operation, 2), + [301] = {.entry = {.count = 2, .reusable = false}}, REDUCE(sym_variable_expr, 1), SHIFT(34), + [304] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_variable_expr, 1), SHIFT(34), + [307] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_unary_operation, 2), + [309] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_unary_operation, 2), + [311] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_binary_operation, 3), + [313] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_binary_operation, 3), [315] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_conditional, 5), [317] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_conditional, 5), - [319] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_conditional, 5), SHIFT(34), - [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 7), - [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 7), - [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 5), - [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 5), + [319] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_conditional, 5), SHIFT(21), + [322] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 5), + [324] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 5), + [326] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_intro, 7), + [328] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for_intro, 7), [330] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_operation, 1), [332] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_operation, 1), - [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [334] = {.entry = {.count = 1, .reusable = true}}, SHIFT(106), [336] = {.entry = {.count = 1, .reusable = false}}, SHIFT(151), [338] = {.entry = {.count = 1, .reusable = true}}, SHIFT(151), - [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), - [342] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), - [344] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), - [346] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), - [348] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), - [350] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), - [352] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), - [354] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_quoted_template_repeat1, 2), - [356] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_quoted_template_repeat1, 2), SHIFT_REPEAT(151), - [359] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_quoted_template_repeat1, 2), SHIFT_REPEAT(151), - [362] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_quoted_template_repeat1, 2), SHIFT_REPEAT(139), - [365] = {.entry = {.count = 1, .reusable = true}}, SHIFT(37), - [367] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), - [369] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), - [371] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), - [373] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(142), - [376] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(140), - [379] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), - [381] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), SHIFT_REPEAT(136), - [384] = {.entry = {.count = 1, .reusable = true}}, SHIFT(141), - [386] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), - [388] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1), - [390] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), - [392] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), - [394] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), SHIFT_REPEAT(28), - [397] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_interpolation_repeat1, 2), - [399] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_interpolation_repeat1, 2), SHIFT_REPEAT(148), - [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), - [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), - [406] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_interpolation, 2), - [408] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_interpolation, 2), - [410] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), - [412] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), - [414] = {.entry = {.count = 1, .reusable = true}}, SHIFT(96), - [416] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), - [418] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), - [420] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), - [422] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 1), - [424] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), - [426] = {.entry = {.count = 1, .reusable = true}}, SHIFT(203), - [428] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), - [430] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_conditional, 5), SHIFT(15), - [433] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_interpolation, 3), - [435] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_interpolation, 3), - [437] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), - [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(170), - [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), - [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), - [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), - [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 1), - [449] = {.entry = {.count = 1, .reusable = true}}, SHIFT(66), - [451] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), - [453] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), - [455] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), - [457] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), - [459] = {.entry = {.count = 1, .reusable = true}}, SHIFT(94), - [461] = {.entry = {.count = 1, .reusable = true}}, SHIFT(13), - [463] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 1), - [465] = {.entry = {.count = 1, .reusable = true}}, SHIFT(93), - [467] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), - [469] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4, .production_id = 1), - [471] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), - [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), - [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), - [477] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), - [479] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), SHIFT_REPEAT(13), - [482] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_cond, 2), - [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), - [486] = {.entry = {.count = 1, .reusable = true}}, SHIFT(57), - [488] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, .production_id = 1), - [490] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_elem, 3), - [492] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5, .production_id = 1), - [494] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), - [496] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), - [498] = {.entry = {.count = 1, .reusable = true}}, SHIFT(48), - [500] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), - [502] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), - [504] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), - [506] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), - [508] = {.entry = {.count = 1, .reusable = true}}, SHIFT(196), - [510] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), - [512] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), - [514] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), - [516] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), - [518] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), - [520] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), - [522] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), - [524] = {.entry = {.count = 1, .reusable = true}}, SHIFT(41), - [526] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), - [528] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), - [530] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), - [532] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), - [534] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), - [536] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), - [538] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), - [540] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), - [542] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), - [544] = {.entry = {.count = 1, .reusable = true}}, SHIFT(95), - [546] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), - [548] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_config_file, 1), - [550] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), - [552] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), + [340] = {.entry = {.count = 1, .reusable = true}}, SHIFT(136), + [342] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_quoted_template_repeat1, 2), + [344] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_quoted_template_repeat1, 2), SHIFT_REPEAT(151), + [347] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_quoted_template_repeat1, 2), SHIFT_REPEAT(151), + [350] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_quoted_template_repeat1, 2), SHIFT_REPEAT(136), + [353] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), + [355] = {.entry = {.count = 1, .reusable = true}}, SHIFT(135), + [357] = {.entry = {.count = 1, .reusable = true}}, SHIFT(55), + [359] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), + [361] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), + [363] = {.entry = {.count = 1, .reusable = true}}, SHIFT(176), + [365] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), + [367] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_body_repeat1, 2), SHIFT_REPEAT(142), + [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), + [372] = {.entry = {.count = 1, .reusable = true}}, SHIFT(144), + [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(149), + [376] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), + [378] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_body, 1), + [380] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), + [382] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), + [384] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_tuple_repeat1, 2), SHIFT_REPEAT(26), + [387] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_template_interpolation_repeat1, 2), + [389] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_template_interpolation_repeat1, 2), SHIFT_REPEAT(146), + [392] = {.entry = {.count = 1, .reusable = true}}, SHIFT(140), + [394] = {.entry = {.count = 1, .reusable = true}}, SHIFT(155), + [396] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), + [398] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), + [400] = {.entry = {.count = 1, .reusable = true}}, SHIFT(174), + [402] = {.entry = {.count = 1, .reusable = true}}, SHIFT(17), + [404] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), + [406] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), + [408] = {.entry = {.count = 2, .reusable = true}}, REDUCE(sym_conditional, 5), SHIFT(17), + [411] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_arguments, 1), + [413] = {.entry = {.count = 1, .reusable = true}}, SHIFT(9), + [415] = {.entry = {.count = 1, .reusable = true}}, SHIFT(210), + [417] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), + [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), + [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(181), + [423] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), + [425] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(155), + [428] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_block_repeat1, 2), SHIFT_REPEAT(160), + [431] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_interpolation, 3), + [433] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_interpolation, 3), + [435] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_template_interpolation, 2), + [437] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_template_interpolation, 2), + [439] = {.entry = {.count = 1, .reusable = true}}, SHIFT(157), + [441] = {.entry = {.count = 1, .reusable = true}}, SHIFT(146), + [443] = {.entry = {.count = 1, .reusable = true}}, SHIFT(183), + [445] = {.entry = {.count = 1, .reusable = true}}, SHIFT(168), + [447] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_string_lit_repeat1, 2), + [449] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_string_lit_repeat1, 2), SHIFT_REPEAT(161), + [452] = {.entry = {.count = 1, .reusable = true}}, SHIFT(54), + [454] = {.entry = {.count = 1, .reusable = true}}, SHIFT(12), + [456] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), + [458] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_attribute, 3, .production_id = 1), + [460] = {.entry = {.count = 1, .reusable = true}}, SHIFT(26), + [462] = {.entry = {.count = 1, .reusable = true}}, SHIFT(89), + [464] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), + [466] = {.entry = {.count = 1, .reusable = true}}, SHIFT(64), + [468] = {.entry = {.count = 1, .reusable = true}}, SHIFT(178), + [470] = {.entry = {.count = 1, .reusable = true}}, SHIFT(161), + [472] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3, .production_id = 1), + [474] = {.entry = {.count = 1, .reusable = true}}, SHIFT(51), + [476] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 5, .production_id = 1), + [478] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_object_elem, 3), + [480] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), + [482] = {.entry = {.count = 1, .reusable = true}}, SHIFT(11), + [484] = {.entry = {.count = 1, .reusable = true}}, SHIFT(108), + [486] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), + [488] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_object_repeat1, 2), SHIFT_REPEAT(11), + [491] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4, .production_id = 1), + [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), + [495] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 3), + [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(97), + [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), + [501] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), + [503] = {.entry = {.count = 1, .reusable = true}}, SHIFT(34), + [505] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_string_lit, 2), + [507] = {.entry = {.count = 1, .reusable = true}}, SHIFT(52), + [509] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for_cond, 2), + [511] = {.entry = {.count = 1, .reusable = true}}, SHIFT(132), + [513] = {.entry = {.count = 1, .reusable = true}}, SHIFT(49), + [515] = {.entry = {.count = 1, .reusable = true}}, SHIFT(39), + [517] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), + [519] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), + [521] = {.entry = {.count = 1, .reusable = true}}, SHIFT(32), + [523] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), + [525] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), + [527] = {.entry = {.count = 1, .reusable = true}}, SHIFT(46), + [529] = {.entry = {.count = 1, .reusable = true}}, SHIFT(23), + [531] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), + [533] = {.entry = {.count = 1, .reusable = true}}, SHIFT(30), + [535] = {.entry = {.count = 1, .reusable = true}}, SHIFT(110), + [537] = {.entry = {.count = 1, .reusable = true}}, SHIFT(133), + [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), + [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(72), + [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(209), + [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(98), + [547] = {.entry = {.count = 1, .reusable = true}}, SHIFT(56), + [549] = {.entry = {.count = 1, .reusable = true}}, SHIFT(50), + [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), + [553] = {.entry = {.count = 1, .reusable = true}}, SHIFT(90), + [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), + [557] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), + [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), + [561] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), + [563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), + [565] = {.entry = {.count = 1, .reusable = true}}, SHIFT(24), + [567] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_config_file, 1), + [569] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), }; #ifdef __cplusplus diff --git a/test/corpus/collections.txt b/test/corpus/collections.txt index de38c60..5a207be 100644 --- a/test/corpus/collections.txt +++ b/test/corpus/collections.txt @@ -6,16 +6,16 @@ foo = [1, 2, "foo"] --- -(config_file - (body - (attribute - (identifier) - (expression - (expr_term - (collection_value - (tuple - (expression (expr_term (literal_value (numeric_lit)))) - (expression (expr_term (literal_value (numeric_lit)))) +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (collection_value + (tuple + (expression (expr_term (literal_value (numeric_lit)))) + (expression (expr_term (literal_value (numeric_lit)))) (expression (expr_term (template_expr (quoted_template))))))))))) ================== @@ -26,18 +26,18 @@ foo = {1: 2, "foo"="bar"} --- -(config_file - (body - (attribute - (identifier) - (expression - (expr_term - (collection_value - (object - (object_elem - (expression (expr_term (literal_value (numeric_lit)))) - (expression (expr_term (literal_value (numeric_lit))))) - (object_elem - (expression (expr_term (template_expr (quoted_template)))) - (expression (expr_term (template_expr (quoted_template)))))))))))) +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (collection_value + (object + (object_elem + (expression (expr_term (literal_value (numeric_lit)))) + (expression (expr_term (literal_value (numeric_lit))))) + (object_elem + (expression (expr_term (template_expr (quoted_template)))) + (expression (expr_term (template_expr (quoted_template)))))))))))) diff --git a/test/corpus/conditionals.txt b/test/corpus/conditionals.txt index 5b29a01..9a95f17 100644 --- a/test/corpus/conditionals.txt +++ b/test/corpus/conditionals.txt @@ -6,13 +6,13 @@ foo = predicate() ? 1: 2 --- -(config_file - (body - (attribute - (identifier) - (expression - (conditional +(config_file + (body + (attribute + (identifier) + (expression + (conditional (expression (expr_term (function_call (identifier)))) - (expression (expr_term (literal_value (numeric_lit)))) - (expression (expr_term (literal_value (numeric_lit))))))))) + (expression (expr_term (literal_value (numeric_lit)))) + (expression (expr_term (literal_value (numeric_lit))))))))) diff --git a/test/corpus/for_expressions.txt b/test/corpus/for_expressions.txt index 608be04..7e3c187 100644 --- a/test/corpus/for_expressions.txt +++ b/test/corpus/for_expressions.txt @@ -6,23 +6,23 @@ foo = [for v in ["a", "b"]: v] --- -(config_file - (body - (attribute - (identifier) - (expression - (expr_term - (for_expr - (for_tuple_expr - (for_intro - (identifier) - (expression - (expr_term - (collection_value - (tuple - (expression (expr_term (template_expr (quoted_template)))) +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (for_expr + (for_tuple_expr + (for_intro + (identifier) + (expression + (expr_term + (collection_value + (tuple + (expression (expr_term (template_expr (quoted_template)))) (expression (expr_term (template_expr (quoted_template))))))))) - (expression (expr_term (variable_expr (identifier))))))))))) + (expression (expr_term (variable_expr (identifier))))))))))) ================== for tuple expression with index @@ -32,24 +32,24 @@ foo = [for i, v in ["a", "b"]: i] --- -(config_file - (body - (attribute - (identifier) - (expression - (expr_term - (for_expr - (for_tuple_expr - (for_intro - (identifier) - (identifier) - (expression - (expr_term - (collection_value - (tuple - (expression (expr_term (template_expr (quoted_template)))) +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (for_expr + (for_tuple_expr + (for_intro + (identifier) + (identifier) + (expression + (expr_term + (collection_value + (tuple + (expression (expr_term (template_expr (quoted_template)))) (expression (expr_term (template_expr (quoted_template))))))))) - (expression (expr_term (variable_expr (identifier))))))))))) + (expression (expr_term (variable_expr (identifier))))))))))) ================== for tuple expression with predicate @@ -59,35 +59,35 @@ foo = [for i, v in ["a", "b", "c"]: v if pred(i)] --- -(config_file - (body - (attribute - (identifier) - (expression - (expr_term - (for_expr - (for_tuple_expr - (for_intro - (identifier) - (identifier) - (expression - (expr_term - (collection_value - (tuple - (expression (expr_term (template_expr (quoted_template)))) - (expression (expr_term (template_expr (quoted_template)))) - (expression (expr_term (template_expr (quoted_template))))))))) - (expression (expr_term (variable_expr (identifier)))) - (for_cond - (expression - (expr_term - (function_call - (identifier) - (function_arguments (expression (expr_term (variable_expr (identifier)))))))))))))))) +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (for_expr + (for_tuple_expr + (for_intro + (identifier) + (identifier) + (expression + (expr_term + (collection_value + (tuple + (expression (expr_term (template_expr (quoted_template)))) + (expression (expr_term (template_expr (quoted_template)))) + (expression (expr_term (template_expr (quoted_template))))))))) + (expression (expr_term (variable_expr (identifier)))) + (for_cond + (expression + (expr_term + (function_call + (identifier) + (function_arguments (expression (expr_term (variable_expr (identifier)))))))))))))))) ================== -for object expression +for object expression ================== foo = {for i, v in ["a", "b"]: v => i} @@ -96,23 +96,23 @@ foo = {for i, v in ["a", "b"]: v => i} (config_file (body - (attribute - (identifier) - (expression - (expr_term - (for_expr - (for_object_expr - (for_intro + (attribute + (identifier) + (expression + (expr_term + (for_expr + (for_object_expr + (for_intro (identifier) - (identifier) - (expression - (expr_term - (collection_value - (tuple - (expression (expr_term (template_expr (quoted_template)))) - (expression (expr_term (template_expr (quoted_template))))))))) - (expression (expr_term (variable_expr (identifier)))) - (expression (expr_term (variable_expr (identifier))))))))))) + (identifier) + (expression + (expr_term + (collection_value + (tuple + (expression (expr_term (template_expr (quoted_template)))) + (expression (expr_term (template_expr (quoted_template))))))))) + (expression (expr_term (variable_expr (identifier)))) + (expression (expr_term (variable_expr (identifier))))))))))) ================== for object expression 2 @@ -124,20 +124,20 @@ foo = {for i, v in ["a", "b"]: v => i...} (config_file (body - (attribute - (identifier) - (expression - (expr_term - (for_expr - (for_object_expr - (for_intro + (attribute + (identifier) + (expression + (expr_term + (for_expr + (for_object_expr + (for_intro (identifier) - (identifier) - (expression - (expr_term - (collection_value - (tuple - (expression (expr_term (template_expr (quoted_template)))) - (expression (expr_term (template_expr (quoted_template))))))))) - (expression (expr_term (variable_expr (identifier)))) - (expression (expr_term (variable_expr (identifier)))) (ellipsis)))))))) + (identifier) + (expression + (expr_term + (collection_value + (tuple + (expression (expr_term (template_expr (quoted_template)))) + (expression (expr_term (template_expr (quoted_template))))))))) + (expression (expr_term (variable_expr (identifier)))) + (expression (expr_term (variable_expr (identifier)))) (ellipsis)))))))) diff --git a/test/corpus/function_calls.txt b/test/corpus/function_calls.txt index cdf7833..fbffc02 100644 --- a/test/corpus/function_calls.txt +++ b/test/corpus/function_calls.txt @@ -20,16 +20,16 @@ foo = bar("foo") --- -(config_file - (body - (attribute - (identifier) - (expression - (expr_term - (function_call - (identifier) - (function_arguments - (expression (expr_term (template_expr (quoted_template))))))))))) +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (function_call + (identifier) + (function_arguments + (expression (expr_term (template_expr (quoted_template))))))))))) ================== variadic function call @@ -39,16 +39,16 @@ foo = bar(x...) --- -(config_file - (body - (attribute - (identifier) - (expression - (expr_term - (function_call - (identifier) - (function_arguments - (expression (expr_term (variable_expr (identifier)))) (ellipsis)))))))) +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (function_call + (identifier) + (function_arguments + (expression (expr_term (variable_expr (identifier)))) (ellipsis)))))))) ================== multiline function call @@ -62,16 +62,16 @@ foo = bar( --- -(config_file - (body - (attribute - (identifier) - (expression - (expr_term - (function_call - (identifier) - (function_arguments - (expression (expr_term (template_expr (quoted_template)))) - (expression (expr_term (template_expr (quoted_template)))) - (expression (expr_term (template_expr (quoted_template))))))))))) +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (function_call + (identifier) + (function_arguments + (expression (expr_term (template_expr (quoted_template)))) + (expression (expr_term (template_expr (quoted_template)))) + (expression (expr_term (template_expr (quoted_template))))))))))) diff --git a/test/corpus/operators.txt b/test/corpus/operators.txt index f3df9cc..c9510c6 100644 --- a/test/corpus/operators.txt +++ b/test/corpus/operators.txt @@ -6,13 +6,13 @@ foo = -3 --- -(config_file - (body - (attribute - (identifier) - (expression - (operation - (unary_operation (expr_term (literal_value (numeric_lit))))))))) +(config_file + (body + (attribute + (identifier) + (expression + (operation + (unary_operation (expr_term (literal_value (numeric_lit))))))))) ================== unary operator ! @@ -22,13 +22,13 @@ foo = !true --- -(config_file - (body - (attribute - (identifier) - (expression - (operation - (unary_operation (expr_term (literal_value (bool_lit))))))))) +(config_file + (body + (attribute + (identifier) + (expression + (operation + (unary_operation (expr_term (literal_value (bool_lit))))))))) ================== binary operators + @@ -38,13 +38,13 @@ foo = 1+2 --- -(config_file - (body - (attribute - (identifier) - (expression - (operation - (binary_operation - (expr_term (literal_value (numeric_lit))) - (expr_term (literal_value (numeric_lit))))))))) +(config_file + (body + (attribute + (identifier) + (expression + (operation + (binary_operation + (expr_term (literal_value (numeric_lit))) + (expr_term (literal_value (numeric_lit))))))))) diff --git a/test/corpus/splat.txt b/test/corpus/splat.txt index d17037e..7b31619 100644 --- a/test/corpus/splat.txt +++ b/test/corpus/splat.txt @@ -6,16 +6,16 @@ foo = bar.baz --- -(config_file - (body - (attribute - (identifier) - (expression - (expr_term - (expr_term - (variable_expr - (identifier))) - (get_attr +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (expr_term + (variable_expr + (identifier))) + (get_attr (identifier))))))) ================== @@ -26,15 +26,15 @@ foo = bar[1] --- -(config_file - (body - (attribute - (identifier) - (expression - (expr_term - (expr_term - (variable_expr - (identifier))) +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (expr_term + (variable_expr + (identifier))) (index (expression (expr_term @@ -49,19 +49,19 @@ foo = bar.*.foo --- -(config_file - (body - (attribute - (identifier) - (expression - (expr_term - (expr_term - (variable_expr - (identifier))) - (splat - (attr_splat - (get_attr - (identifier))))))))) +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (expr_term + (variable_expr + (identifier))) + (splat + (attr_splat + (get_attr + (identifier))))))))) ================== full splat @@ -71,16 +71,16 @@ foo = bar[*].foo --- -(config_file - (body - (attribute - (identifier) - (expression - (expr_term - (expr_term - (variable_expr - (identifier))) - (splat - (full_splat - (get_attr - (identifier))))))))) +(config_file + (body + (attribute + (identifier) + (expression + (expr_term + (expr_term + (variable_expr + (identifier))) + (splat + (full_splat + (get_attr + (identifier))))))))) diff --git a/test/corpus/strings.txt b/test/corpus/strings.txt index 2bd0710..232be5a 100644 --- a/test/corpus/strings.txt +++ b/test/corpus/strings.txt @@ -90,11 +90,11 @@ foo = "bar\pbaz" --- -(config_file - (body - (attribute - (identifier) - (expression (expr_term (template_expr (quoted_template (ERROR (UNEXPECTED '\'))))))))) +(config_file + (body + (attribute + (identifier) + (expression (expr_term (template_expr (quoted_template (ERROR (UNEXPECTED '\'))))))))) ================== string bad escape sequence 2 @@ -104,11 +104,11 @@ foo = "bar\uZZ" --- -(config_file - (body - (attribute - (identifier) - (expression (expr_term (template_expr (quoted_template (ERROR (UNEXPECTED '\'))))))))) +(config_file + (body + (attribute + (identifier) + (expression (expr_term (template_expr (quoted_template (ERROR (UNEXPECTED '\'))))))))) ================== string literal multi line error @@ -221,10 +221,10 @@ foo = "%\n\t" (config_file (body (attribute - (identifier) - (expression (expr_term (template_expr (quoted_template - (escape_sequence) - (escape_sequence)))))))) + (identifier) + (expression (expr_term (template_expr (quoted_template + (escape_sequence) + (escape_sequence)))))))) ================== string literal template chars but no template 4 @@ -237,10 +237,10 @@ foo = "%%\n\t" (config_file (body (attribute - (identifier) - (expression (expr_term (template_expr (quoted_template - (escape_sequence) - (escape_sequence)))))))) + (identifier) + (expression (expr_term (template_expr (quoted_template + (escape_sequence) + (escape_sequence)))))))) ================== string literal template chars but no template 5 @@ -253,8 +253,8 @@ foo = "$$" (config_file (body (attribute - (identifier) - (expression (expr_term (template_expr (quoted_template))))))) + (identifier) + (expression (expr_term (template_expr (quoted_template))))))) ================== string literal template chars but no template 6 @@ -267,11 +267,11 @@ foo = "%%{\n\t" (config_file (body (attribute - (identifier) - (expression (expr_term (template_expr (quoted_template - (escape_sequence) - (escape_sequence) - (escape_sequence)))))))) + (identifier) + (expression (expr_term (template_expr (quoted_template + (escape_sequence) + (escape_sequence) + (escape_sequence)))))))) ================== string literal escaped template @@ -284,5 +284,20 @@ foo = "$${ var.bar }" (config_file (body (attribute - (identifier) + (identifier) (expression (expr_term (template_expr (quoted_template (escape_sequence)))))))) + +================== +proper quoted template in string literal position errors +================== + +resource "${var.bar}" { +} + +--- + +(config_file + (body + (block + (identifier) + (string_lit (ERROR)))))