pub struct Tokenizer {
    pub error_token_type: TerminalIndex,
    /* private fields */
}
Expand description

The Tokenizer creates a specially formatted regular expression that can be used for tokenizing an input string.

Fields§

§error_token_type: TerminalIndex

This is the token index for the special error token. Its value isn’t constant and depends on the given token count. It is always the last token that is tried to match and usually indicates an error.

Implementations§

source§

impl Tokenizer

source

pub fn build( augmented_terminals: &[&str], scanner_specifics: &[&str], scanner_terminal_indices: &[usize] ) -> Result<Self>

Creates a new Tokenizer object from augmented terminals and scanner specific information.

Arguments
augmented_terminals

All valid terminals of the grammar. These include the specific common terminals EOI, NEW_LINE, WHITESPACE, LINE_COMMENT, BLOCK_COMMENT with the value UNMATCHABLE_TOKEN to provide consistent index handling for all scanner states.

scanner_specifics

The values of the five scanner specific common terminals EOI, NEW_LINE, WHITESPACE, LINE_COMMENT and BLOCK_COMMENT

scanner_terminal_indices

The indices of token types belonging to this scanner state. These indices are pointing into augmented_terminals.

Errors

This function will return an error if the regex patterns can’t be compiled.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.