Fix handling of non-terminal extras that share non-extra rules

Fixes #701
This commit is contained in:
Max Brunsfeld 2020-07-29 09:50:13 -07:00
parent 253f23c3d4
commit 81bbdf19f4
2 changed files with 13 additions and 5 deletions

View file

@ -199,6 +199,9 @@ impl<'a> Minimizer<'a> {
right_state: &ParseState,
group_ids_by_state_id: &Vec<ParseStateId>,
) -> bool {
if left_state.is_non_terminal_extra != right_state.is_non_terminal_extra {
return true;
}
for (token, left_entry) in &left_state.terminal_entries {
if let Some(right_entry) = right_state.terminal_entries.get(token) {
if self.entries_conflict(