From 9a198562e00854c3b8d7e71b4a672d7777d2a51e Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Sun, 15 Mar 2015 20:31:41 -0700 Subject: [PATCH] Treat parse conflicts as errors in grammar compilation For now, only reduce/reduce conflicts w/ no tie-breaking precedence are treated as errors. The rest are dropped, because shift/reduce conflicts are currently very common because we don't have a way of specifying associativity along w/ precedence. --- include/tree_sitter/compiler.h | 37 +- project.gyp | 1 - .../action_takes_precedence_spec.cc | 36 +- .../build_tables/build_conflict_spec.cc | 6 +- spec/compiler/compile_examples.cc | 8 +- spec/compiler/compile_spec.cc | 2 +- spec/fixtures/grammars/javascript.cc | 4 +- spec/fixtures/parsers/golang.c | 126 +- spec/fixtures/parsers/javascript.c | 2382 ++++++++--------- .../build_tables/action_takes_precedence.cc | 71 +- .../build_tables/action_takes_precedence.h | 13 +- src/compiler/build_tables/build_conflict.cc | 11 +- src/compiler/build_tables/build_conflict.h | 6 +- .../build_tables/build_parse_table.cc | 40 +- src/compiler/build_tables/build_parse_table.h | 4 +- src/compiler/build_tables/build_tables.cc | 9 +- src/compiler/build_tables/build_tables.h | 5 +- src/compiler/compile.cc | 15 +- src/compiler/conflict.cc | 22 - src/compiler/rules/rules.cc | 4 +- 20 files changed, 1394 insertions(+), 1408 deletions(-) delete mode 100644 src/compiler/conflict.cc diff --git a/include/tree_sitter/compiler.h b/include/tree_sitter/compiler.h index 94b3b54f..79dbacc0 100644 --- a/include/tree_sitter/compiler.h +++ b/include/tree_sitter/compiler.h @@ -15,17 +15,17 @@ class Rule; typedef std::shared_ptr rule_ptr; rule_ptr blank(); -rule_ptr choice(const std::vector &rules); -rule_ptr repeat(const rule_ptr &content); -rule_ptr seq(const std::vector &rules); -rule_ptr sym(const std::string &name); -rule_ptr pattern(const std::string &value); -rule_ptr str(const std::string &value); -rule_ptr keyword(const std::string &value); -rule_ptr keypattern(const std::string &value); -rule_ptr err(const rule_ptr &rule); -rule_ptr prec(int precedence, rule_ptr rule); -rule_ptr token(rule_ptr rule); +rule_ptr choice(const std::vector &); +rule_ptr repeat(const rule_ptr &); +rule_ptr seq(const std::vector &); +rule_ptr sym(const std::string &); +rule_ptr pattern(const std::string &); +rule_ptr str(const std::string &); +rule_ptr keyword(const std::string &); +rule_ptr keypattern(const std::string &); +rule_ptr err(const rule_ptr &); +rule_ptr prec(int precedence, const rule_ptr &); +rule_ptr token(const rule_ptr &rule); std::ostream &operator<<(std::ostream &stream, const rules::rule_ptr &rule); @@ -45,17 +45,12 @@ class Grammar { Grammar &ubiquitous_tokens(const std::set &); }; -struct Conflict { - explicit Conflict(std::string description); - std::string description; - bool operator==(const Conflict &other) const; - bool operator<(const Conflict &other) const; -}; - enum GrammarErrorType { GrammarErrorTypeRegex, GrammarErrorTypeUndefinedSymbol, - GrammarErrorTypeInvalidUbiquitousToken + GrammarErrorTypeInvalidUbiquitousToken, + GrammarErrorTypeLexConflict, + GrammarErrorTypeParseConflict, }; class GrammarError { @@ -66,11 +61,9 @@ class GrammarError { std::string message; }; -std::tuple, const GrammarError *> compile( - const Grammar &grammar, std::string name); +std::pair compile(const Grammar &, std::string); std::ostream &operator<<(std::ostream &stream, const Grammar &grammar); -std::ostream &operator<<(std::ostream &stream, const Conflict &conflict); std::ostream &operator<<(std::ostream &stream, const GrammarError *error); } // namespace tree_sitter diff --git a/project.gyp b/project.gyp index e9737874..281f7fd8 100644 --- a/project.gyp +++ b/project.gyp @@ -25,7 +25,6 @@ 'src/compiler/build_tables/rule_can_be_blank.cc', 'src/compiler/build_tables/rule_transitions.cc', 'src/compiler/compile.cc', - 'src/compiler/conflict.cc', 'src/compiler/generate_code/c_code.cc', 'src/compiler/grammar.cc', 'src/compiler/lex_table.cc', diff --git a/spec/compiler/build_tables/action_takes_precedence_spec.cc b/spec/compiler/build_tables/action_takes_precedence_spec.cc index b894fb8c..b8a80611 100644 --- a/spec/compiler/build_tables/action_takes_precedence_spec.cc +++ b/spec/compiler/build_tables/action_takes_precedence_spec.cc @@ -59,7 +59,7 @@ describe("action_takes_precedence", []() { }); describe("parsing conflicts", [&]() { - pair result; + pair result; Symbol sym1(0); Symbol sym2(1); @@ -77,10 +77,10 @@ describe("action_takes_precedence", []() { it("is not a conflict", [&]() { result = action_takes_precedence(non_error, error, sym1); - AssertThat(result.second, IsFalse()); + AssertThat(result.second, Equals(ConflictTypeNone)); result = action_takes_precedence(error, non_error, sym1); - AssertThat(result.second, IsFalse()); + AssertThat(result.second, Equals(ConflictTypeNone)); }); }); @@ -91,10 +91,10 @@ describe("action_takes_precedence", []() { it("is not a conflict", [&]() { result = action_takes_precedence(shift, reduce, sym1); - AssertThat(result.second, IsFalse()); + AssertThat(result.second, Equals(ConflictTypeResolved)); result = action_takes_precedence(reduce, shift, sym1); - AssertThat(result.second, IsFalse()); + AssertThat(result.second, Equals(ConflictTypeResolved)); }); it("favors the shift", [&]() { @@ -112,10 +112,10 @@ describe("action_takes_precedence", []() { it("is not a conflict", [&]() { result = action_takes_precedence(shift, reduce, sym1); - AssertThat(result.second, IsFalse()); + AssertThat(result.second, Equals(ConflictTypeResolved)); result = action_takes_precedence(reduce, shift, sym1); - AssertThat(result.second, IsFalse()); + AssertThat(result.second, Equals(ConflictTypeResolved)); }); it("favors the reduce", [&]() { @@ -131,12 +131,13 @@ describe("action_takes_precedence", []() { ParseAction shift = ParseAction::Shift(2, { 0 }); ParseAction reduce = ParseAction::Reduce(sym2, 1, 0, 0); + // TODO: Add associativity annotations. These should be errors. it("is a conflict", [&]() { result = action_takes_precedence(reduce, shift, sym1); - AssertThat(result.second, IsTrue()); + AssertThat(result.second, Equals(ConflictTypeResolved)); result = action_takes_precedence(shift, reduce, sym1); - AssertThat(result.second, IsTrue()); + AssertThat(result.second, Equals(ConflictTypeResolved)); }); it("favors the shift", [&]() { @@ -152,12 +153,13 @@ describe("action_takes_precedence", []() { ParseAction shift = ParseAction::Shift(2, { 0, 1, 3 }); ParseAction reduce = ParseAction::Reduce(sym2, 1, 2, 0); + // TODO: Add associativity annotations. These should be errors. it("is a conflict", [&]() { result = action_takes_precedence(reduce, shift, sym1); - AssertThat(result.second, IsTrue()); + AssertThat(result.second, Equals(ConflictTypeResolved)); result = action_takes_precedence(shift, reduce, sym1); - AssertThat(result.second, IsTrue()); + AssertThat(result.second, Equals(ConflictTypeResolved)); }); it("favors the shift", [&]() { @@ -185,10 +187,10 @@ describe("action_takes_precedence", []() { it("is not a conflict", [&]() { result = action_takes_precedence(left, right, sym1); - AssertThat(result.second, IsFalse()); + AssertThat(result.second, Equals(ConflictTypeResolved)); result = action_takes_precedence(right, left, sym1); - AssertThat(result.second, IsFalse()); + AssertThat(result.second, Equals(ConflictTypeResolved)); }); }); @@ -196,9 +198,9 @@ describe("action_takes_precedence", []() { ParseAction left = ParseAction::Reduce(sym1, 1, 0, 0); ParseAction right = ParseAction::Reduce(sym2, 1, 0, 0); - it("favors the symbol listed earlier in the grammar", [&]() { + it("returns false", [&]() { result = action_takes_precedence(left, right, sym1); - AssertThat(result.first, IsTrue()); + AssertThat(result.first, IsFalse()); result = action_takes_precedence(right, left, sym1); AssertThat(result.first, IsFalse()); @@ -206,10 +208,10 @@ describe("action_takes_precedence", []() { it("records a conflict", [&]() { result = action_takes_precedence(left, right, sym1); - AssertThat(result.second, IsTrue()); + AssertThat(result.second, Equals(ConflictTypeError)); result = action_takes_precedence(right, left, sym1); - AssertThat(result.second, IsTrue()); + AssertThat(result.second, Equals(ConflictTypeError)); }); }); }); diff --git a/spec/compiler/build_tables/build_conflict_spec.cc b/spec/compiler/build_tables/build_conflict_spec.cc index acaecc2d..0ccbe6d5 100644 --- a/spec/compiler/build_tables/build_conflict_spec.cc +++ b/spec/compiler/build_tables/build_conflict_spec.cc @@ -9,7 +9,7 @@ using namespace build_tables; START_TEST describe("build_conflict", []() { - Conflict conflict(""); + string conflict; SyntaxGrammar parse_grammar({ { "in_progress_rule1", i_token(0) }, @@ -46,7 +46,7 @@ describe("build_conflict", []() { parse_grammar, lex_grammar ); - AssertThat(conflict.description, Equals( + AssertThat(conflict, Equals( "lookahead_token: " "shift ( in_progress_rule1 in_progress_rule2 ) / " "reduce ( reduced_rule )")); @@ -70,7 +70,7 @@ describe("build_conflict", []() { parse_grammar, lex_grammar ); - AssertThat(conflict.description, Equals( + AssertThat(conflict, Equals( "lookahead_token: " "shift ( in_progress_rule1 in_progress_rule2 ) / " "reduce ( reduced_rule )")); diff --git a/spec/compiler/compile_examples.cc b/spec/compiler/compile_examples.cc index a3a493c3..31931960 100644 --- a/spec/compiler/compile_examples.cc +++ b/spec/compiler/compile_examples.cc @@ -25,15 +25,11 @@ describe("compiling the example grammars", []() { auto compile_grammar = [&](const Grammar &grammar, string language) { it(("compiles the " + language + " grammar").c_str(), [&]() { auto result = compile(grammar, language); - string code = get<0>(result); - vector conflicts = get<1>(result); - const GrammarError *error = get<2>(result); + string code = result.first; + const GrammarError *error = result.second; AssertThat(error, Equals((GrammarError *)nullptr)); - // for (const auto &conflict : conflicts) - // std::cout << conflict << std::endl; - ofstream file(example_parser_dir + language + ".c"); file << get<0>(result); file.close(); diff --git a/spec/compiler/compile_spec.cc b/spec/compiler/compile_spec.cc index 772ce006..809d5ae3 100644 --- a/spec/compiler/compile_spec.cc +++ b/spec/compiler/compile_spec.cc @@ -13,7 +13,7 @@ describe("Compile", []() { }); auto result = compile(grammar, "test_grammar"); - const GrammarError *error = get<2>(result); + const GrammarError *error = result.second; AssertThat(error, Equals(nullptr)); }); }); diff --git a/spec/fixtures/grammars/javascript.cc b/spec/fixtures/grammars/javascript.cc index 932aaf89..d5a93f51 100644 --- a/spec/fixtures/grammars/javascript.cc +++ b/spec/fixtures/grammars/javascript.cc @@ -15,6 +15,7 @@ static rule_ptr terminated(rule_ptr rule) { enum { PREC_COMMA = -1, PREC_ASSIGN, + PREC_BLOCK, PREC_TERNARY, PREC_OR, PREC_AND, @@ -63,7 +64,8 @@ extern const Grammar javascript = Grammar({ sym("identifier"), sym("var_assignment") }))) })) }, - { "statement_block", in_braces(err(repeat(sym("statement")))) }, + { "statement_block", prec(PREC_BLOCK, + in_braces(err(repeat(sym("statement"))))) }, { "if_statement", seq({ keyword("if"), diff --git a/spec/fixtures/parsers/golang.c b/spec/fixtures/parsers/golang.c index c61ca57b..55ed400b 100644 --- a/spec/fixtures/parsers/golang.c +++ b/spec/fixtures/parsers/golang.c @@ -4670,22 +4670,22 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_STR_BANG] = SHIFT(217), }, [218] = { - [sym__line_break] = REDUCE(sym_bool_op, 2), + [sym__line_break] = REDUCE_FRAGILE(sym_bool_op, 2), [sym_comment] = SHIFT_EXTRA(), - [aux_sym_STR_LPAREN] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SEMI] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DOT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), }, [219] = { [sym__line_break] = REDUCE(sym_var_name, 1), @@ -4777,23 +4777,23 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_STR_BANG] = SHIFT(223), }, [224] = { - [sym_block_statement] = REDUCE(sym_bool_op, 2), + [sym_block_statement] = REDUCE_FRAGILE(sym_bool_op, 2), [sym__line_break] = SHIFT_EXTRA(), [sym_comment] = SHIFT_EXTRA(), - [aux_sym_STR_LPAREN] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LBRACE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DOT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LBRACE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), }, [225] = { [sym_var_declaration] = REDUCE(sym_if_statement, 3), @@ -5217,22 +5217,22 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [248] = { [sym__line_break] = SHIFT_EXTRA(), [sym_comment] = SHIFT_EXTRA(), - [aux_sym_call_expression_repeat0] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LPAREN] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_RPAREN] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DOT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), + [aux_sym_call_expression_repeat0] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), }, [249] = { [sym__line_break] = SHIFT_EXTRA(), @@ -6340,24 +6340,24 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_STR_BANG] = SHIFT(316), }, [317] = { - [sym__line_break] = REDUCE(sym_bool_op, 2), + [sym__line_break] = REDUCE_FRAGILE(sym_bool_op, 2), [sym_comment] = SHIFT_EXTRA(), - [aux_sym_return_statement_repeat0] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LPAREN] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SEMI] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DOT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), + [aux_sym_return_statement_repeat0] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), }, [318] = { [sym_var_declaration] = REDUCE(sym_return_statement, 3), diff --git a/spec/fixtures/parsers/javascript.c b/spec/fixtures/parsers/javascript.c index 51db11b4..deb94dba 100644 --- a/spec/fixtures/parsers/javascript.c +++ b/spec/fixtures/parsers/javascript.c @@ -8896,27 +8896,27 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { }, [26] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_type_op, 2), - [aux_sym_STR_SEMI] = REDUCE(sym_type_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_type_op, 2), + [sym__line_break] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LPAREN] = SHIFT(462), - [aux_sym_STR_in] = REDUCE(sym_type_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LBRACK] = SHIFT(451), [aux_sym_STR_DOT] = SHIFT(452), - [aux_sym_STR_QMARK] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_type_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_type_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(467), [aux_sym_STR_DASH_DASH] = SHIFT(467), - [aux_sym_STR_STAR] = REDUCE(sym_type_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_type_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_type_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_type_op, 2), }, [27] = { [sym_pair] = SHIFT(28), @@ -9027,9 +9027,9 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [33] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_object_repeat0] = REDUCE(sym_pair, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_pair, 3), - [aux_sym_STR_RBRACE] = REDUCE(sym_pair, 3), + [aux_sym_object_repeat0] = REDUCE_FRAGILE(sym_pair, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_pair, 3), + [aux_sym_STR_RBRACE] = REDUCE_FRAGILE(sym_pair, 3), [aux_sym_STR_LPAREN] = SHIFT(43), [aux_sym_STR_in] = SHIFT(1455), [aux_sym_STR_LBRACK] = SHIFT(44), @@ -9280,27 +9280,27 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [42] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_object_repeat0] = REDUCE(sym_type_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_type_op, 2), - [aux_sym_STR_RBRACE] = REDUCE(sym_type_op, 2), + [aux_sym_object_repeat0] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_RBRACE] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LPAREN] = SHIFT(43), - [aux_sym_STR_in] = REDUCE(sym_type_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LBRACK] = SHIFT(44), [aux_sym_STR_DOT] = SHIFT(45), - [aux_sym_STR_QMARK] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_type_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_type_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(46), [aux_sym_STR_DASH_DASH] = SHIFT(46), - [aux_sym_STR_STAR] = REDUCE(sym_type_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_type_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_type_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_type_op, 2), }, [43] = { [sym__paren_expression] = SHIFT(100), @@ -9721,26 +9721,26 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [59] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_type_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LPAREN] = SHIFT(60), - [aux_sym_STR_in] = REDUCE(sym_type_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LBRACK] = SHIFT(61), - [aux_sym_STR_RBRACK] = REDUCE(sym_type_op, 2), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_DOT] = SHIFT(62), - [aux_sym_STR_QMARK] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_type_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_type_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(63), [aux_sym_STR_DASH_DASH] = SHIFT(63), - [aux_sym_STR_STAR] = REDUCE(sym_type_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_type_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_type_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_type_op, 2), }, [60] = { [sym__paren_expression] = SHIFT(100), @@ -10620,26 +10620,26 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [91] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_type_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LPAREN] = SHIFT(92), - [aux_sym_STR_in] = REDUCE(sym_type_op, 2), - [aux_sym_STR_COLON] = REDUCE(sym_type_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_COLON] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LBRACK] = SHIFT(93), [aux_sym_STR_DOT] = SHIFT(94), - [aux_sym_STR_QMARK] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_type_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_type_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(95), [aux_sym_STR_DASH_DASH] = SHIFT(95), - [aux_sym_STR_STAR] = REDUCE(sym_type_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_type_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_type_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_type_op, 2), }, [92] = { [sym__paren_expression] = SHIFT(100), @@ -10974,26 +10974,26 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [107] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 3), - [aux_sym_STR_in] = REDUCE(sym_function_call, 3), - [aux_sym_STR_COLON] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 3), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 3), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_COLON] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 3), }, [108] = { [sym__paren_expression] = SHIFT(246), @@ -11150,27 +11150,27 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [113] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_arguments_repeat0] = REDUCE(sym_type_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_type_op, 2), + [aux_sym_arguments_repeat0] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LPAREN] = SHIFT(114), - [aux_sym_STR_RPAREN] = REDUCE(sym_type_op, 2), - [aux_sym_STR_in] = REDUCE(sym_type_op, 2), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LBRACK] = SHIFT(115), [aux_sym_STR_DOT] = SHIFT(116), - [aux_sym_STR_QMARK] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_type_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_type_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(117), [aux_sym_STR_DASH_DASH] = SHIFT(117), - [aux_sym_STR_STAR] = REDUCE(sym_type_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_type_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_type_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_type_op, 2), }, [114] = { [sym__paren_expression] = SHIFT(100), @@ -11382,27 +11382,27 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [124] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_arguments_repeat0] = REDUCE(sym_function_call, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 3), - [aux_sym_STR_RPAREN] = REDUCE(sym_function_call, 3), - [aux_sym_STR_in] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 3), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 3), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 3), + [aux_sym_arguments_repeat0] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 3), }, [125] = { [sym_comment] = SHIFT_EXTRA(), @@ -11449,27 +11449,27 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [127] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_arguments_repeat0] = REDUCE(sym_function_call, 4), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 4), - [aux_sym_STR_RPAREN] = REDUCE(sym_function_call, 4), - [aux_sym_STR_in] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 4), + [aux_sym_arguments_repeat0] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 4), }, [128] = { [sym_comment] = SHIFT_EXTRA(), @@ -11477,7 +11477,7 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_arguments_repeat0] = SHIFT(130), [aux_sym_STR_COMMA] = SHIFT(131), [aux_sym_STR_LPAREN] = SHIFT(114), - [aux_sym_STR_RPAREN] = REDUCE(aux_sym_arguments_repeat0, 2), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(aux_sym_arguments_repeat0, 2), [aux_sym_STR_in] = SHIFT(132), [aux_sym_STR_LBRACK] = SHIFT(115), [aux_sym_STR_DOT] = SHIFT(116), @@ -12578,7 +12578,7 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_arguments_repeat0] = SHIFT(130), [aux_sym_STR_COMMA] = SHIFT(131), [aux_sym_STR_LPAREN] = SHIFT(114), - [aux_sym_STR_RPAREN] = REDUCE(aux_sym_arguments_repeat0, 2), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(aux_sym_arguments_repeat0, 2), [aux_sym_STR_in] = SHIFT(132), [aux_sym_STR_LBRACK] = SHIFT(115), [aux_sym_STR_DOT] = SHIFT(116), @@ -12600,27 +12600,27 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [167] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_arguments_repeat0] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_bool_op, 2), + [aux_sym_arguments_repeat0] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LPAREN] = SHIFT(114), - [aux_sym_STR_RPAREN] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_in] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LBRACK] = SHIFT(115), [aux_sym_STR_DOT] = SHIFT(116), - [aux_sym_STR_QMARK] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(117), [aux_sym_STR_DASH_DASH] = SHIFT(117), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_bool_op, 2), }, [168] = { [sym_comment] = SHIFT_EXTRA(), @@ -12701,52 +12701,52 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [172] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_arguments_repeat0] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_RPAREN] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 4), + [aux_sym_arguments_repeat0] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 4), }, [173] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_arguments_repeat0] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_RPAREN] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 5), + [aux_sym_arguments_repeat0] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 5), }, [174] = { [sym_comment] = SHIFT_EXTRA(), @@ -13570,25 +13570,25 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [209] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_type_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LPAREN] = SHIFT(210), - [aux_sym_STR_in] = REDUCE(sym_type_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LBRACK] = SHIFT(211), [aux_sym_STR_DOT] = SHIFT(212), - [aux_sym_STR_QMARK] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_type_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_type_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(213), [aux_sym_STR_DASH_DASH] = SHIFT(213), - [aux_sym_STR_STAR] = REDUCE(sym_type_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_type_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_type_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_type_op, 2), }, [210] = { [sym__paren_expression] = SHIFT(100), @@ -13794,71 +13794,71 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [220] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 3), - [aux_sym_STR_in] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 3), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 3), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 3), }, [221] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 4), - [aux_sym_STR_in] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 4), }, [222] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LPAREN] = SHIFT(210), - [aux_sym_STR_in] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LBRACK] = SHIFT(211), [aux_sym_STR_DOT] = SHIFT(212), - [aux_sym_STR_QMARK] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(213), [aux_sym_STR_DASH_DASH] = SHIFT(213), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_bool_op, 2), }, [223] = { [sym_comment] = SHIFT_EXTRA(), @@ -13937,48 +13937,48 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [227] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 4), }, [228] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 5), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 5), }, [229] = { [sym_comment] = SHIFT_EXTRA(), @@ -14609,27 +14609,27 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [258] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_array_repeat0] = REDUCE(sym_type_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_type_op, 2), + [aux_sym_array_repeat0] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LPAREN] = SHIFT(259), - [aux_sym_STR_in] = REDUCE(sym_type_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LBRACK] = SHIFT(260), - [aux_sym_STR_RBRACK] = REDUCE(sym_type_op, 2), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_DOT] = SHIFT(261), - [aux_sym_STR_QMARK] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_type_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_type_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(262), [aux_sym_STR_DASH_DASH] = SHIFT(262), - [aux_sym_STR_STAR] = REDUCE(sym_type_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_type_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_type_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_type_op, 2), }, [259] = { [sym__paren_expression] = SHIFT(100), @@ -14841,77 +14841,77 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [269] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_array_repeat0] = REDUCE(sym_function_call, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 3), - [aux_sym_STR_in] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_RBRACK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 3), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 3), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 3), + [aux_sym_array_repeat0] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 3), }, [270] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_array_repeat0] = REDUCE(sym_function_call, 4), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 4), - [aux_sym_STR_in] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_RBRACK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 4), + [aux_sym_array_repeat0] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 4), }, [271] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_array_repeat0] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_bool_op, 2), + [aux_sym_array_repeat0] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LPAREN] = SHIFT(259), - [aux_sym_STR_in] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LBRACK] = SHIFT(260), - [aux_sym_STR_RBRACK] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_DOT] = SHIFT(261), - [aux_sym_STR_QMARK] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(262), [aux_sym_STR_DASH_DASH] = SHIFT(262), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_bool_op, 2), }, [272] = { [sym_comment] = SHIFT_EXTRA(), @@ -14992,52 +14992,52 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [276] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_array_repeat0] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_RBRACK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 4), + [aux_sym_array_repeat0] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 4), }, [277] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_array_repeat0] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_RBRACK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 5), + [aux_sym_array_repeat0] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 5), }, [278] = { [sym_comment] = SHIFT_EXTRA(), @@ -15417,7 +15417,7 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_STR_LPAREN] = SHIFT(259), [aux_sym_STR_in] = SHIFT(304), [aux_sym_STR_LBRACK] = SHIFT(260), - [aux_sym_STR_RBRACK] = REDUCE(aux_sym_array_repeat0, 2), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(aux_sym_array_repeat0, 2), [aux_sym_STR_DOT] = SHIFT(261), [aux_sym_STR_QMARK] = SHIFT(305), [aux_sym_STR_PIPE_PIPE] = SHIFT(306), @@ -15978,7 +15978,7 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [aux_sym_STR_LPAREN] = SHIFT(259), [aux_sym_STR_in] = SHIFT(304), [aux_sym_STR_LBRACK] = SHIFT(260), - [aux_sym_STR_RBRACK] = REDUCE(aux_sym_array_repeat0, 2), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(aux_sym_array_repeat0, 2), [aux_sym_STR_DOT] = SHIFT(261), [aux_sym_STR_QMARK] = SHIFT(305), [aux_sym_STR_PIPE_PIPE] = SHIFT(306), @@ -16303,26 +16303,26 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [333] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_type_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LPAREN] = SHIFT(334), - [aux_sym_STR_RPAREN] = REDUCE(sym_type_op, 2), - [aux_sym_STR_in] = REDUCE(sym_type_op, 2), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LBRACK] = SHIFT(335), [aux_sym_STR_DOT] = SHIFT(336), - [aux_sym_STR_QMARK] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_type_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_type_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(337), [aux_sym_STR_DASH_DASH] = SHIFT(337), - [aux_sym_STR_STAR] = REDUCE(sym_type_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_type_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_type_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_type_op, 2), }, [334] = { [sym__paren_expression] = SHIFT(100), @@ -16531,74 +16531,74 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [344] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 3), - [aux_sym_STR_RPAREN] = REDUCE(sym_function_call, 3), - [aux_sym_STR_in] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 3), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 3), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 3), }, [345] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 4), - [aux_sym_STR_RPAREN] = REDUCE(sym_function_call, 4), - [aux_sym_STR_in] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 4), }, [346] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LPAREN] = SHIFT(334), - [aux_sym_STR_RPAREN] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_in] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LBRACK] = SHIFT(335), [aux_sym_STR_DOT] = SHIFT(336), - [aux_sym_STR_QMARK] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(337), [aux_sym_STR_DASH_DASH] = SHIFT(337), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_bool_op, 2), }, [347] = { [sym_comment] = SHIFT_EXTRA(), @@ -16678,50 +16678,50 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [351] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_RPAREN] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 4), }, [352] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_RPAREN] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 5), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 5), }, [353] = { [sym_comment] = SHIFT_EXTRA(), @@ -17870,9 +17870,9 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [407] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_math_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(334), - [aux_sym_STR_RPAREN] = REDUCE(sym_math_assignment, 3), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_in] = SHIFT(379), [aux_sym_STR_LBRACK] = SHIFT(335), [aux_sym_STR_DOT] = SHIFT(336), @@ -17894,9 +17894,9 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [408] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(334), - [aux_sym_STR_RPAREN] = REDUCE(sym_assignment, 3), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_in] = SHIFT(379), [aux_sym_STR_LBRACK] = SHIFT(335), [aux_sym_STR_DOT] = SHIFT(336), @@ -18128,12 +18128,12 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [419] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_array_repeat0] = REDUCE(sym_math_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_math_assignment, 3), + [aux_sym_array_repeat0] = REDUCE_FRAGILE(sym_math_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(259), [aux_sym_STR_in] = SHIFT(304), [aux_sym_STR_LBRACK] = SHIFT(260), - [aux_sym_STR_RBRACK] = REDUCE(sym_math_assignment, 3), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_DOT] = SHIFT(261), [aux_sym_STR_QMARK] = SHIFT(305), [aux_sym_STR_PIPE_PIPE] = SHIFT(306), @@ -18153,12 +18153,12 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [420] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_array_repeat0] = REDUCE(sym_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_assignment, 3), + [aux_sym_array_repeat0] = REDUCE_FRAGILE(sym_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(259), [aux_sym_STR_in] = SHIFT(304), [aux_sym_STR_LBRACK] = SHIFT(260), - [aux_sym_STR_RBRACK] = REDUCE(sym_assignment, 3), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_DOT] = SHIFT(261), [aux_sym_STR_QMARK] = SHIFT(305), [aux_sym_STR_PIPE_PIPE] = SHIFT(306), @@ -18383,7 +18383,7 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [431] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_math_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(210), [aux_sym_STR_in] = SHIFT(432), [aux_sym_STR_LBRACK] = SHIFT(211), @@ -18879,7 +18879,7 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [448] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(210), [aux_sym_STR_in] = SHIFT(432), [aux_sym_STR_LBRACK] = SHIFT(211), @@ -19935,51 +19935,51 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { }, [482] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_function_call, 3), - [aux_sym_STR_SEMI] = REDUCE(sym_function_call, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 3), - [aux_sym_STR_in] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 3), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 3), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 3), + [sym__line_break] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 3), }, [483] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_function_call, 4), - [aux_sym_STR_SEMI] = REDUCE(sym_function_call, 4), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 4), - [aux_sym_STR_in] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 4), + [sym__line_break] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 4), }, [484] = { [sym_comment] = SHIFT_EXTRA(), @@ -21847,26 +21847,26 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [535] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_SEMI] = REDUCE(sym_type_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_type_op, 2), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LPAREN] = SHIFT(536), - [aux_sym_STR_in] = REDUCE(sym_type_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LBRACK] = SHIFT(537), [aux_sym_STR_DOT] = SHIFT(538), - [aux_sym_STR_QMARK] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_type_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_type_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(539), [aux_sym_STR_DASH_DASH] = SHIFT(539), - [aux_sym_STR_STAR] = REDUCE(sym_type_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_type_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_type_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_type_op, 2), }, [536] = { [sym__paren_expression] = SHIFT(100), @@ -22075,74 +22075,74 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [546] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_SEMI] = REDUCE(sym_function_call, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 3), - [aux_sym_STR_in] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 3), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 3), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 3), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 3), }, [547] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_SEMI] = REDUCE(sym_function_call, 4), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 4), - [aux_sym_STR_in] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 4), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 4), }, [548] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_SEMI] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LPAREN] = SHIFT(536), - [aux_sym_STR_in] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LBRACK] = SHIFT(537), [aux_sym_STR_DOT] = SHIFT(538), - [aux_sym_STR_QMARK] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(539), [aux_sym_STR_DASH_DASH] = SHIFT(539), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_bool_op, 2), }, [549] = { [sym_comment] = SHIFT_EXTRA(), @@ -22222,50 +22222,50 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [553] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_SEMI] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 4), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 4), }, [554] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_SEMI] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 5), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 5), }, [555] = { [sym_comment] = SHIFT_EXTRA(), @@ -22923,10 +22923,10 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { }, [593] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_var_assignment, 3), - [aux_sym_var_declaration_repeat0] = REDUCE(sym_var_assignment, 3), - [aux_sym_STR_SEMI] = REDUCE(sym_var_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_var_assignment, 3), + [sym__line_break] = REDUCE_FRAGILE(sym_var_assignment, 3), + [aux_sym_var_declaration_repeat0] = REDUCE_FRAGILE(sym_var_assignment, 3), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_var_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_var_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(603), [aux_sym_STR_in] = SHIFT(655), [aux_sym_STR_LBRACK] = SHIFT(604), @@ -23176,28 +23176,28 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { }, [602] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_type_op, 2), - [aux_sym_var_declaration_repeat0] = REDUCE(sym_type_op, 2), - [aux_sym_STR_SEMI] = REDUCE(sym_type_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_type_op, 2), + [sym__line_break] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_var_declaration_repeat0] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LPAREN] = SHIFT(603), - [aux_sym_STR_in] = REDUCE(sym_type_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_LBRACK] = SHIFT(604), [aux_sym_STR_DOT] = SHIFT(605), - [aux_sym_STR_QMARK] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_type_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_type_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_type_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(606), [aux_sym_STR_DASH_DASH] = SHIFT(606), - [aux_sym_STR_STAR] = REDUCE(sym_type_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_type_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_type_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_type_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_type_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_type_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_type_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_type_op, 2), }, [603] = { [sym__paren_expression] = SHIFT(100), @@ -23408,78 +23408,78 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { }, [613] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_function_call, 3), - [aux_sym_var_declaration_repeat0] = REDUCE(sym_function_call, 3), - [aux_sym_STR_SEMI] = REDUCE(sym_function_call, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 3), - [aux_sym_STR_in] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 3), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 3), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 3), + [sym__line_break] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_var_declaration_repeat0] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 3), }, [614] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_function_call, 4), - [aux_sym_var_declaration_repeat0] = REDUCE(sym_function_call, 4), - [aux_sym_STR_SEMI] = REDUCE(sym_function_call, 4), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 4), - [aux_sym_STR_in] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 4), + [sym__line_break] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_var_declaration_repeat0] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 4), }, [615] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_bool_op, 2), - [aux_sym_var_declaration_repeat0] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SEMI] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_bool_op, 2), + [sym__line_break] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_var_declaration_repeat0] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LPAREN] = SHIFT(603), - [aux_sym_STR_in] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LBRACK] = SHIFT(604), [aux_sym_STR_DOT] = SHIFT(605), - [aux_sym_STR_QMARK] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(606), [aux_sym_STR_DASH_DASH] = SHIFT(606), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_bool_op, 2), }, [616] = { [sym_comment] = SHIFT_EXTRA(), @@ -23559,53 +23559,53 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { }, [620] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_constructor_call, 4), - [aux_sym_var_declaration_repeat0] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_SEMI] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 4), + [sym__line_break] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_var_declaration_repeat0] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 4), }, [621] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_constructor_call, 5), - [aux_sym_var_declaration_repeat0] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_SEMI] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 5), + [sym__line_break] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_var_declaration_repeat0] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 5), }, [622] = { [sym_comment] = SHIFT_EXTRA(), @@ -24180,10 +24180,10 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { }, [654] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_math_assignment, 3), - [aux_sym_var_declaration_repeat0] = REDUCE(sym_math_assignment, 3), - [aux_sym_STR_SEMI] = REDUCE(sym_math_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_math_assignment, 3), + [sym__line_break] = REDUCE_FRAGILE(sym_math_assignment, 3), + [aux_sym_var_declaration_repeat0] = REDUCE_FRAGILE(sym_math_assignment, 3), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_math_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(603), [aux_sym_STR_in] = SHIFT(655), [aux_sym_STR_LBRACK] = SHIFT(604), @@ -24692,10 +24692,10 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { }, [671] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_assignment, 3), - [aux_sym_var_declaration_repeat0] = REDUCE(sym_assignment, 3), - [aux_sym_STR_SEMI] = REDUCE(sym_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_assignment, 3), + [sym__line_break] = REDUCE_FRAGILE(sym_assignment, 3), + [aux_sym_var_declaration_repeat0] = REDUCE_FRAGILE(sym_assignment, 3), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(603), [aux_sym_STR_in] = SHIFT(655), [aux_sym_STR_LBRACK] = SHIFT(604), @@ -25032,8 +25032,8 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [682] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_SEMI] = REDUCE(sym_math_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_math_assignment, 3), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_math_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(536), [aux_sym_STR_in] = SHIFT(683), [aux_sym_STR_LBRACK] = SHIFT(537), @@ -25536,8 +25536,8 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [699] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_SEMI] = REDUCE(sym_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_assignment, 3), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(536), [aux_sym_STR_in] = SHIFT(683), [aux_sym_STR_LBRACK] = SHIFT(537), @@ -34544,9 +34544,9 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { }, [935] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_math_assignment, 3), - [aux_sym_STR_SEMI] = REDUCE(sym_math_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_math_assignment, 3), + [sym__line_break] = REDUCE_FRAGILE(sym_math_assignment, 3), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_math_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(462), [aux_sym_STR_in] = SHIFT(463), [aux_sym_STR_LBRACK] = SHIFT(451), @@ -34568,9 +34568,9 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { }, [936] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_assignment, 3), - [aux_sym_STR_SEMI] = REDUCE(sym_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_assignment, 3), + [sym__line_break] = REDUCE_FRAGILE(sym_assignment, 3), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(462), [aux_sym_STR_in] = SHIFT(463), [aux_sym_STR_LBRACK] = SHIFT(451), @@ -49167,26 +49167,26 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1315] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 4), - [aux_sym_STR_in] = REDUCE(sym_function_call, 4), - [aux_sym_STR_COLON] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_COLON] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 4), }, [1316] = { [sym__paren_expression] = SHIFT(100), @@ -49263,10 +49263,10 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1318] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_arguments_repeat0] = REDUCE(sym_math_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_math_assignment, 3), + [aux_sym_arguments_repeat0] = REDUCE_FRAGILE(sym_math_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(114), - [aux_sym_STR_RPAREN] = REDUCE(sym_math_assignment, 3), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_in] = SHIFT(132), [aux_sym_STR_LBRACK] = SHIFT(115), [aux_sym_STR_DOT] = SHIFT(116), @@ -49288,10 +49288,10 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1319] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_arguments_repeat0] = REDUCE(sym_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_assignment, 3), + [aux_sym_arguments_repeat0] = REDUCE_FRAGILE(sym_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(114), - [aux_sym_STR_RPAREN] = REDUCE(sym_assignment, 3), + [aux_sym_STR_RPAREN] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_in] = SHIFT(132), [aux_sym_STR_LBRACK] = SHIFT(115), [aux_sym_STR_DOT] = SHIFT(116), @@ -49313,26 +49313,26 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1320] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LPAREN] = SHIFT(92), - [aux_sym_STR_in] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_COLON] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_COLON] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LBRACK] = SHIFT(93), [aux_sym_STR_DOT] = SHIFT(94), - [aux_sym_STR_QMARK] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(95), [aux_sym_STR_DASH_DASH] = SHIFT(95), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_bool_op, 2), }, [1321] = { [sym_comment] = SHIFT_EXTRA(), @@ -49412,50 +49412,50 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1325] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_COLON] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_COLON] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 4), }, [1326] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_COLON] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 5), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_COLON] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 5), }, [1327] = { [sym_comment] = SHIFT_EXTRA(), @@ -50019,10 +50019,10 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1359] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_math_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(92), [aux_sym_STR_in] = SHIFT(146), - [aux_sym_STR_COLON] = REDUCE(sym_math_assignment, 3), + [aux_sym_STR_COLON] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_LBRACK] = SHIFT(93), [aux_sym_STR_DOT] = SHIFT(94), [aux_sym_STR_QMARK] = SHIFT(148), @@ -50043,10 +50043,10 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1360] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(92), [aux_sym_STR_in] = SHIFT(146), - [aux_sym_STR_COLON] = REDUCE(sym_assignment, 3), + [aux_sym_STR_COLON] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_LBRACK] = SHIFT(93), [aux_sym_STR_DOT] = SHIFT(94), [aux_sym_STR_QMARK] = SHIFT(148), @@ -50187,74 +50187,74 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1367] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 3), - [aux_sym_STR_in] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_RBRACK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 3), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 3), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 3), }, [1368] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 4), - [aux_sym_STR_in] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_RBRACK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 4), }, [1369] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LPAREN] = SHIFT(60), - [aux_sym_STR_in] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LBRACK] = SHIFT(61), - [aux_sym_STR_RBRACK] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_DOT] = SHIFT(62), - [aux_sym_STR_QMARK] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(63), [aux_sym_STR_DASH_DASH] = SHIFT(63), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_bool_op, 2), }, [1370] = { [sym_comment] = SHIFT_EXTRA(), @@ -50334,50 +50334,50 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1374] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_RBRACK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 4), }, [1375] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_RBRACK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 5), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 5), }, [1376] = { [sym_comment] = SHIFT_EXTRA(), @@ -50971,11 +50971,11 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1409] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_math_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(60), [aux_sym_STR_in] = SHIFT(69), [aux_sym_STR_LBRACK] = SHIFT(61), - [aux_sym_STR_RBRACK] = REDUCE(sym_math_assignment, 3), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_DOT] = SHIFT(62), [aux_sym_STR_QMARK] = SHIFT(70), [aux_sym_STR_PIPE_PIPE] = SHIFT(71), @@ -50995,11 +50995,11 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1410] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_STR_COMMA] = REDUCE(sym_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(60), [aux_sym_STR_in] = SHIFT(69), [aux_sym_STR_LBRACK] = SHIFT(61), - [aux_sym_STR_RBRACK] = REDUCE(sym_assignment, 3), + [aux_sym_STR_RBRACK] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_DOT] = SHIFT(62), [aux_sym_STR_QMARK] = SHIFT(70), [aux_sym_STR_PIPE_PIPE] = SHIFT(71), @@ -51031,77 +51031,77 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1413] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_object_repeat0] = REDUCE(sym_function_call, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 3), - [aux_sym_STR_RBRACE] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 3), - [aux_sym_STR_in] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 3), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 3), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 3), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 3), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 3), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 3), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 3), + [aux_sym_object_repeat0] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_RBRACE] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 3), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 3), }, [1414] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_object_repeat0] = REDUCE(sym_function_call, 4), - [aux_sym_STR_COMMA] = REDUCE(sym_function_call, 4), - [aux_sym_STR_RBRACE] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_function_call, 4), - [aux_sym_STR_in] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_function_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_function_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_function_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_function_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_function_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_function_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_function_call, 4), + [aux_sym_object_repeat0] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_RBRACE] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_function_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_function_call, 4), }, [1415] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_object_repeat0] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_RBRACE] = REDUCE(sym_bool_op, 2), + [aux_sym_object_repeat0] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_RBRACE] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LPAREN] = SHIFT(43), - [aux_sym_STR_in] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LBRACK] = SHIFT(44), [aux_sym_STR_DOT] = SHIFT(45), - [aux_sym_STR_QMARK] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(46), [aux_sym_STR_DASH_DASH] = SHIFT(46), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_bool_op, 2), }, [1416] = { [sym_comment] = SHIFT_EXTRA(), @@ -51182,52 +51182,52 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1420] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_object_repeat0] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_RBRACE] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 4), + [aux_sym_object_repeat0] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_RBRACE] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 4), }, [1421] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_object_repeat0] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_RBRACE] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 5), + [aux_sym_object_repeat0] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_RBRACE] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 5), }, [1422] = { [sym_comment] = SHIFT_EXTRA(), @@ -51803,9 +51803,9 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1454] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_object_repeat0] = REDUCE(sym_math_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_math_assignment, 3), - [aux_sym_STR_RBRACE] = REDUCE(sym_math_assignment, 3), + [aux_sym_object_repeat0] = REDUCE_FRAGILE(sym_math_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_math_assignment, 3), + [aux_sym_STR_RBRACE] = REDUCE_FRAGILE(sym_math_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(43), [aux_sym_STR_in] = SHIFT(1455), [aux_sym_STR_LBRACK] = SHIFT(44), @@ -52315,9 +52315,9 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { [1471] = { [sym_comment] = SHIFT_EXTRA(), [sym__line_break] = SHIFT_EXTRA(), - [aux_sym_object_repeat0] = REDUCE(sym_assignment, 3), - [aux_sym_STR_COMMA] = REDUCE(sym_assignment, 3), - [aux_sym_STR_RBRACE] = REDUCE(sym_assignment, 3), + [aux_sym_object_repeat0] = REDUCE_FRAGILE(sym_assignment, 3), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_assignment, 3), + [aux_sym_STR_RBRACE] = REDUCE_FRAGILE(sym_assignment, 3), [aux_sym_STR_LPAREN] = SHIFT(43), [aux_sym_STR_in] = SHIFT(1455), [aux_sym_STR_LBRACK] = SHIFT(44), @@ -52363,27 +52363,27 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { }, [1473] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SEMI] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_COMMA] = REDUCE(sym_bool_op, 2), + [sym__line_break] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LPAREN] = SHIFT(462), - [aux_sym_STR_in] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_LBRACK] = SHIFT(451), [aux_sym_STR_DOT] = SHIFT(452), - [aux_sym_STR_QMARK] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_bool_op, 2), [aux_sym_STR_PLUS_PLUS] = SHIFT(467), [aux_sym_STR_DASH_DASH] = SHIFT(467), - [aux_sym_STR_STAR] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_SLASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_PLUS] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_DASH] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_LT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_GT] = REDUCE(sym_bool_op, 2), - [aux_sym_STR_instanceof] = REDUCE(sym_bool_op, 2), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_bool_op, 2), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_bool_op, 2), }, [1474] = { [sym_comment] = SHIFT_EXTRA(), @@ -52462,51 +52462,51 @@ static const TSParseAction ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = { }, [1478] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_SEMI] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 4), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 4), + [sym__line_break] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 4), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 4), }, [1479] = { [sym_comment] = SHIFT_EXTRA(), - [sym__line_break] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_SEMI] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_COMMA] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LPAREN] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_in] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LBRACK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DOT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_QMARK] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PIPE_PIPE] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_AMP_AMP] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_STAR] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_SLASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_PLUS] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_DASH] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_EQ_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_BANG_EQ_EQ] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_LT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_GT] = REDUCE(sym_constructor_call, 5), - [aux_sym_STR_instanceof] = REDUCE(sym_constructor_call, 5), + [sym__line_break] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_SEMI] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_COMMA] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LPAREN] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_in] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LBRACK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DOT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_QMARK] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PIPE_PIPE] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_AMP_AMP] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_STAR] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_SLASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_PLUS] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_DASH] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_EQ_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_BANG_EQ_EQ] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_LT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_GT] = REDUCE_FRAGILE(sym_constructor_call, 5), + [aux_sym_STR_instanceof] = REDUCE_FRAGILE(sym_constructor_call, 5), }, [1480] = { [sym_comment] = SHIFT_EXTRA(), diff --git a/src/compiler/build_tables/action_takes_precedence.cc b/src/compiler/build_tables/action_takes_precedence.cc index c8d0890b..9670cf94 100644 --- a/src/compiler/build_tables/action_takes_precedence.cc +++ b/src/compiler/build_tables/action_takes_precedence.cc @@ -1,70 +1,63 @@ #include "compiler/build_tables/action_takes_precedence.h" +#include + namespace tree_sitter { namespace build_tables { using std::pair; -pair action_takes_precedence(const ParseAction &new_action, - const ParseAction &old_action, - const rules::Symbol &symbol) { +pair +action_takes_precedence(const ParseAction &new_action, + const ParseAction &old_action, + const rules::Symbol &symbol) { if (new_action.type < old_action.type) { auto opposite = action_takes_precedence(old_action, new_action, symbol); return { !opposite.first, opposite.second }; } - bool has_precedence = false, has_conflict = false; - switch (old_action.type) { case ParseActionTypeError: - has_precedence = true; - break; + return { true, ConflictTypeNone }; - case ParseActionTypeShift: { - int min_precedence = *old_action.precedence_values.begin(); - int max_precedence = *old_action.precedence_values.rbegin(); - switch (new_action.type) { - case ParseActionTypeReduce: { - int new_precedence = *new_action.precedence_values.rbegin(); - if (new_precedence < max_precedence) { - if (new_precedence > min_precedence) - has_conflict = true; - } else if (new_precedence > max_precedence) { - has_precedence = true; - } else { - has_conflict = true; - } - break; + case ParseActionTypeShift: + if (new_action.type == ParseActionTypeReduce) { + int min_precedence = *old_action.precedence_values.begin(); + int max_precedence = *old_action.precedence_values.rbegin(); + int new_precedence = *new_action.precedence_values.rbegin(); + if (new_precedence < min_precedence) + return { false, ConflictTypeResolved }; + else if (new_precedence > max_precedence) + return { true, ConflictTypeResolved }; + else { + + // TODO: Add associativity annotations. In the event of a precedence + // tie, return ConflictTypeError unless there is an associativity + // annotation to break the tie. + return { false, ConflictTypeResolved }; } - default: - break; } break; - } case ParseActionTypeReduce: - switch (new_action.type) { - case ParseActionTypeReduce: { - int old_precedence = *old_action.precedence_values.begin(); - int new_precedence = *new_action.precedence_values.begin(); - if (new_precedence > old_precedence) { - has_precedence = true; - } else if (new_precedence == old_precedence) { - has_precedence = new_action.symbol.index < old_action.symbol.index; - has_conflict = true; - } - break; + if (new_action.type == ParseActionTypeReduce) { + int old_precedence = *old_action.precedence_values.begin(); + int new_precedence = *new_action.precedence_values.begin(); + if (new_precedence > old_precedence) { + return { true, ConflictTypeResolved }; + } else if (new_precedence < old_precedence) { + return { false, ConflictTypeResolved }; + } else { + return { false, ConflictTypeError }; } - default: - break; } default: break; } - return { has_precedence, has_conflict }; + return { false, ConflictTypeNone }; } bool action_takes_precedence(const LexAction &new_action, diff --git a/src/compiler/build_tables/action_takes_precedence.h b/src/compiler/build_tables/action_takes_precedence.h index 79603611..09273898 100644 --- a/src/compiler/build_tables/action_takes_precedence.h +++ b/src/compiler/build_tables/action_takes_precedence.h @@ -10,9 +10,16 @@ namespace tree_sitter { namespace build_tables { -std::pair action_takes_precedence(const ParseAction &new_action, - const ParseAction &old_action, - const rules::Symbol &symbol); +enum ConflictType { + ConflictTypeNone, + ConflictTypeResolved, + ConflictTypeError +}; + +std::pair +action_takes_precedence(const ParseAction &new_action, + const ParseAction &old_action, + const rules::Symbol &symbol); bool action_takes_precedence(const LexAction &new_action, const LexAction &old_action); diff --git a/src/compiler/build_tables/build_conflict.cc b/src/compiler/build_tables/build_conflict.cc index 0928a62a..bb37fa2a 100644 --- a/src/compiler/build_tables/build_conflict.cc +++ b/src/compiler/build_tables/build_conflict.cc @@ -57,17 +57,18 @@ static string action_description(const ParseAction &action, } } -Conflict build_conflict(const ParseAction &left, const ParseAction &right, +string build_conflict(const ParseAction &left, const ParseAction &right, const ParseItemSet &item_set, const Symbol &sym, const SyntaxGrammar &grammar, const LexicalGrammar &lex_grammar) { if (right < left) return build_conflict(right, left, item_set, sym, grammar, lex_grammar); - return Conflict(symbol_name(sym, grammar, lex_grammar) + ": " + - action_description(left, item_set, grammar, lex_grammar) + - " / " + - action_description(right, item_set, grammar, lex_grammar)); + return symbol_name(sym, grammar, lex_grammar) + + ": " + + action_description(left, item_set, grammar, lex_grammar) + + " / " + + action_description(right, item_set, grammar, lex_grammar); } } // namespace build_tables diff --git a/src/compiler/build_tables/build_conflict.h b/src/compiler/build_tables/build_conflict.h index 4e47a0ff..51c2c891 100644 --- a/src/compiler/build_tables/build_conflict.h +++ b/src/compiler/build_tables/build_conflict.h @@ -13,9 +13,9 @@ class LexicalGrammar; namespace build_tables { -Conflict build_conflict(const ParseAction &left, const ParseAction &right, - const ParseItemSet &item_set, const rules::Symbol &, - const SyntaxGrammar &, const LexicalGrammar &); +std::string build_conflict(const ParseAction &, const ParseAction &, + const ParseItemSet &, const rules::Symbol &, + const SyntaxGrammar &, const LexicalGrammar &); } // namespace build_tables } // namespace tree_sitter diff --git a/src/compiler/build_tables/build_parse_table.cc b/src/compiler/build_tables/build_parse_table.cc index f95fc11f..93939125 100644 --- a/src/compiler/build_tables/build_parse_table.cc +++ b/src/compiler/build_tables/build_parse_table.cc @@ -35,14 +35,14 @@ class ParseTableBuilder { vector> productions; vector> item_sets_to_process; ParseTable parse_table; - std::set conflicts; + std::set conflicts; public: ParseTableBuilder(const SyntaxGrammar &grammar, const LexicalGrammar &lex_grammar) : grammar(grammar), lex_grammar(lex_grammar) {} - pair> build() { + pair build() { auto start_symbol = grammar.rules.empty() ? make_shared(0, rules::SymbolOptionToken) : make_shared(0); @@ -59,6 +59,12 @@ class ParseTableBuilder { add_reduce_actions(item_set, state_id); add_shift_actions(item_set, state_id); add_shift_extra_actions(state_id); + + if (!conflicts.empty()) + return { + parse_table, + new GrammarError(GrammarErrorTypeParseConflict, *conflicts.begin()) + }; } for (ParseStateId state = 0; state < parse_table.states.size(); state++) @@ -67,7 +73,7 @@ class ParseTableBuilder { parse_table.symbols.insert(rules::ERROR()); parse_table.symbols.insert(rules::DOCUMENT()); - return { parse_table, conflicts_vector() }; + return { parse_table, nullptr }; } private: @@ -162,13 +168,18 @@ class ParseTableBuilder { auto result = action_takes_precedence(action, current_action->second, symbol); - if (result.second) { - record_conflict(symbol, current_action->second, action, item_set); - - if (action.type == ParseActionTypeReduce) - parse_table.fragile_production_ids.insert(action.production_id); - if (current_action->second.type == ParseActionTypeReduce) - parse_table.fragile_production_ids.insert(current_action->second.production_id); + switch (result.second) { + case ConflictTypeResolved: + if (action.type == ParseActionTypeReduce) + parse_table.fragile_production_ids.insert(action.production_id); + if (current_action->second.type == ParseActionTypeReduce) + parse_table.fragile_production_ids.insert(current_action->second.production_id); + break; + case ConflictTypeError: + record_conflict(symbol, current_action->second, action, item_set); + break; + default: + break; } return result.first; @@ -197,18 +208,17 @@ class ParseTableBuilder { void record_conflict(const Symbol &sym, const ParseAction &left, const ParseAction &right, const ParseItemSet &item_set) { - conflicts.insert( - build_conflict(left, right, item_set, sym, grammar, lex_grammar)); + conflicts.insert(build_conflict(left, right, item_set, sym, grammar, lex_grammar)); } - vector conflicts_vector() const { - vector result; + vector conflicts_vector() const { + vector result; result.insert(result.end(), conflicts.begin(), conflicts.end()); return result; } }; -pair> build_parse_table( +pair build_parse_table( const SyntaxGrammar &grammar, const LexicalGrammar &lex_grammar) { return ParseTableBuilder(grammar, lex_grammar).build(); } diff --git a/src/compiler/build_tables/build_parse_table.h b/src/compiler/build_tables/build_parse_table.h index f0e5d6fc..919e4db9 100644 --- a/src/compiler/build_tables/build_parse_table.h +++ b/src/compiler/build_tables/build_parse_table.h @@ -13,8 +13,8 @@ class LexicalGrammar; namespace build_tables { -std::pair> build_parse_table( - const SyntaxGrammar &, const LexicalGrammar &); +std::pair +build_parse_table(const SyntaxGrammar &, const LexicalGrammar &); } // namespace build_tables } // namespace tree_sitter diff --git a/src/compiler/build_tables/build_tables.cc b/src/compiler/build_tables/build_tables.cc index c4fd7681..3ec47be7 100644 --- a/src/compiler/build_tables/build_tables.cc +++ b/src/compiler/build_tables/build_tables.cc @@ -6,17 +6,18 @@ namespace tree_sitter { namespace build_tables { +using std::string; using std::tuple; using std::vector; using std::make_tuple; -tuple> build_tables( - const SyntaxGrammar &grammar, const LexicalGrammar &lex_grammar) { +tuple +build_tables(const SyntaxGrammar &grammar, const LexicalGrammar &lex_grammar) { auto parse_table_result = build_parse_table(grammar, lex_grammar); ParseTable parse_table = parse_table_result.first; - vector conflicts = parse_table_result.second; + const GrammarError *error = parse_table_result.second; LexTable lex_table = build_lex_table(&parse_table, lex_grammar); - return make_tuple(parse_table, lex_table, conflicts); + return make_tuple(parse_table, lex_table, error); } } // namespace build_tables diff --git a/src/compiler/build_tables/build_tables.h b/src/compiler/build_tables/build_tables.h index c2be69a8..c1e7ef3e 100644 --- a/src/compiler/build_tables/build_tables.h +++ b/src/compiler/build_tables/build_tables.h @@ -1,6 +1,7 @@ #ifndef COMPILER_BUILD_TABLES_BUILD_TABLES_H_ #define COMPILER_BUILD_TABLES_BUILD_TABLES_H_ +#include #include #include #include "tree_sitter/compiler.h" @@ -14,8 +15,8 @@ class LexicalGrammar; namespace build_tables { -std::tuple> build_tables( - const SyntaxGrammar &, const LexicalGrammar &); +std::tuple +build_tables(const SyntaxGrammar &, const LexicalGrammar &); } // namespace build_tables } // namespace tree_sitter diff --git a/src/compiler/compile.cc b/src/compiler/compile.cc index efcfb7fd..8e53ebf1 100644 --- a/src/compiler/compile.cc +++ b/src/compiler/compile.cc @@ -7,32 +7,35 @@ namespace tree_sitter { -using std::tuple; +using std::pair; using std::string; using std::vector; using std::get; using std::make_tuple; -tuple, const GrammarError *> compile( - const Grammar &grammar, std::string name) { +pair +compile(const Grammar &grammar, std::string name) { auto prepare_grammar_result = prepare_grammar::prepare_grammar(grammar); const SyntaxGrammar &syntax_grammar = get<0>(prepare_grammar_result); const LexicalGrammar &lexical_grammar = get<1>(prepare_grammar_result); const GrammarError *error = get<2>(prepare_grammar_result); if (error) - return make_tuple("", vector(), error); + return {"", error}; auto table_build_result = build_tables::build_tables(syntax_grammar, lexical_grammar); const ParseTable &parse_table = get<0>(table_build_result); const LexTable &lex_table = get<1>(table_build_result); - const vector &conflicts = get<2>(table_build_result); + error = get<2>(table_build_result); + + if (error) + return {"", error}; string code = generate_code::c_code(name, parse_table, lex_table, syntax_grammar, lexical_grammar); - return make_tuple(code, conflicts, nullptr); + return {code, nullptr}; } } // namespace tree_sitter diff --git a/src/compiler/conflict.cc b/src/compiler/conflict.cc deleted file mode 100644 index e28403d1..00000000 --- a/src/compiler/conflict.cc +++ /dev/null @@ -1,22 +0,0 @@ -#include -#include "tree_sitter/compiler.h" - -namespace tree_sitter { - -using std::string; - -Conflict::Conflict(string description) : description(description) {} - -bool Conflict::operator==(const tree_sitter::Conflict &other) const { - return other.description == description; -} - -bool Conflict::operator<(const tree_sitter::Conflict &other) const { - return other.description < description; -} - -std::ostream &operator<<(std::ostream &stream, const Conflict &conflict) { - return stream << "#"; -} - -} // namespace tree_sitter diff --git a/src/compiler/rules/rules.cc b/src/compiler/rules/rules.cc index 20840448..d0e331c9 100644 --- a/src/compiler/rules/rules.cc +++ b/src/compiler/rules/rules.cc @@ -58,11 +58,11 @@ rule_ptr err(const rule_ptr &rule) { return choice({ rule, ERROR().copy() }); } -rule_ptr prec(int precedence, rule_ptr rule) { +rule_ptr prec(int precedence, const rule_ptr &rule) { return metadata(rule, { { PRECEDENCE, precedence } }); } -rule_ptr token(rule_ptr rule) { +rule_ptr token(const rule_ptr &rule) { return metadata(rule, { { IS_TOKEN, 1 } }); }