pub trait PrattParser<Inputs>where
    Inputs: Iterator<Item = Self::Input>,
{ type Error: Display; type Input: Debug; type Output: Sized; fn query(&mut self, input: &Self::Input) -> Result<Affix, Self::Error>; fn primary(
        &mut self,
        input: Self::Input
    ) -> Result<Self::Output, Self::Error>; fn infix(
        &mut self,
        lhs: Self::Output,
        op: Self::Input,
        rhs: Self::Output
    ) -> Result<Self::Output, Self::Error>; fn prefix(
        &mut self,
        op: Self::Input,
        rhs: Self::Output
    ) -> Result<Self::Output, Self::Error>; fn postfix(
        &mut self,
        lhs: Self::Output,
        op: Self::Input
    ) -> Result<Self::Output, Self::Error>; fn parse(
        &mut self,
        inputs: Inputs
    ) -> Result<Self::Output, PrattError<Self::Input, Self::Error>> { ... } fn parse_peekable(
        &mut self,
        inputs: &mut Peekable<Inputs>
    ) -> Result<Self::Output, PrattError<Self::Input, Self::Error>> { ... } fn parse_input(
        &mut self,
        tail: &mut Peekable<Inputs>,
        rbp: Precedence
    ) -> Result<Self::Output, PrattError<Self::Input, Self::Error>> { ... } fn nud(
        &mut self,
        head: Self::Input,
        tail: &mut Peekable<Inputs>,
        info: Affix
    ) -> Result<Self::Output, PrattError<Self::Input, Self::Error>> { ... } fn led(
        &mut self,
        head: Self::Input,
        tail: &mut Peekable<Inputs>,
        info: Affix,
        lhs: Self::Output
    ) -> Result<Self::Output, PrattError<Self::Input, Self::Error>> { ... } fn lbp(&mut self, info: Affix) -> Precedence { ... } fn nbp(&mut self, info: Affix) -> Precedence { ... } }

Required Associated Types

Required Methods

Provided Methods

Null-Denotation

Left-Denotation

Left-Binding-Power

Next-Binding-Power

Implementors