marpa 0.3.0

Safe bindings to the libmarpa parsing engine
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
use crate::lexer::token::Token;
use crate::thin::Rule;
use crate::thin::Symbol;

pub trait Processor {
    type Token: Token;
    type Tree: Clone + Default;

    fn proc_rule(&mut self, rule: Rule, children: &[Self::Tree]) -> Self::Tree;
    fn proc_token(&mut self, tok: Self::Token) -> Self::Tree;
    fn proc_null(&mut self, sym: Symbol) -> Self::Tree;
}