rustlr 0.2.4

LR(1)/LALR(1) parser generator for rust
Documentation
//Parser generated by rustlr

#![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;
} //make_parser