#![allow(unused_variables)]
#![allow(non_snake_case)]
#![allow(non_camel_case_types)]
#![allow(unused_parens)]
#![allow(unused_mut)]
#![allow(unused_assignments)]
extern crate rustlr;
use rustlr::{RuntimeParser,RProduction,Stateaction};
pub fn make_parser() -> RuntimeParser<i64,i64>
{
let mut parser1:RuntimeParser<i64,i64> = RuntimeParser::new(2,4);
let mut rule = RProduction::<i64,i64>::new_skeleton("start");
rule = RProduction::<i64,i64>::new_skeleton("A");
rule.Ruleaction = |parser|{ parser.stack.pop(); parser.stack.pop(); return <i64>::default();};
parser1.Rules.push(rule);
rule = RProduction::<i64,i64>::new_skeleton("START");
rule.Ruleaction = |parser|{ parser.stack.pop(); return <i64>::default();};
parser1.Rules.push(rule);
parser1.Errsym = "";
parser1.RSM[0].insert("A",Stateaction::Gotonext(1));
parser1.RSM[0].insert("a",Stateaction::Shift(2));
parser1.RSM[1].insert("EOF",Stateaction::Accept);
parser1.RSM[2].insert("a",Stateaction::Shift(2));
parser1.RSM[2].insert("A",Stateaction::Gotonext(3));
parser1.RSM[3].insert("EOF",Stateaction::Reduce(0));
return parser1;
}