#![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;21] = ["_WILDCARD_TOKEN_","d","c","a","b","x","y","e","f","g","S","A","B","M","N","START","EOF","NEWDELAYNT_N_2","NEWDELAYNT_M_2","NEWDELAYNT_NEWDELAYNT_N_2_1","NEWDELAYNT_NEWDELAYNT_M_2_1"];
static TABLE:[u64;26] = [51539869697,4295098368,47244836865,42949738497,281543696187395,563005789569025,562962839764992,562958544863232,563035854143489,563031559110657,844493649608706,1125968626384898,3096293463425026,5629525306048512,5911000281907202,6192466669273088,6473928761278464,6755408032628736,7036878714437632,7318375165263874,7599832962957312,7881303644766208,8162800095526914,8162795800166400,8444275071975426,8725792998555650,];
pub fn make_parser() -> ZCParser<(),()>
{
let mut parser1:ZCParser<(),()> = ZCParser::new(19,35);
let mut rule = ZCRProduction::<(),()>::new_skeleton("start");
rule = ZCRProduction::<(),()>::new_skeleton("S");
rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("S");
rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("A");
rule.Ruleaction = |parser|{ let mut _item5_ = parser.popstack(); 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("B");
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("M");
rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("N");
rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("N");
rule.Ruleaction = |parser|{ <()>::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_N_2");
rule.Ruleaction = |parser|{ let mut _item_del1_5_ = parser.popstack(); let mut _item0_ = parser.popstack(); let _delvar_17_1_ = { }; (_delvar_17_1_,_item_del1_5_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_N_2");
rule.Ruleaction = |parser|{ let mut _item_del0_6_ = parser.popstack(); let _delvar_17_1_ = { }; (_delvar_17_1_,_item_del0_6_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("B");
rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _delayeditem1_ = parser.popstack(); let mut _item0_ = parser.popstack(); let mut _item1_ = _delayeditem1_.0; let mut _item2_ = _delayeditem1_.1; };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_M_2");
rule.Ruleaction = |parser|{ let mut _item_del1_5_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); let _delvar_18_0_ = { }; (_delvar_18_0_,_item_del1_5_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_N_2");
rule.Ruleaction = |parser|{ let mut _delayeditem0_ = parser.popstack(); let mut _item0_ = _delayeditem0_.0; let mut _item_del1_5_ = _delayeditem0_.1; let _delvar_17_1_ = { }; (_delvar_17_1_,_item_del1_5_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_NEWDELAYNT_N_2_1");
rule.Ruleaction = |parser|{ let mut _item_del1_9_ = parser.popstack(); let mut _item_del0_6_ = parser.popstack(); let _delvar_19_1_ = { let _delvar_17_1_ = { }; (_delvar_17_1_,_item_del0_6_,) }; (_delvar_19_1_,_item_del1_9_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_NEWDELAYNT_N_2_1");
rule.Ruleaction = |parser|{ let mut _item_del1_12_ = parser.popstack(); let mut _delayeditem0_ = parser.popstack(); let _delvar_19_1_ = { let mut _item0_ = _delayeditem0_.0; let mut _item_del1_5_ = _delayeditem0_.1; let _delvar_17_1_ = { }; (_delvar_17_1_,_item_del1_5_,) }; (_delvar_19_1_,_item_del1_12_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_NEWDELAYNT_N_2_1");
rule.Ruleaction = |parser|{ let mut _item_del2_8_ = parser.popstack(); let mut _item_del1_5_ = parser.popstack(); let mut _item0_ = parser.popstack(); let _delvar_19_1_ = { let _delvar_17_1_ = { }; (_delvar_17_1_,_item_del1_5_,) }; (_delvar_19_1_,_item_del2_8_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("B");
rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _delayeditem1_ = parser.popstack(); let mut _item0_ = parser.popstack(); let mut _delayeditem1_ = _delayeditem1_.0; let mut _item2_ = _delayeditem1_.1; let mut _item1_ = _delayeditem1_.0; let mut _item2_ = _delayeditem1_.1; };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_NEWDELAYNT_M_2_1");
rule.Ruleaction = |parser|{ let mut _item_del1_12_ = parser.popstack(); let mut _item_del1_5_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); let _delvar_20_0_ = { let _delvar_18_0_ = { }; (_delvar_18_0_,_item_del1_5_,) }; (_delvar_20_0_,_item_del1_12_,) };
parser1.Rules.push(rule);
rule = ZCRProduction::<(),()>::new_skeleton("NEWDELAYNT_NEWDELAYNT_N_2_1");
rule.Ruleaction = |parser|{ let mut _delayeditem0_ = parser.popstack(); let mut _delayeditem0_ = _delayeditem0_.0; let mut _item_del1_12_ = _delayeditem0_.1; let _delvar_19_1_ = { let mut _item0_ = _delayeditem0_.0; let mut _item_del1_5_ = _delayeditem0_.1; let _delvar_17_1_ = { }; (_delvar_17_1_,_item_del1_5_,) }; (_delvar_19_1_,_item_del1_12_,) };
parser1.Rules.push(rule);
parser1.Errsym = "";
for i in 0..26 {
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 hoddlexer<'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 hoddlexer<'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<(),()>)
{
}