trampoline-parser 0.1.3

DSL for generating trampoline-based scannerless parsers
Documentation

Trampoline Parser Generator

A DSL for generating fully trampoline-based scannerless parsers.

Example

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();