From 4e3179fbc0fbe65f83780bf4a93f1106545a6df2 Mon Sep 17 00:00:00 2001 From: Nat Mote Date: Tue, 9 Aug 2022 17:18:56 -0700 Subject: [PATCH] Avoid extracting default alias for extras Fixes #1834 --- .../prepare_grammar/extract_default_aliases.rs | 12 ++++++++++++ test/fixtures/test_grammars/aliased_rules/corpus.txt | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/cli/src/generate/prepare_grammar/extract_default_aliases.rs b/cli/src/generate/prepare_grammar/extract_default_aliases.rs index 13edb090..d39bf8dd 100644 --- a/cli/src/generate/prepare_grammar/extract_default_aliases.rs +++ b/cli/src/generate/prepare_grammar/extract_default_aliases.rs @@ -62,6 +62,18 @@ pub(super) fn extract_default_aliases( } } + for symbol in syntax_grammar.extra_symbols.iter() { + let mut status = match symbol.kind { + SymbolType::External => &mut external_status_list[symbol.index], + SymbolType::NonTerminal => &mut non_terminal_status_list[symbol.index], + SymbolType::Terminal => &mut terminal_status_list[symbol.index], + SymbolType::End | SymbolType::EndOfNonTerminalExtra => { + panic!("Unexpected end token") + } + }; + status.appears_unaliased = true; + } + let symbols_with_statuses = (terminal_status_list .iter_mut() .enumerate() diff --git a/test/fixtures/test_grammars/aliased_rules/corpus.txt b/test/fixtures/test_grammars/aliased_rules/corpus.txt index f843dec8..32093729 100644 --- a/test/fixtures/test_grammars/aliased_rules/corpus.txt +++ b/test/fixtures/test_grammars/aliased_rules/corpus.txt @@ -7,7 +7,7 @@ Method calls --- (statement - (star_aliased) + (star) (call_expression (member_expression (variable_name)