diff --git a/rusty_lr_core/src/parser/state.rs b/rusty_lr_core/src/parser/state.rs index e743c99..b86ed76 100644 --- a/rusty_lr_core/src/parser/state.rs +++ b/rusty_lr_core/src/parser/state.rs @@ -7,7 +7,7 @@ use crate::parser::terminalclass::TerminalClass; #[derive(Debug, Clone, Copy)] pub struct ShiftTarget { pub state: StateIndex, - /// true if the data should be pushed, false if data should not be pushed + /// true if the data should be pushed, false if data should not be pushed (so `Empty` tag will be pushed) pub push: bool, } impl ShiftTarget { diff --git a/rusty_lr_parser/src/emit.rs b/rusty_lr_parser/src/emit.rs index 3b4ebbf..f89715b 100644 --- a/rusty_lr_parser/src/emit.rs +++ b/rusty_lr_parser/src/emit.rs @@ -955,7 +955,13 @@ impl Grammar { // Token -> Option map, `None` for empty let token_to_stack_name = |token: Token, usize>| match token { Token::Term(term) => match term { - TerminalSymbol::Term(_) => Some(&terminal_stack_name), + TerminalSymbol::Term(term) => { + if self.terminal_classes[term].data_used { + Some(&terminal_stack_name) + } else { + None + } + } TerminalSymbol::Error | TerminalSymbol::Eof => None, }, Token::NonTerm(nonterm_idx) => stack_names_for_nonterm[nonterm_idx].as_ref(), diff --git a/rusty_lr_parser/src/grammar.rs b/rusty_lr_parser/src/grammar.rs index abdec25..8b602ce 100644 --- a/rusty_lr_parser/src/grammar.rs +++ b/rusty_lr_parser/src/grammar.rs @@ -39,6 +39,9 @@ pub struct TerminalClassDefinition { /// compressed ranges, only if %tokentype is char or u8 pub ranges: Vec<(u32, u32)>, + + /// Whether this class's data was used in any reduce action + pub data_used: bool, } pub enum OptimizeRemove { @@ -1021,6 +1024,7 @@ impl Grammar { terminals: vec![i], multiterm_counter, ranges, + data_used: true, }); } grammar.other_terminal_class_id = grammar.terminal_class_id[grammar.other_terminal_index]; @@ -1191,6 +1195,7 @@ impl Grammar { terminals: terms, multiterm_counter, ranges: Vec::new(), + data_used: self.terminal_classes[old_classes[0]].data_used, }; new_class_defs.push(class_def); } @@ -1542,6 +1547,24 @@ impl Grammar { diag.removed.push(OptimizeRemove::NonTermDataNotUsed(i)); } + // check for any data of terminal symbol was used in any reduce action + for class_def in &mut self.terminal_classes { + class_def.data_used = false; + } + for nonterm in &self.nonterminals { + for rule in &nonterm.rules { + for token in &rule.tokens { + if let Token::Term(TerminalSymbol::Term(term)) = token.token { + if let Some(mapto) = &token.mapto { + if rule.reduce_action_contains_ident(mapto) { + self.terminal_classes[term].data_used = true; + } + } + } + } + } + } + for _ in 0..max_iter { let ret = self.optimize_iterate(); match ret { @@ -1941,6 +1964,14 @@ impl Grammar { } } + for state in &mut new_states { + for (term, shift_target) in &mut state.shift_goto_map_term { + if let TerminalSymbol::Term(term) = *term { + shift_target.push = self.terminal_classes[term].data_used; + } + } + } + self.states = new_states; collector diff --git a/rusty_lr_parser/src/parser/parser_expanded.rs b/rusty_lr_parser/src/parser/parser_expanded.rs index 3590a83..cef8ba8 100644 --- a/rusty_lr_parser/src/parser/parser_expanded.rs +++ b/rusty_lr_parser/src/parser/parser_expanded.rs @@ -722,7 +722,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -745,7 +745,7 @@ impl GrammarDataStack { __data_stack.__tags.push(GrammarTags::__stack2); let mut RuleType = __data_stack.__stack3.pop().unwrap(); let mut RuleLines = __data_stack.__stack4.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); let mut ident = __data_stack.__terminals.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 2usize); let mut __rustylr_location_colon = __location_stack.pop().unwrap(); @@ -2386,7 +2386,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2408,7 +2408,6 @@ impl GrammarDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 5usize); __data_stack.__tags.push(GrammarTags::Empty); let mut __rustylr_data_3 = __data_stack.__stack18.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); let mut ident = __data_stack.__terminals.pop().unwrap(); __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 5usize); @@ -2440,7 +2439,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2457,7 +2456,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 4usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_ident = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 2usize); @@ -2486,7 +2485,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2503,7 +2502,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_error = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 2usize); @@ -2532,7 +2531,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2549,7 +2548,6 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); let mut ident = __data_stack.__terminals.pop().unwrap(); __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 4usize); @@ -2575,7 +2573,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2592,7 +2590,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_error = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 2usize); @@ -2621,7 +2619,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2639,7 +2637,7 @@ impl GrammarDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); let mut __rustylr_data_2 = __data_stack.__stack18.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 2usize); let mut __rustylr_location_tokentype = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -2668,7 +2666,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2681,7 +2679,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_tokentype = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -2710,7 +2708,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2728,7 +2726,7 @@ impl GrammarDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); let mut __rustylr_data_2 = __data_stack.__stack18.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 2usize); let mut __rustylr_location_userdata = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -2757,7 +2755,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2770,7 +2768,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_userdata = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -2799,7 +2797,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2817,7 +2815,7 @@ impl GrammarDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); let mut IdentOrLiteral = __data_stack.__stack19.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 2usize); let mut __rustylr_location_left = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -2845,7 +2843,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2862,7 +2860,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_error = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 2usize); @@ -2891,7 +2889,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2909,7 +2907,7 @@ impl GrammarDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); let mut IdentOrLiteral = __data_stack.__stack19.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 2usize); let mut __rustylr_location_right = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -2937,7 +2935,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -2954,7 +2952,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_error = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 2usize); @@ -2983,7 +2981,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3001,7 +2999,7 @@ impl GrammarDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); let mut IdentOrLiteral = __data_stack.__stack19.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 2usize); let mut __rustylr_location_precedence = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -3025,7 +3023,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3042,7 +3040,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_error = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 2usize); @@ -3071,7 +3069,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3089,7 +3087,7 @@ impl GrammarDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); let mut __rustylr_data_2 = __data_stack.__stack18.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 2usize); let mut __rustylr_location_errortype = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -3118,7 +3116,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3131,7 +3129,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_errortype = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -3160,7 +3158,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3178,7 +3176,7 @@ impl GrammarDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); let mut __rustylr_data_2 = __data_stack.__stack18.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 2usize); let mut __rustylr_location_moduleprefix = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -3207,7 +3205,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3220,7 +3218,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_moduleprefix = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -3249,7 +3247,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3262,7 +3260,6 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); let mut glr = __data_stack.__terminals.pop().unwrap(); __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); __location_stack.truncate(__location_stack.len() - 3usize); @@ -3285,7 +3282,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3302,7 +3299,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_error = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 2usize); @@ -3331,7 +3328,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3344,7 +3341,6 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); let mut lalr = __data_stack.__terminals.pop().unwrap(); __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); __location_stack.truncate(__location_stack.len() - 3usize); @@ -3367,7 +3363,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3384,7 +3380,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_error = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 2usize); @@ -3413,7 +3409,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3426,7 +3422,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 3usize); { data.no_optim = true; @@ -3447,7 +3443,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3464,7 +3460,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_error = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 2usize); @@ -3493,7 +3489,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3506,7 +3502,6 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); let mut dense = __data_stack.__terminals.pop().unwrap(); __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); __location_stack.truncate(__location_stack.len() - 3usize); @@ -3529,7 +3524,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3546,7 +3541,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_error = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 2usize); @@ -3575,7 +3570,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3593,7 +3588,7 @@ impl GrammarDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); let mut ident = __data_stack.__stack18.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 4usize); { let idents = ident @@ -3622,7 +3617,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3639,7 +3634,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_error = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 2usize); @@ -3668,7 +3663,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3686,7 +3681,6 @@ impl GrammarDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); let mut __rustylr_data_2 = __data_stack.__stack18.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); let mut filter = __data_stack.__terminals.pop().unwrap(); __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); __location_stack.truncate(__location_stack.len() - 4usize); @@ -3715,7 +3709,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3728,7 +3722,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_filter = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -3757,7 +3751,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3775,7 +3769,7 @@ impl GrammarDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __data_stack.__tags.push(GrammarTags::Empty); let mut __rustylr_data_2 = __data_stack.__stack18.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 4usize); let __rustylr_data_2 = Self::custom_reduce_action_0( __rustylr_data_2, @@ -3802,7 +3796,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3815,7 +3809,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 3usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_location = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -3844,7 +3838,7 @@ impl GrammarDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - GrammarTags::__terminals) + GrammarTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -3857,7 +3851,7 @@ impl GrammarDataStack { } __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(GrammarTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); + __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_error = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -7687,7 +7681,7 @@ impl GrammarParser { shifted : shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(65, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(65, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(66, true)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = @@ -8062,7 +8056,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(93, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(93, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [51,]; let shifted : & 'static @@ -8091,7 +8085,7 @@ impl GrammarParser { vec![(GrammarTerminalClasses::ident, ::rusty_lr_core::parser::state::ShiftTarget::new(75, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(96, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(96, false)), (GrammarTerminalClasses::literal, ::rusty_lr_core::parser::state::ShiftTarget::new(76, true)),], shift_goto_map_nonterm : vec![(GrammarNonTerminals::IdentOrLiteral, @@ -8139,7 +8133,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(100, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(100, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [53,]; let shifted : & 'static @@ -8159,7 +8153,7 @@ impl GrammarParser { vec![(GrammarTerminalClasses::ident, ::rusty_lr_core::parser::state::ShiftTarget::new(75, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(102, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(102, false)), (GrammarTerminalClasses::literal, ::rusty_lr_core::parser::state::ShiftTarget::new(76, true)),], shift_goto_map_nonterm : vec![(GrammarNonTerminals::IdentOrLiteral, @@ -8196,7 +8190,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(105, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(105, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::percent, @@ -8313,7 +8307,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(108, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(108, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::percent, @@ -8424,7 +8418,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(111, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(111, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [43,]; let shifted : & 'static @@ -8453,7 +8447,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(114, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(114, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [44,]; let shifted : & 'static @@ -8471,7 +8465,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(116, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(116, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [45,]; let shifted : & 'static @@ -8493,7 +8487,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(118, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(118, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::percent, @@ -8601,7 +8595,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(120, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(120, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::percent, @@ -8707,7 +8701,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(122, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(122, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::percent, @@ -8815,7 +8809,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(124, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(124, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::percent, @@ -8921,7 +8915,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(126, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(126, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::percent, @@ -9029,7 +9023,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(128, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(128, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::percent, @@ -9135,7 +9129,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(130, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(130, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::percent, @@ -9243,7 +9237,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(132, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(132, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::percent, @@ -9345,7 +9339,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(134, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(134, false)), (GrammarTerminalClasses::error, ::rusty_lr_core::parser::state::ShiftTarget::new(135, true)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = @@ -9365,7 +9359,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(136, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(136, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [63,]; let shifted : & 'static @@ -9383,7 +9377,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(138, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(138, false)), (GrammarTerminalClasses::error, ::rusty_lr_core::parser::state::ShiftTarget::new(139, true)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = @@ -9403,7 +9397,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(140, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(140, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [61,]; let shifted : & 'static @@ -9438,7 +9432,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(143, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(143, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [55,]; let shifted : & 'static @@ -9458,7 +9452,7 @@ impl GrammarParser { vec![(GrammarTerminalClasses::ident, ::rusty_lr_core::parser::state::ShiftTarget::new(75, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(145, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(145, false)), (GrammarTerminalClasses::literal, ::rusty_lr_core::parser::state::ShiftTarget::new(76, true)),], shift_goto_map_nonterm : vec![(GrammarNonTerminals::IdentOrLiteral, @@ -9480,7 +9474,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(147, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(147, false)), (GrammarTerminalClasses::error, ::rusty_lr_core::parser::state::ShiftTarget::new(148, true)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = @@ -9500,7 +9494,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(149, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(149, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [65,]; let shifted : & 'static @@ -9518,7 +9512,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(151, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(151, false)), (GrammarTerminalClasses::error, ::rusty_lr_core::parser::state::ShiftTarget::new(152, true)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = @@ -9538,7 +9532,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(153, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(153, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [67,]; let shifted : & 'static @@ -9581,7 +9575,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(157, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(157, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [69,]; let shifted : & 'static @@ -9619,7 +9613,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(161, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(161, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [68,]; let shifted : & 'static @@ -9641,7 +9635,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(163, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(163, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::percent, @@ -9749,7 +9743,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(165, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(165, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::percent, @@ -9855,7 +9849,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(167, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(167, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(106, true)), (GrammarTerminalClasses::percent, @@ -9963,7 +9957,7 @@ impl GrammarParser { (GrammarTerminalClasses::colon, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(169, true)), + ::rusty_lr_core::parser::state::ShiftTarget::new(169, false)), (GrammarTerminalClasses::pipe, ::rusty_lr_core::parser::state::ShiftTarget::new(109, true)), (GrammarTerminalClasses::percent, @@ -10065,7 +10059,7 @@ impl GrammarParser { shifted as usize, } }).collect() } }, ::rusty_lr_core::parser::state::IntermediateState { shift_goto_map_term : vec![(GrammarTerminalClasses::semicolon, - ::rusty_lr_core::parser::state::ShiftTarget::new(171, true)),], + ::rusty_lr_core::parser::state::ShiftTarget::new(171, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [74,]; let shifted : & 'static diff --git a/scripts/diff/calculator.rs b/scripts/diff/calculator.rs index 96ffd90..d22f823 100644 --- a/scripts/diff/calculator.rs +++ b/scripts/diff/calculator.rs @@ -312,7 +312,7 @@ impl EDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - ETags::__terminals) + ETags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& @@ -322,7 +322,6 @@ impl EDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); let mut __rustylr_data_2 = __data_stack.__stack2.pop().unwrap(); let mut __rustylr_data_0 = __data_stack.__stack2.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); __location_stack.truncate(__location_stack.len() - 3usize); let __rustylr_data_0 = Self::custom_reduce_action_0( __rustylr_data_0, @@ -385,7 +384,7 @@ impl EDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - ETags::__terminals) + ETags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -393,13 +392,12 @@ impl EDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& - ETags::__terminals) + ETags::Empty) ); } __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(ETags::__stack2); let mut E = __data_stack.__stack2.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 3usize); let __res = E; __data_stack.__stack2.push(__res); @@ -657,7 +655,7 @@ impl EParser { ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(ETerminalClasses::num, ::rusty_lr::parser::state::ShiftTarget::new(1, true)), (ETerminalClasses::lparen, - ::rusty_lr::parser::state::ShiftTarget::new(2, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(2, false)),], shift_goto_map_nonterm : vec![(ENonTerminals::A, ::rusty_lr::parser::state::ShiftTarget::new(3, true)), (ENonTerminals::M, ::rusty_lr::parser::state::ShiftTarget::new(6, true)), (ENonTerminals::P, @@ -680,7 +678,7 @@ impl EParser { shift_goto_map_term : vec![(ETerminalClasses::num, ::rusty_lr::parser::state::ShiftTarget::new(1, true)), (ETerminalClasses::lparen, ::rusty_lr::parser::state::ShiftTarget::new(2, - true)),], shift_goto_map_nonterm : vec![(ENonTerminals::A, + false)),], shift_goto_map_nonterm : vec![(ENonTerminals::A, ::rusty_lr::parser::state::ShiftTarget::new(3, true)), (ENonTerminals::M, ::rusty_lr::parser::state::ShiftTarget::new(6, true)), (ENonTerminals::P, ::rusty_lr::parser::state::ShiftTarget::new(6, true)), (ENonTerminals::E, @@ -704,7 +702,7 @@ impl EParser { shift_goto_map_term : vec![(ETerminalClasses::num, ::rusty_lr::parser::state::ShiftTarget::new(1, true)), (ETerminalClasses::lparen, ::rusty_lr::parser::state::ShiftTarget::new(2, - true)),], shift_goto_map_nonterm : vec![(ENonTerminals::A, + false)),], shift_goto_map_nonterm : vec![(ENonTerminals::A, ::rusty_lr::parser::state::ShiftTarget::new(5, true)), (ENonTerminals::M, ::rusty_lr::parser::state::ShiftTarget::new(6, true)), (ENonTerminals::P, ::rusty_lr::parser::state::ShiftTarget::new(6, true)),], reduce_map : { let @@ -723,7 +721,7 @@ impl EParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(ETerminalClasses::star, - ::rusty_lr::parser::state::ShiftTarget::new(7, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(7, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); let reduce_rules = vec![1]; __reduce_map .extend(__rustylr_tset2.iter().map(| term | (* term, reduce_rules.clone()))); @@ -735,7 +733,7 @@ impl EParser { shift_goto_map_term : vec![(ETerminalClasses::num, ::rusty_lr::parser::state::ShiftTarget::new(1, true)), (ETerminalClasses::lparen, ::rusty_lr::parser::state::ShiftTarget::new(2, - true)),], shift_goto_map_nonterm : vec![(ENonTerminals::M, + false)),], shift_goto_map_nonterm : vec![(ENonTerminals::M, ::rusty_lr::parser::state::ShiftTarget::new(8, true)), (ENonTerminals::P, ::rusty_lr::parser::state::ShiftTarget::new(8, true)),], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map @@ -753,7 +751,7 @@ impl EParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(ETerminalClasses::rparen, - ::rusty_lr::parser::state::ShiftTarget::new(10, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(10, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [5,]; let shifted : & 'static [u8] diff --git a/scripts/diff/calculator_u8.rs b/scripts/diff/calculator_u8.rs index 4529e2d..815fa69 100644 --- a/scripts/diff/calculator_u8.rs +++ b/scripts/diff/calculator_u8.rs @@ -275,10 +275,11 @@ impl EDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - ETags::__terminals) + ETags::Empty) ); } - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 1usize); + __data_stack.__tags.push(ETags::__terminals); __location_stack.truncate(__location_stack.len() - 1usize); let __res = { '0' }; __data_stack.__terminals.push(__res); @@ -360,7 +361,7 @@ impl EDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - ETags::__terminals) + ETags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& @@ -368,7 +369,7 @@ impl EDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 3usize) == Some(& - ETags::__terminals) + ETags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 4usize) == Some(& @@ -378,7 +379,6 @@ impl EDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 5usize); __data_stack.__tags.push(ETags::__stack3); let mut E = __data_stack.__stack3.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); __location_stack.truncate(__location_stack.len() - 5usize); let __res = E; __data_stack.__stack3.push(__res); @@ -444,7 +444,7 @@ impl EDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - ETags::__terminals) + ETags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& @@ -454,7 +454,6 @@ impl EDataStack { __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __data_stack.__tags.push(ETags::__stack3); let mut E = __data_stack.__stack3.pop().unwrap(); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); __location_stack.truncate(__location_stack.len() - 3usize); let __res = { -E }; __data_stack.__stack3.push(__res); @@ -474,7 +473,7 @@ impl EDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - ETags::__terminals) + ETags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -482,7 +481,6 @@ impl EDataStack { ); } __data_stack.__tags.truncate(__data_stack.__tags.len() - 1usize); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); __location_stack.truncate(__location_stack.len() - 2usize); Ok(false) } @@ -1002,7 +1000,7 @@ impl EParser { { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(ETerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(7, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(7, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); let reduce_rules = vec![12]; __reduce_map .extend(__rustylr_tset3.iter().map(| term | (* term, reduce_rules.clone()))); @@ -1020,11 +1018,11 @@ impl EParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(ETerminalClasses::TermClass2, - ::rusty_lr::parser::state::ShiftTarget::new(9, true)), + ::rusty_lr::parser::state::ShiftTarget::new(9, false)), (ETerminalClasses::TermClass4, - ::rusty_lr::parser::state::ShiftTarget::new(23, true)), + ::rusty_lr::parser::state::ShiftTarget::new(23, false)), (ETerminalClasses::TermClass5, - ::rusty_lr::parser::state::ShiftTarget::new(18, true)), + ::rusty_lr::parser::state::ShiftTarget::new(18, false)), (ETerminalClasses::TermClass6, ::rusty_lr::parser::state::ShiftTarget::new(19, true)),], shift_goto_map_nonterm : vec![(ENonTerminals::Digit, @@ -1056,7 +1054,7 @@ impl EParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(ETerminalClasses::TermClass3, - ::rusty_lr::parser::state::ShiftTarget::new(11, true)), + ::rusty_lr::parser::state::ShiftTarget::new(11, false)), (ETerminalClasses::TermClass7, ::rusty_lr::parser::state::ShiftTarget::new(13, true)), (ETerminalClasses::TermClass8, @@ -1123,11 +1121,11 @@ impl EParser { { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(ETerminalClasses::TermClass2, - ::rusty_lr::parser::state::ShiftTarget::new(9, true)), + ::rusty_lr::parser::state::ShiftTarget::new(9, false)), (ETerminalClasses::TermClass4, - ::rusty_lr::parser::state::ShiftTarget::new(16, true)), + ::rusty_lr::parser::state::ShiftTarget::new(16, false)), (ETerminalClasses::TermClass5, - ::rusty_lr::parser::state::ShiftTarget::new(18, true)), + ::rusty_lr::parser::state::ShiftTarget::new(18, false)), (ETerminalClasses::TermClass6, ::rusty_lr::parser::state::ShiftTarget::new(19, true)),], shift_goto_map_nonterm : vec![(ENonTerminals::Digit, @@ -1187,7 +1185,7 @@ impl EParser { shift_goto_map_term : vec![(ETerminalClasses::TermClass0, ::rusty_lr::parser::state::ShiftTarget::new(6, false)), (ETerminalClasses::TermClass5, - ::rusty_lr::parser::state::ShiftTarget::new(18, true)), + ::rusty_lr::parser::state::ShiftTarget::new(18, false)), (ETerminalClasses::TermClass6, ::rusty_lr::parser::state::ShiftTarget::new(21, true)),], shift_goto_map_nonterm : vec![(ENonTerminals::Digit, diff --git a/scripts/diff/json.rs b/scripts/diff/json.rs index 1152f55..771fe50 100644 --- a/scripts/diff/json.rs +++ b/scripts/diff/json.rs @@ -541,7 +541,7 @@ impl JsonDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -549,12 +549,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); __location_stack.truncate(__location_stack.len() - 3usize); Ok(false) } @@ -572,7 +570,7 @@ impl JsonDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -580,12 +578,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); __location_stack.truncate(__location_stack.len() - 3usize); Ok(false) } @@ -603,7 +599,7 @@ impl JsonDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -611,12 +607,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); __location_stack.truncate(__location_stack.len() - 1usize); let mut __rustylr_location_error = __location_stack.pop().unwrap(); __location_stack.truncate(__location_stack.len() - 1usize); @@ -665,7 +659,7 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& @@ -673,7 +667,6 @@ impl JsonDataStack { ); } __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); __location_stack.truncate(__location_stack.len() - 3usize); Ok(false) } @@ -695,7 +688,7 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& @@ -711,7 +704,6 @@ impl JsonDataStack { ); } __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); __location_stack.truncate(__location_stack.len() - 5usize); Ok(false) } @@ -729,7 +721,7 @@ impl JsonDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -737,12 +729,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); __location_stack.truncate(__location_stack.len() - 3usize); Ok(false) } @@ -789,7 +779,7 @@ impl JsonDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& @@ -797,12 +787,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); __location_stack.truncate(__location_stack.len() - 3usize); Ok(false) } @@ -824,12 +812,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 1usize); __location_stack.truncate(__location_stack.len() - 2usize); Ok(false) } @@ -863,12 +849,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 4usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 5usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __location_stack.truncate(__location_stack.len() - 5usize); Ok(false) } @@ -919,12 +903,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 1usize); __location_stack.truncate(__location_stack.len() - 2usize); Ok(false) } @@ -946,12 +928,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 1usize); __location_stack.truncate(__location_stack.len() - 2usize); Ok(false) } @@ -973,16 +953,14 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 2usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); __location_stack.truncate(__location_stack.len() - 3usize); Ok(false) } @@ -1008,12 +986,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); __location_stack.truncate(__location_stack.len() - 3usize); Ok(false) } @@ -1039,12 +1015,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); __location_stack.truncate(__location_stack.len() - 3usize); Ok(false) } @@ -1066,12 +1040,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 1usize); __location_stack.truncate(__location_stack.len() - 2usize); Ok(false) } @@ -1093,12 +1065,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 1usize); __location_stack.truncate(__location_stack.len() - 2usize); Ok(false) } @@ -1116,24 +1086,22 @@ impl JsonDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 3usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 4usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __location_stack.truncate(__location_stack.len() - 4usize); Ok(false) } @@ -1151,28 +1119,26 @@ impl JsonDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 3usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 4usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 5usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 5usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); __location_stack.truncate(__location_stack.len() - 5usize); Ok(false) } @@ -1190,24 +1156,22 @@ impl JsonDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 3usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 4usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 4usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 3usize); __location_stack.truncate(__location_stack.len() - 4usize); Ok(false) } @@ -1249,7 +1213,7 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 2usize) == Some(& @@ -1257,7 +1221,6 @@ impl JsonDataStack { ); } __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); __location_stack.truncate(__location_stack.len() - 3usize); Ok(false) } @@ -1393,12 +1356,9 @@ impl JsonDataStack { { debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 0usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 1usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); __location_stack.truncate(__location_stack.len() - 1usize); Ok(false) } @@ -1420,12 +1380,10 @@ impl JsonDataStack { ); debug_assert!( __data_stack.__tags.get(__data_stack.__tags.len() - 1 - 1usize) == Some(& - JsonTags::__terminals) + JsonTags::Empty) ); } - __data_stack.__tags.truncate(__data_stack.__tags.len() - 2usize); - __data_stack.__tags.push(JsonTags::Empty); - __data_stack.__terminals.truncate(__data_stack.__terminals.len() - 1usize); + __data_stack.__tags.truncate(__data_stack.__tags.len() - 1usize); __location_stack.truncate(__location_stack.len() - 2usize); Ok(false) } @@ -2365,9 +2323,9 @@ impl JsonParser { > = vec![ ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(1, true)), + ::rusty_lr::parser::state::ShiftTarget::new(1, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(2, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(2, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Json, ::rusty_lr::parser::state::ShiftTarget::new(5, true)), (JsonNonTerminals::Element, ::rusty_lr::parser::state::ShiftTarget::new(5, @@ -2384,9 +2342,9 @@ impl JsonParser { as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(1, true)), + ::rusty_lr::parser::state::ShiftTarget::new(1, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(2, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(2, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(4, true)), (JsonNonTerminals::_LiteralString36, @@ -2400,9 +2358,9 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(1, true)), + ::rusty_lr::parser::state::ShiftTarget::new(1, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(2, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(2, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(3, true)), (JsonNonTerminals::_LiteralString36, @@ -2447,23 +2405,23 @@ impl JsonParser { usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass6, - ::rusty_lr::parser::state::ShiftTarget::new(8, true)), + ::rusty_lr::parser::state::ShiftTarget::new(8, false)), (JsonTerminalClasses::TermClass7, - ::rusty_lr::parser::state::ShiftTarget::new(13, true)), + ::rusty_lr::parser::state::ShiftTarget::new(13, false)), (JsonTerminalClasses::TermClass9, - ::rusty_lr::parser::state::ShiftTarget::new(17, true)), + ::rusty_lr::parser::state::ShiftTarget::new(17, false)), (JsonTerminalClasses::TermClass11, - ::rusty_lr::parser::state::ShiftTarget::new(21, true)), + ::rusty_lr::parser::state::ShiftTarget::new(21, false)), (JsonTerminalClasses::TermClass14, ::rusty_lr::parser::state::ShiftTarget::new(110, false)), (JsonTerminalClasses::TermClass15, - ::rusty_lr::parser::state::ShiftTarget::new(27, true)), + ::rusty_lr::parser::state::ShiftTarget::new(27, false)), (JsonTerminalClasses::TermClass20, - ::rusty_lr::parser::state::ShiftTarget::new(29, true)), + ::rusty_lr::parser::state::ShiftTarget::new(29, false)), (JsonTerminalClasses::TermClass27, - ::rusty_lr::parser::state::ShiftTarget::new(39, true)), + ::rusty_lr::parser::state::ShiftTarget::new(39, false)), (JsonTerminalClasses::TermClass29, - ::rusty_lr::parser::state::ShiftTarget::new(52, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(52, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Value, ::rusty_lr::parser::state::ShiftTarget::new(107, true)), (JsonNonTerminals::Object, ::rusty_lr::parser::state::ShiftTarget::new(107, @@ -2490,7 +2448,7 @@ impl JsonParser { shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass22, - ::rusty_lr::parser::state::ShiftTarget::new(9, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(9, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [46,]; let shifted : & 'static @@ -2498,7 +2456,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass24, - ::rusty_lr::parser::state::ShiftTarget::new(10, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(10, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [46,]; let shifted : & 'static @@ -2506,7 +2464,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass25, - ::rusty_lr::parser::state::ShiftTarget::new(11, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(11, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [46,]; let shifted : & 'static @@ -2514,7 +2472,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass19, - ::rusty_lr::parser::state::ShiftTarget::new(12, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(12, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [46,]; let shifted : & 'static @@ -2530,7 +2488,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass26, - ::rusty_lr::parser::state::ShiftTarget::new(14, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(14, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [47,]; let shifted : & 'static @@ -2538,7 +2496,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass24, - ::rusty_lr::parser::state::ShiftTarget::new(15, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(15, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [47,]; let shifted : & 'static @@ -2546,7 +2504,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass24, - ::rusty_lr::parser::state::ShiftTarget::new(16, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(16, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [47,]; let shifted : & 'static @@ -2562,7 +2520,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass8, - ::rusty_lr::parser::state::ShiftTarget::new(18, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(18, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [45,]; let shifted : & 'static @@ -2570,7 +2528,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass26, - ::rusty_lr::parser::state::ShiftTarget::new(19, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(19, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [45,]; let shifted : & 'static @@ -2578,7 +2536,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass19, - ::rusty_lr::parser::state::ShiftTarget::new(20, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(20, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [45,]; let shifted : & 'static @@ -2596,7 +2554,7 @@ impl JsonParser { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass14, ::rusty_lr::parser::state::ShiftTarget::new(26, false)), (JsonTerminalClasses::TermClass15, - ::rusty_lr::parser::state::ShiftTarget::new(22, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(22, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::_TermSet33, ::rusty_lr::parser::state::ShiftTarget::new(26, true)),], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map @@ -2686,9 +2644,9 @@ impl JsonParser { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(1, true)), + ::rusty_lr::parser::state::ShiftTarget::new(1, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(2, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(2, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Element, ::rusty_lr::parser::state::ShiftTarget::new(30, true)), (JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(32, @@ -2709,7 +2667,7 @@ impl JsonParser { shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass12, - ::rusty_lr::parser::state::ShiftTarget::new(31, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(31, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); let reduce_rules = vec![48]; __reduce_map .extend(__rustylr_tset5.iter().map(| term | (* term, reduce_rules.clone()))); @@ -2719,9 +2677,9 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(1, true)), + ::rusty_lr::parser::state::ShiftTarget::new(1, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(2, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(2, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Element, ::rusty_lr::parser::state::ShiftTarget::new(30, true)), (JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(32, @@ -2738,23 +2696,23 @@ impl JsonParser { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass6, - ::rusty_lr::parser::state::ShiftTarget::new(8, true)), + ::rusty_lr::parser::state::ShiftTarget::new(8, false)), (JsonTerminalClasses::TermClass7, - ::rusty_lr::parser::state::ShiftTarget::new(13, true)), + ::rusty_lr::parser::state::ShiftTarget::new(13, false)), (JsonTerminalClasses::TermClass9, - ::rusty_lr::parser::state::ShiftTarget::new(17, true)), + ::rusty_lr::parser::state::ShiftTarget::new(17, false)), (JsonTerminalClasses::TermClass11, - ::rusty_lr::parser::state::ShiftTarget::new(33, true)), + ::rusty_lr::parser::state::ShiftTarget::new(33, false)), (JsonTerminalClasses::TermClass14, ::rusty_lr::parser::state::ShiftTarget::new(97, false)), (JsonTerminalClasses::TermClass15, - ::rusty_lr::parser::state::ShiftTarget::new(36, true)), + ::rusty_lr::parser::state::ShiftTarget::new(36, false)), (JsonTerminalClasses::TermClass20, - ::rusty_lr::parser::state::ShiftTarget::new(29, true)), + ::rusty_lr::parser::state::ShiftTarget::new(29, false)), (JsonTerminalClasses::TermClass27, - ::rusty_lr::parser::state::ShiftTarget::new(39, true)), + ::rusty_lr::parser::state::ShiftTarget::new(39, false)), (JsonTerminalClasses::TermClass29, - ::rusty_lr::parser::state::ShiftTarget::new(52, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(52, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Value, ::rusty_lr::parser::state::ShiftTarget::new(94, true)), (JsonNonTerminals::Object, ::rusty_lr::parser::state::ShiftTarget::new(94, @@ -2783,7 +2741,7 @@ impl JsonParser { vec![(JsonTerminalClasses::TermClass14, ::rusty_lr::parser::state::ShiftTarget::new(26, false)), (JsonTerminalClasses::TermClass15, - ::rusty_lr::parser::state::ShiftTarget::new(34, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(34, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::_TermSet33, ::rusty_lr::parser::state::ShiftTarget::new(26, true)),], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map @@ -2841,7 +2799,7 @@ impl JsonParser { usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass21, - ::rusty_lr::parser::state::ShiftTarget::new(38, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(38, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [14,]; let shifted : & 'static @@ -2857,9 +2815,9 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(40, true)), + ::rusty_lr::parser::state::ShiftTarget::new(40, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(41, true)), + ::rusty_lr::parser::state::ShiftTarget::new(41, false)), (JsonTerminalClasses::error, ::rusty_lr::parser::state::ShiftTarget::new(42, true)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Members, ::rusty_lr::parser::state::ShiftTarget::new(44, true)), @@ -2877,9 +2835,9 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(40, true)), + ::rusty_lr::parser::state::ShiftTarget::new(40, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(41, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(41, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(4, true)), (JsonNonTerminals::_LiteralString36, @@ -2893,9 +2851,9 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(40, true)), + ::rusty_lr::parser::state::ShiftTarget::new(40, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(41, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(41, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(3, true)), (JsonNonTerminals::_LiteralString36, @@ -2909,7 +2867,7 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass28, - ::rusty_lr::parser::state::ShiftTarget::new(43, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(43, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [10,]; let shifted : & 'static @@ -2925,7 +2883,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass28, - ::rusty_lr::parser::state::ShiftTarget::new(45, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(45, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [9,]; let shifted : & 'static [u8] @@ -2941,7 +2899,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass12, - ::rusty_lr::parser::state::ShiftTarget::new(47, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(47, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); let reduce_rules = vec![11]; __reduce_map .extend(__rustylr_tset8.iter().map(| term | (* term, reduce_rules.clone()))); @@ -2951,9 +2909,9 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(48, true)), + ::rusty_lr::parser::state::ShiftTarget::new(48, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(49, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(49, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Members, ::rusty_lr::parser::state::ShiftTarget::new(50, true)), (JsonNonTerminals::Member, ::rusty_lr::parser::state::ShiftTarget::new(46, @@ -2970,9 +2928,9 @@ impl JsonParser { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(48, true)), + ::rusty_lr::parser::state::ShiftTarget::new(48, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(49, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(49, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(4, true)), (JsonNonTerminals::_LiteralString36, @@ -2986,9 +2944,9 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(48, true)), + ::rusty_lr::parser::state::ShiftTarget::new(48, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(49, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(49, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(3, true)), (JsonNonTerminals::_LiteralString36, @@ -3010,7 +2968,7 @@ impl JsonParser { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass29, - ::rusty_lr::parser::state::ShiftTarget::new(52, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(52, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::String, ::rusty_lr::parser::state::ShiftTarget::new(64, true)),], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map @@ -3074,7 +3032,7 @@ impl JsonParser { (JsonTerminalClasses::TermClass28, ::rusty_lr::parser::state::ShiftTarget::new(60, false)), (JsonTerminalClasses::TermClass30, - ::rusty_lr::parser::state::ShiftTarget::new(53, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(53, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Character, ::rusty_lr::parser::state::ShiftTarget::new(60, true)), (JsonNonTerminals::_CharacterPlus27, @@ -3106,7 +3064,7 @@ impl JsonParser { (JsonTerminalClasses::TermClass9, ::rusty_lr::parser::state::ShiftTarget::new(59, false)), (JsonTerminalClasses::TermClass26, - ::rusty_lr::parser::state::ShiftTarget::new(54, true)), + ::rusty_lr::parser::state::ShiftTarget::new(54, false)), (JsonTerminalClasses::TermClass29, ::rusty_lr::parser::state::ShiftTarget::new(59, false)), (JsonTerminalClasses::TermClass30, @@ -3323,7 +3281,7 @@ impl JsonParser { (JsonTerminalClasses::TermClass28, ::rusty_lr::parser::state::ShiftTarget::new(60, false)), (JsonTerminalClasses::TermClass30, - ::rusty_lr::parser::state::ShiftTarget::new(53, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(53, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Character, ::rusty_lr::parser::state::ShiftTarget::new(60, true)), (JsonNonTerminals::_CharacterPlus27, @@ -3349,7 +3307,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass29, - ::rusty_lr::parser::state::ShiftTarget::new(63, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(63, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [16,]; let shifted : & 'static @@ -3365,9 +3323,9 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(65, true)), + ::rusty_lr::parser::state::ShiftTarget::new(65, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(66, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(66, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(67, true)), (JsonNonTerminals::_LiteralString36, @@ -3381,9 +3339,9 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(65, true)), + ::rusty_lr::parser::state::ShiftTarget::new(65, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(66, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(66, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(4, true)), (JsonNonTerminals::_LiteralString36, @@ -3397,9 +3355,9 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(65, true)), + ::rusty_lr::parser::state::ShiftTarget::new(65, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(66, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(66, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(3, true)), (JsonNonTerminals::_LiteralString36, @@ -3413,7 +3371,7 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass16, - ::rusty_lr::parser::state::ShiftTarget::new(68, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(68, false)),], shift_goto_map_nonterm : vec![], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map.into_iter().collect() }, ruleset : { let rules : & 'static [u8] = & [13,]; let shifted : & 'static @@ -3421,9 +3379,9 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(1, true)), + ::rusty_lr::parser::state::ShiftTarget::new(1, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(2, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(2, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Element, ::rusty_lr::parser::state::ShiftTarget::new(69, true)), (JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(70, @@ -3446,23 +3404,23 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass6, - ::rusty_lr::parser::state::ShiftTarget::new(8, true)), + ::rusty_lr::parser::state::ShiftTarget::new(8, false)), (JsonTerminalClasses::TermClass7, - ::rusty_lr::parser::state::ShiftTarget::new(13, true)), + ::rusty_lr::parser::state::ShiftTarget::new(13, false)), (JsonTerminalClasses::TermClass9, - ::rusty_lr::parser::state::ShiftTarget::new(17, true)), + ::rusty_lr::parser::state::ShiftTarget::new(17, false)), (JsonTerminalClasses::TermClass11, - ::rusty_lr::parser::state::ShiftTarget::new(71, true)), + ::rusty_lr::parser::state::ShiftTarget::new(71, false)), (JsonTerminalClasses::TermClass14, ::rusty_lr::parser::state::ShiftTarget::new(81, false)), (JsonTerminalClasses::TermClass15, - ::rusty_lr::parser::state::ShiftTarget::new(74, true)), + ::rusty_lr::parser::state::ShiftTarget::new(74, false)), (JsonTerminalClasses::TermClass20, - ::rusty_lr::parser::state::ShiftTarget::new(29, true)), + ::rusty_lr::parser::state::ShiftTarget::new(29, false)), (JsonTerminalClasses::TermClass27, - ::rusty_lr::parser::state::ShiftTarget::new(39, true)), + ::rusty_lr::parser::state::ShiftTarget::new(39, false)), (JsonTerminalClasses::TermClass29, - ::rusty_lr::parser::state::ShiftTarget::new(52, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(52, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Value, ::rusty_lr::parser::state::ShiftTarget::new(77, true)), (JsonNonTerminals::Object, ::rusty_lr::parser::state::ShiftTarget::new(77, @@ -3491,7 +3449,7 @@ impl JsonParser { vec![(JsonTerminalClasses::TermClass14, ::rusty_lr::parser::state::ShiftTarget::new(26, false)), (JsonTerminalClasses::TermClass15, - ::rusty_lr::parser::state::ShiftTarget::new(72, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(72, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::_TermSet33, ::rusty_lr::parser::state::ShiftTarget::new(26, true)),], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map @@ -3549,9 +3507,9 @@ impl JsonParser { usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass28, - ::rusty_lr::parser::state::ShiftTarget::new(76, true)), + ::rusty_lr::parser::state::ShiftTarget::new(76, false)), (JsonTerminalClasses::TermClass29, - ::rusty_lr::parser::state::ShiftTarget::new(52, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(52, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::String, ::rusty_lr::parser::state::ShiftTarget::new(64, true)),], reduce_map : { let mut __reduce_map = std::collections::BTreeMap::new(); __reduce_map @@ -3569,9 +3527,9 @@ impl JsonParser { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(78, true)), + ::rusty_lr::parser::state::ShiftTarget::new(78, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(79, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(79, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(80, true)), (JsonNonTerminals::_LiteralString36, @@ -3585,9 +3543,9 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(78, true)), + ::rusty_lr::parser::state::ShiftTarget::new(78, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(79, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(79, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(4, true)), (JsonNonTerminals::_LiteralString36, @@ -3601,9 +3559,9 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(78, true)), + ::rusty_lr::parser::state::ShiftTarget::new(78, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(79, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(79, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(3, true)), (JsonNonTerminals::_LiteralString36, @@ -3625,7 +3583,7 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass13, - ::rusty_lr::parser::state::ShiftTarget::new(82, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(82, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::_Group34, ::rusty_lr::parser::state::ShiftTarget::new(85, false)), (JsonNonTerminals::__Group34Question35, @@ -3677,9 +3635,9 @@ impl JsonParser { usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass18, - ::rusty_lr::parser::state::ShiftTarget::new(86, true)), + ::rusty_lr::parser::state::ShiftTarget::new(86, false)), (JsonTerminalClasses::TermClass19, - ::rusty_lr::parser::state::ShiftTarget::new(90, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(90, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Exponent, ::rusty_lr::parser::state::ShiftTarget::new(93, true)), (JsonNonTerminals::_LiteralString36, @@ -3793,9 +3751,9 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(95, true)), + ::rusty_lr::parser::state::ShiftTarget::new(95, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(96, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(96, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(80, true)), (JsonNonTerminals::_LiteralString36, @@ -3809,9 +3767,9 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(95, true)), + ::rusty_lr::parser::state::ShiftTarget::new(95, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(96, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(96, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(4, true)), (JsonNonTerminals::_LiteralString36, @@ -3825,9 +3783,9 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(95, true)), + ::rusty_lr::parser::state::ShiftTarget::new(95, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(96, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(96, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(3, true)), (JsonNonTerminals::_LiteralString36, @@ -3841,7 +3799,7 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass13, - ::rusty_lr::parser::state::ShiftTarget::new(98, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(98, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::_Group34, ::rusty_lr::parser::state::ShiftTarget::new(100, false)), (JsonNonTerminals::__Group34Question35, @@ -3885,9 +3843,9 @@ impl JsonParser { usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass18, - ::rusty_lr::parser::state::ShiftTarget::new(101, true)), + ::rusty_lr::parser::state::ShiftTarget::new(101, false)), (JsonTerminalClasses::TermClass19, - ::rusty_lr::parser::state::ShiftTarget::new(104, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(104, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Exponent, ::rusty_lr::parser::state::ShiftTarget::new(93, true)), (JsonNonTerminals::_LiteralString36, @@ -3985,9 +3943,9 @@ impl JsonParser { ::rusty_lr::rule::ShiftedRuleRef { rule : rule as usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(108, true)), + ::rusty_lr::parser::state::ShiftTarget::new(108, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(109, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(109, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(80, true)), (JsonNonTerminals::_LiteralString36, @@ -4001,9 +3959,9 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(108, true)), + ::rusty_lr::parser::state::ShiftTarget::new(108, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(109, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(109, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(4, true)), (JsonNonTerminals::_LiteralString36, @@ -4017,9 +3975,9 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass0, - ::rusty_lr::parser::state::ShiftTarget::new(108, true)), + ::rusty_lr::parser::state::ShiftTarget::new(108, false)), (JsonTerminalClasses::TermClass1, - ::rusty_lr::parser::state::ShiftTarget::new(109, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(109, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::WS, ::rusty_lr::parser::state::ShiftTarget::new(3, true)), (JsonNonTerminals::_LiteralString36, @@ -4033,7 +3991,7 @@ impl JsonParser { : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass13, - ::rusty_lr::parser::state::ShiftTarget::new(111, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(111, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::_Group34, ::rusty_lr::parser::state::ShiftTarget::new(113, false)), (JsonNonTerminals::__Group34Question35, @@ -4077,9 +4035,9 @@ impl JsonParser { usize, shifted : shifted as usize, } }).collect() } }, ::rusty_lr::parser::state::IntermediateState { shift_goto_map_term : vec![(JsonTerminalClasses::TermClass18, - ::rusty_lr::parser::state::ShiftTarget::new(114, true)), + ::rusty_lr::parser::state::ShiftTarget::new(114, false)), (JsonTerminalClasses::TermClass19, - ::rusty_lr::parser::state::ShiftTarget::new(117, true)),], + ::rusty_lr::parser::state::ShiftTarget::new(117, false)),], shift_goto_map_nonterm : vec![(JsonNonTerminals::Exponent, ::rusty_lr::parser::state::ShiftTarget::new(93, true)), (JsonNonTerminals::_LiteralString36,