LexerData

Trait LexerData 

Source
pub trait LexerData {
    type LexerMode: LexerMode;
    type LexerRule: LexerRule;

    // Required methods
    fn start_mode() -> Self::LexerMode;
    fn dfa_bytes() -> &'static [u8] ;
    fn lookup(mode: Self::LexerMode, pattern_id: usize) -> Self::LexerRule;

    // Provided method
    fn dfa_offsets() -> &'static [usize] { ... }
}
Expand description

Defines the data and configuration used by a lexer. Provides access to lexer modes, rules, DFA data, and lookup utilities.

The struct implementing this trait is automatically generated by parlex-gen’s lexer generator Alex.

Required Associated Types§

Source

type LexerMode: LexerMode

The mode type used by the lexer.

Source

type LexerRule: LexerRule

The rule type used by the lexer.

Required Methods§

Source

fn start_mode() -> Self::LexerMode

Returns the starting lexer mode.

Source

fn dfa_bytes() -> &'static [u8]

Returns the DFA state transition data as raw bytes.

Source

fn lookup(mode: Self::LexerMode, pattern_id: usize) -> Self::LexerRule

Maps a mode and pattern ID to a lexer rule.

Provided Methods§

Source

fn dfa_offsets() -> &'static [usize]

Returns optional DFA offset data.

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§