pub(crate) enum ExprToken<'a> {
Show 20 variants
DecimalFormat(u8),
CustomVar(&'a str),
EffectVar(&'a str),
SpellLevelVar(&'a str),
PlayerVar(&'a str),
EnchantVar(&'a str),
MiscVar(&'a str),
AtVar(&'a str),
CrossSpellRef(&'a str),
DollarFunc(&'a str),
SimpleVar(&'a str),
Number(f64),
Ident(&'a str),
LParen,
RParen,
Plus,
Minus,
Star,
Slash,
Comma,
}Expand description
Tokens for expression parsing inside ${…} blocks.
Variants§
DecimalFormat(u8)
CustomVar(&'a str)
EffectVar(&'a str)
SpellLevelVar(&'a str)
PlayerVar(&'a str)
EnchantVar(&'a str)
MiscVar(&'a str)
AtVar(&'a str)
CrossSpellRef(&'a str)
DollarFunc(&'a str)
SimpleVar(&'a str)
Number(f64)
Ident(&'a str)
LParen
RParen
Plus
Minus
Star
Slash
Comma
Trait Implementations§
Source§impl<'s> Logos<'s> for ExprToken<'s>
impl<'s> Logos<'s> for ExprToken<'s>
Source§type Error = ()
type Error = ()
Error type returned by the lexer. This can be set using
#[logos(error = MyError)]. Defaults to () if not set.Source§type Extras = ()
type Extras = ()
Associated type
Extras for the particular lexer. This can be set using
#[logos(extras = MyExtras)] and accessed inside callbacks.Source§type Source = str
type Source = str
Source type this token can be lexed from. This will default to
str,
unless one of the defined patterns explicitly uses non-unicode byte values
or byte slices, in which case that implementation will use [u8].Source§fn lex(
lex: &mut Lexer<'s, Self>,
) -> Option<Result<Self, <Self as Logos<'s>>::Error>>
fn lex( lex: &mut Lexer<'s, Self>, ) -> Option<Result<Self, <Self as Logos<'s>>::Error>>
The heart of Logos. Called by the
Lexer. The implementation for this function
is generated by the logos-derive crate.§fn lexer(source: &'source Self::Source) -> Lexer<'source, Self> ⓘwhere
Self::Extras: Default,
fn lexer(source: &'source Self::Source) -> Lexer<'source, Self> ⓘwhere
Self::Extras: Default,
Create a new instance of a
Lexer that will produce tokens implementing
this Logos.§fn lexer_with_extras(
source: &'source Self::Source,
extras: Self::Extras,
) -> Lexer<'source, Self> ⓘ
fn lexer_with_extras( source: &'source Self::Source, extras: Self::Extras, ) -> Lexer<'source, Self> ⓘ
Create a new instance of a
Lexer with the provided Extras that will
produce tokens implementing this Logos.impl<'a> StructuralPartialEq for ExprToken<'a>
Auto Trait Implementations§
impl<'a> Freeze for ExprToken<'a>
impl<'a> RefUnwindSafe for ExprToken<'a>
impl<'a> Send for ExprToken<'a>
impl<'a> Sync for ExprToken<'a>
impl<'a> Unpin for ExprToken<'a>
impl<'a> UnsafeUnpin for ExprToken<'a>
impl<'a> UnwindSafe for ExprToken<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more