From 32c14662244a93e06b1419404b8ab1ffd6103bd3 Mon Sep 17 00:00:00 2001 From: Amaan Qureshi Date: Sat, 2 Nov 2024 03:53:06 -0400 Subject: [PATCH] fix(generate): do not set the unit reduction symbol if it's in the extras array (cherry picked from commit 998d2c9d8ce4296c31080955abc9f6cb4c3f40c0) --- .../src/build_tables/minimize_parse_table.rs | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/cli/generate/src/build_tables/minimize_parse_table.rs b/cli/generate/src/build_tables/minimize_parse_table.rs index 74f70869..70950dff 100644 --- a/cli/generate/src/build_tables/minimize_parse_table.rs +++ b/cli/generate/src/build_tables/minimize_parse_table.rs @@ -70,18 +70,17 @@ impl<'a> Minimizer<'a> { production_id: 0, symbol, .. - } => { - if !self.simple_aliases.contains_key(symbol) - && !self.syntax_grammar.supertype_symbols.contains(symbol) - && !aliased_symbols.contains(symbol) - && self.syntax_grammar.variables[symbol.index].kind - != VariableType::Named - && (unit_reduction_symbol.is_none() - || unit_reduction_symbol == Some(symbol)) - { - unit_reduction_symbol = Some(symbol); - continue; - } + } if !self.simple_aliases.contains_key(symbol) + && !self.syntax_grammar.supertype_symbols.contains(symbol) + && !self.syntax_grammar.extra_symbols.contains(symbol) + && !aliased_symbols.contains(symbol) + && self.syntax_grammar.variables[symbol.index].kind + != VariableType::Named + && (unit_reduction_symbol.is_none() + || unit_reduction_symbol == Some(symbol)) => + { + unit_reduction_symbol = Some(symbol); + continue; } _ => {} }