2020-02-17 16:15:06 -05:00
|
|
|
use cfgrammar::yacc::YaccKind;
|
|
|
|
|
use lrlex::LexerBuilder;
|
|
|
|
|
use lrpar::{CTParserBuilder};
|
2020-02-25 13:44:15 -05:00
|
|
|
use rerun_except::rerun_except;
|
2020-01-25 19:17:39 -05:00
|
|
|
|
2020-02-17 16:15:06 -05:00
|
|
|
fn main() -> Result<(), Box<dyn std::error::Error>> {
|
|
|
|
|
let lex_rule_ids_map = CTParserBuilder::new()
|
|
|
|
|
.yacckind(YaccKind::Grmtools)
|
|
|
|
|
.process_file_in_src("vm/obj/syn/parser.y")?;
|
|
|
|
|
LexerBuilder::new()
|
|
|
|
|
.rule_ids_map(lex_rule_ids_map)
|
|
|
|
|
.process_file_in_src("vm/obj/syn/lexer.l")?;
|
2020-02-25 13:44:15 -05:00
|
|
|
rerun_except(&[
|
|
|
|
|
"examples/*.asm",
|
|
|
|
|
"tests/*.asm",
|
|
|
|
|
]).unwrap();
|
2020-02-17 16:15:06 -05:00
|
|
|
Ok(())
|
2020-01-25 19:17:39 -05:00
|
|
|
}
|