Trampoline Parser Generator
A DSL for generating fully trampoline-based scannerless parsers.
Example
use Grammar;
let grammar = new
.rule
.rule
.build;
let code = grammar.generate;
Trampoline Parser Generator
A DSL for generating fully trampoline-based scannerless parsers.
use trampoline_parser::Grammar;
let grammar = Grammar::new()
.rule("number", |r| {
r.capture(r.one_or_more(r.digit()))
})
.rule("expr", |r| {
r.sequence((
r.parse("number"),
r.lit("+"),
r.parse("number"),
))
})
.build();
let code = grammar.generate();