Rust製組み込み型パーサジェネレータ(Constructible Parser Generator on Rust)
- example_build_oneshot (main.rs)
- example_build_prebuild (main.rs)
- example_lang_easyarith (syntax.rs)
- example_lang_json (syntax.rs)
- example_lang_pl0 (syntax.rs)
- example_lang_xml (syntax.rs)
$ cargo run -p example_lang_easyarith
var x;
var y;
x = 10;
y = 0x10;
print (x + x) * (y + y);
640
- all
- derive
- prebuild
- template
- dev
- regexlex: crates/lex_regex
- lr0: crates/parse_lr_lr0
- lr1: crates/parse_lr_lr1
- slr1: crates/parse_lr_slr1
- lalr1: crates/parse_lr_lalr1
- void: crates/ir_void
- sexp: crates/ir_sexp
- tree: crates/ir_tree
// RegexLex(lex) + LR1(parse) + SExp(ir)
copager = { ..., features = ["derive", "regexlex", "lr1", "sexp"] }
// RegexLex(lex) + LALR1(parse) + Void(ir)
copager = { ..., features = ["derive", "regexlex", "lalr1", "void"] }
$ cargo test