Trait Tokenizer

Source
pub trait Tokenizer<'t, F> {
    type Error;

    // Required methods
    fn new(input: &'t str, lexer: F) -> Self;
    fn try_into_vec(self) -> Result<Vec<TokenMatch<'t>>, Self::Error>;
    fn try_collect_adapted<A>(
        self,
    ) -> Result<Vec<TokenMatch<'t>>, ParseErrors<A>>
       where &'t str: Original<A>,
             Self::Error: ErrorAdapter<A, &'t str>;

    // Provided method
    fn into_vec(self) -> Vec<TokenMatch<'t>>
       where Self::Error: Debug,
             Self: Sized { ... }
}

Required Associated Types§

Required Methods§

Source

fn new(input: &'t str, lexer: F) -> Self

Source

fn try_into_vec(self) -> Result<Vec<TokenMatch<'t>>, Self::Error>

Source

fn try_collect_adapted<A>(self) -> Result<Vec<TokenMatch<'t>>, ParseErrors<A>>
where &'t str: Original<A>, Self::Error: ErrorAdapter<A, &'t str>,

Provided Methods§

Source

fn into_vec(self) -> Vec<TokenMatch<'t>>
where Self::Error: Debug, Self: Sized,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<'t, F> Tokenizer<'t, F> for kodept_parse::tokenizer::EagerTokenizer<'t, F::Error<'t>, F>

Source§

impl<'t, F> Tokenizer<'t, F> for kodept_parse::tokenizer::LazyTokenizer<'t, F>
where F: TokenProducer,

Source§

type Error = <F as TokenProducer>::Error<'t>