Trait Tokenizer

Source
pub trait Tokenizer {
    type Token;
    type Position: Clone + Default;
    type Error;

    // Required method
    fn next_token(&mut self) -> Option<Result<TokenFor<Self>, Self::Error>>;
}

Required Associated Types§

Required Methods§

Source

fn next_token(&mut self) -> Option<Result<TokenFor<Self>, Self::Error>>

Implementations on Foreign Types§

Source§

impl<T: Tokenizer> Tokenizer for &mut T

Source§

type Token = <T as Tokenizer>::Token

Source§

type Position = <T as Tokenizer>::Position

Source§

type Error = <T as Tokenizer>::Error

Source§

fn next_token(&mut self) -> Option<Result<TokenFor<Self>, Self::Error>>

Implementors§

Source§

impl<I, T, Idx, E> Tokenizer for IterTokenizer<I>
where I: Iterator<Item = Result<Token<T, Idx>, E>>, Idx: Clone + Default,

Source§

type Token = T

Source§

type Position = Idx

Source§

type Error = E

Source§

impl<S: Source, C: CharSet<S::Char>> Tokenizer for CharSetTokenizer<S, C>

Source§

type Token = (<S as Source>::String, <C as CharSet<<S as Source>::Char>>::TokenKind)

Source§

type Position = usize

Source§

type Error = Either<<S as Source>::Error, <C as CharSet<<S as Source>::Char>>::Error>