pub trait Symbol<'input, G> {
type Output;
fn pretty_print(&self) -> String;
fn parse(&self, grammar: &mut G, input: Input<'input>) -> ParseResult<'input, Self::Output>;
fn parse_complete(&self, grammar: &mut G, text: &'input str) -> Result<Self::Output, Error<'input>> { ... }
fn parse_prefix(&self, grammar: &mut G, text: &'input str) -> ParseResult<'input, Self::Output> { ... }
}
Associated Types
Required Methods
Provided Methods
Implementors
impl<'input, NT1, P2, R, G> Symbol<'input, G> for Or<NT1, P2> where NT1: Symbol<'input, G, Output=R>, P2: Symbol<'input, G, Output=R>
impl<'input, NT1, P2, G> Symbol<'input, G> for Join<NT1, P2> where NT1: Symbol<'input, G>, P2: Symbol<'input, G>
impl<'input, G> Symbol<'input, G> for Empty
impl<'input, G> Symbol<'input, G> for Whitespace
impl<'input, G> Symbol<'input, G> for &'static str
impl<'input, G, P> Symbol<'input, G> for Optional<P> where P: Symbol<'input, G>
impl<'input, G, P, S> Symbol<'input, G> for Repeat<P, S> where P: Symbol<'input, G>, S: Symbol<'input, G>
impl<'input, G> Symbol<'input, G> for RegexNt