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_lr0lr1
: crates/parse_lr_lr1slr1
: crates/parse_lr_slr1lalr1
: crates/parse_lr_lalr1
void
: crates/ir_voidsexp
: crates/ir_sexptree
: 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