Trait any_lexer::Lexer

source ·
pub trait Lexer<'text> {
    type Token: ScanToken;

    // Required methods
    fn scanner(&self) -> &Scanner<'text>;
    fn scanner_mut(&mut self) -> &mut Scanner<'text>;

    // Provided methods
    fn next_token(&mut self) -> Option<(Self::Token, TokenSpan<'text>)> { ... }
    fn peek_token(&self) -> Option<(Self::Token, TokenSpan<'text>)> { ... }
    fn cursor_pos(&self) -> usize { ... }
    fn set_cursor_pos(&mut self, pos: usize) -> usize { ... }
    fn reset(&mut self) -> usize { ... }
}

Required Associated Types§

Required Methods§

source

fn scanner(&self) -> &Scanner<'text>

source

fn scanner_mut(&mut self) -> &mut Scanner<'text>

Provided Methods§

source

fn next_token(&mut self) -> Option<(Self::Token, TokenSpan<'text>)>

source

fn peek_token(&self) -> Option<(Self::Token, TokenSpan<'text>)>

source

fn cursor_pos(&self) -> usize

source

fn set_cursor_pos(&mut self, pos: usize) -> usize

source

fn reset(&mut self) -> usize

Implementors§

source§

impl<'text> Lexer<'text> for CLexer<'text>

source§

impl<'text> Lexer<'text> for CppLexer<'text>

source§

impl<'text> Lexer<'text> for CssLexer<'text>

source§

impl<'text> Lexer<'text> for JsonCLexer<'text>

source§

impl<'text> Lexer<'text> for JsonLexer<'text>

source§

impl<'text> Lexer<'text> for PythonLexer<'text>

source§

impl<'text> Lexer<'text> for RustLexer<'text>

source§

impl<'text> Lexer<'text> for ScssLexer<'text>