Use GLR for for-in loop conlfict in javascript grammar
This commit is contained in:
parent
03e7fc49fd
commit
624e4651d2
2 changed files with 11 additions and 10 deletions
9
spec/fixtures/grammars/javascript.cc
vendored
9
spec/fixtures/grammars/javascript.cc
vendored
|
|
@ -99,10 +99,9 @@ extern const Grammar javascript = Grammar({
|
|||
str("for"),
|
||||
str("("),
|
||||
optional(str("var")),
|
||||
prec(PREC_REL, seq({
|
||||
sym("identifier"),
|
||||
str("in"),
|
||||
sym("_expression") })),
|
||||
sym("identifier"),
|
||||
str("in"),
|
||||
sym("_expression"),
|
||||
str(")"),
|
||||
sym("_statement") }) },
|
||||
|
||||
|
|
@ -351,6 +350,8 @@ extern const Grammar javascript = Grammar({
|
|||
sym("comment"),
|
||||
sym("_line_break"),
|
||||
pattern("[ \t\r]"),
|
||||
}).expected_conflicts({
|
||||
{ "for_in_statement", "_expression" },
|
||||
});
|
||||
|
||||
} // namespace tree_sitter_examples
|
||||
|
|
|
|||
12
spec/fixtures/parsers/javascript.c
vendored
12
spec/fixtures/parsers/javascript.c
vendored
|
|
@ -21157,7 +21157,7 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = {
|
|||
[sym_arguments] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_SEMI] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_in] = ACTIONS(SHIFT(513)),
|
||||
[anon_sym_in] = ACTIONS(REDUCE(sym__expression, 1), SHIFT(513)),
|
||||
[anon_sym_EQ] = ACTIONS(SHIFT(514)),
|
||||
[anon_sym_LBRACK] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_DOT] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
|
|
@ -28151,7 +28151,7 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = {
|
|||
[sym_arguments] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_SEMI] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_in] = ACTIONS(SHIFT(766)),
|
||||
[anon_sym_in] = ACTIONS(REDUCE(sym__expression, 1), SHIFT(766)),
|
||||
[anon_sym_EQ] = ACTIONS(SHIFT(514)),
|
||||
[anon_sym_LBRACK] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_DOT] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
|
|
@ -31746,7 +31746,7 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = {
|
|||
[sym_arguments] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_SEMI] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_in] = ACTIONS(SHIFT(859)),
|
||||
[anon_sym_in] = ACTIONS(REDUCE(sym__expression, 1), SHIFT(859)),
|
||||
[anon_sym_EQ] = ACTIONS(SHIFT(514)),
|
||||
[anon_sym_LBRACK] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_DOT] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
|
|
@ -36861,7 +36861,7 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = {
|
|||
[sym_arguments] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_SEMI] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_in] = ACTIONS(SHIFT(990)),
|
||||
[anon_sym_in] = ACTIONS(REDUCE(sym__expression, 1), SHIFT(990)),
|
||||
[anon_sym_EQ] = ACTIONS(SHIFT(514)),
|
||||
[anon_sym_LBRACK] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_DOT] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
|
|
@ -44842,7 +44842,7 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = {
|
|||
[sym_arguments] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_SEMI] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_in] = ACTIONS(SHIFT(1288)),
|
||||
[anon_sym_in] = ACTIONS(REDUCE(sym__expression, 1), SHIFT(1288)),
|
||||
[anon_sym_EQ] = ACTIONS(SHIFT(514)),
|
||||
[anon_sym_LBRACK] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_DOT] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
|
|
@ -48297,7 +48297,7 @@ static const TSParseAction *ts_parse_actions[STATE_COUNT][SYMBOL_COUNT] = {
|
|||
[sym_arguments] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_SEMI] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_LPAREN] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_in] = ACTIONS(SHIFT(1381)),
|
||||
[anon_sym_in] = ACTIONS(REDUCE(sym__expression, 1), SHIFT(1381)),
|
||||
[anon_sym_EQ] = ACTIONS(SHIFT(514)),
|
||||
[anon_sym_LBRACK] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
[anon_sym_DOT] = ACTIONS(REDUCE(sym__expression, 1)),
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue