#![allow(unused_variables)]
#![allow(non_snake_case)]
#![allow(non_camel_case_types)]
#![allow(unused_parens)]
#![allow(unused_mut)]
#![allow(unused_imports)]
#![allow(unused_assignments)]
#![allow(dead_code)]
#![allow(irrefutable_let_patterns)]
#![allow(unreachable_patterns)]
use std::rc::Rc;
use std::cell::RefCell;
extern crate rustlr;
use rustlr::{Tokenizer,TerminalToken,ZCParser,ZCRProduction,Stateaction,decode_action};
static SYMBOLS:[&'static str;26] = ["_WILDCARD_TOKEN_","d","c","a","b","x","y","e","f","g","S","A","B","M","N","P","Q","C","START","EOF","NEWDELAYNT_A_2","NEWDELAYNT_B_2","NEWDELAYNT_C_2","NEWDELAYNT_NEWDELAYNT_A_2_1","NEWDELAYNT_NEWDELAYNT_B_2_1","NEWDELAYNT_NEWDELAYNT_C_2_1"];
static TABLE:[u64;21] = [42949804033,12884967424,281492156776448,281573761286145,281578056187905,563031558193152,844433520525312,844532304838657,1125934267170816,1407404948979712,1688931465363456,1970333427695616,2251829879635970,2533356395823106,2814831372402690,3096306349047808,3377704016412672,3659256302600192,3940679739834370,3940684034670594,4222206255038467,];
pub fn make_parser() -> ZCParser<(),()>
{
let mut parser1:ZCParser<(),()> = ZCParser::new(19,16);
let mut rule = ZCRProduction::<(),()>::new_skeleton("start");
rule = ZCRProduction::<(),()>::new_skeleton("S");
rule.Ruleaction = |parser|{ let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("S");
rule.Ruleaction = |parser|{ let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("A");
rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("B");
rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("C");
rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("START");
rule.Ruleaction = |parser|{ let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_A_2");
rule.Ruleaction = |parser|{ let mut _item_del2_6_2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); let _delvar_20_1_ = _rrsemaction_2_(parser,_item0_,_item1_); (_delvar_20_1_,_item_del2_6_2_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("S");
rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _delayitem1_0_14 = parser.popstack(); let mut _item0_ = parser.popstack(); _rrsemaction_0_(parser,_item0_,_delayitem1_0_14.0,_delayitem1_0_14.1,_item2_,_item3_) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_B_2");
rule.Ruleaction = |parser|{ let mut _item_del2_8_3_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); let _delvar_21_1_ = _rrsemaction_3_(parser,_item0_,_item1_); (_delvar_21_1_,_item_del2_8_3_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("S");
rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _delayitem1_1_16 = parser.popstack(); let mut _item0_ = parser.popstack(); _rrsemaction_1_(parser,_item0_,_delayitem1_1_16.0,_delayitem1_1_16.1,_item2_,_item3_) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_C_2");
rule.Ruleaction = |parser|{ let mut _item_del1_10_4_ = parser.popstack(); let mut _item0_ = parser.popstack(); let _delvar_22_1_ = _rrsemaction_4_(parser,_item0_); (_delvar_22_1_,_item_del1_10_4_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_A_2");
rule.Ruleaction = |parser|{ let mut _delayitem1_6_18 = parser.popstack(); let mut _item0_ = parser.popstack(); _rrsemaction_6_(parser,_item0_,_delayitem1_6_18.0,_delayitem1_6_18.1) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_NEWDELAYNT_A_2_1");
rule.Ruleaction = |parser|{ let mut _item_del2_12_11_ = parser.popstack(); let mut _delayitem1_6_18 = parser.popstack(); let mut _item0_ = parser.popstack(); let _delvar_23_1_ = _rrsemaction_11_(parser,_item0_,_delayitem1_6_18); (_delvar_23_1_,_item_del2_12_11_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_NEWDELAYNT_A_2_1");
rule.Ruleaction = |parser|{ let mut _item_del3_13_6_ = parser.popstack(); let mut _item_del2_6_2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); let _delvar_23_1_ = _rrsemaction_6_(parser,_item0_,_item1_,_item_del2_6_2_); (_delvar_23_1_,_item_del3_13_6_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("S");
rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _delayitem1_7_29 = parser.popstack(); let mut _item0_ = parser.popstack(); _rrsemaction_7_(parser,_item0_,_delayitem1_7_29.0,_delayitem1_7_29.1,_item2_) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_NEWDELAYNT_B_2_1");
rule.Ruleaction = |parser|{ let mut _item_del3_15_8_ = parser.popstack(); let mut _item_del2_8_3_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); let _delvar_24_1_ = _rrsemaction_8_(parser,_item0_,_item1_,_item_del2_8_3_); (_delvar_24_1_,_item_del3_15_8_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("S");
rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _delayitem1_9_31 = parser.popstack(); let mut _item0_ = parser.popstack(); _rrsemaction_9_(parser,_item0_,_delayitem1_9_31.0,_delayitem1_9_31.1,_item2_) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_NEWDELAYNT_C_2_1");
rule.Ruleaction = |parser|{ let mut _item_del2_17_10_ = parser.popstack(); let mut _item_del1_10_4_ = parser.popstack(); let mut _item0_ = parser.popstack(); let _delvar_25_1_ = _rrsemaction_10_(parser,_item0_,_item_del1_10_4_); (_delvar_25_1_,_item_del2_17_10_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_NEWDELAYNT_A_2_1");
rule.Ruleaction = |parser|{ let mut _delayitem1_12_35 = parser.popstack(); let mut _item0_ = parser.popstack(); _rrsemaction_12_(parser,_item0_,_delayitem1_12_35.0,_delayitem1_12_35.1) };
parser1.Rules.push(rule);
parser1.Errsym = "";
for i in 0..21 {
let symi = ((TABLE[i] & 0x0000ffff00000000) >> 32) as usize;
let sti = ((TABLE[i] & 0xffff000000000000) >> 48) as usize;
parser1.RSM[sti].insert(SYMBOLS[symi],decode_action(TABLE[i]));
}
for s in SYMBOLS { parser1.Symset.insert(s); }
load_extras(&mut parser1);
return parser1;
}
pub fn parse_with<'t>(parser:&mut ZCParser<(),()>, lexer:&mut dyn Tokenizer<'t,()>) -> Result<(),()>
{
let _xres_ = parser.parse(lexer); if !parser.error_occurred() {Ok(_xres_)} else {Err(_xres_)}
}
pub fn parse_train_with<'t>(parser:&mut ZCParser<(),()>, lexer:&mut dyn Tokenizer<'t,()>, parserpath:&str) -> Result<(),()>
{
let _xres_ = parser.parse_train(lexer,parserpath); if !parser.error_occurred() {Ok(_xres_)} else {Err(_xres_)}
}fn load_extras(parser:&mut ZCParser<(),()>)
{
}