tree-builder 0.0.3

Parser Generator library which uses Nom and procedural macros to generate recursive-descent parsers.
Documentation
use tree_builder_macro::build_tree;

#[derive(Debug)]
pub struct Eval(Box<Add>);
tree_builder::ast_parser_maker!(Eval => @Add);

build_tree! {
    AddAux => "+", @Mult <Addition>
            |  "-", @Mult <Subtraction>;

    MultAux => "*", @Atom <Multiplication>
            | "/", @Atom <Division>;

    Atom => @Number
            | "(", @Add, ")" <Grouping>;

    Number => @Float | @Integer;

    Float #=> #d+, ".", #d+ , EPart?;

    Integer #=> #d+, EPart?;

    EPart #=> ("E" | "e"), ("-" | "+")?, #d+;

    Mult => @Atom, @MultAux*;

    Add => @Mult, @AddAux*;
}

fn main() {}