pub enum Token {
Show 81 variants
LineDoc(String),
Shebang(String),
LeftParen,
RightParen,
LeftBracket,
RightBracket,
LeftCurly,
RightCurly,
LeftAngle,
RightAngle,
Percent,
Plus,
Minus,
Star,
Caret,
Slash,
Colon,
DoubleColon,
TripleColon,
Semicolon,
Comma,
Assign,
Increment,
Decrement,
DoubleAnd,
DoublePipe,
AddAssign,
SubAssign,
MulAssign,
DivAssign,
ModAssign,
Arrow,
FatArrow,
Range,
RangeInclusive,
Spread,
At,
Ampersand,
Pipe,
Exclamation,
Backtick,
LessEqual,
GreaterEqual,
NotStructuralEqual,
NotEqual,
StructuralEqual,
Equal,
Is,
Matches,
And,
Or,
True,
False,
Null,
Placeholder,
Const,
Variable,
Mutable,
MutRef,
Function,
Procedure,
If,
Else,
TypeDeclaration,
TypeExpressionStart,
TypeAlias,
Dot,
PointerAddress(String),
Infinity,
Nan,
IntegerLiteral(String),
BinaryIntegerLiteral(IntegerWithVariant),
OctalIntegerLiteral(IntegerWithVariant),
HexadecimalIntegerLiteral(IntegerWithVariant),
DecimalLiteral(LiteralWithVariant<DecimalTypeVariant>),
FractionLiteral(String),
StringLiteral(String),
Endpoint(String),
Identifier(String),
Slot(String),
NamedSlot(String),
}Variants§
LineDoc(String)
Shebang(String)
LeftParen
RightParen
LeftBracket
RightBracket
LeftCurly
RightCurly
LeftAngle
RightAngle
Percent
Plus
Minus
Star
Caret
Slash
Colon
DoubleColon
TripleColon
Semicolon
Comma
Assign
Increment
Decrement
DoubleAnd
DoublePipe
AddAssign
SubAssign
MulAssign
DivAssign
ModAssign
Arrow
FatArrow
Range
RangeInclusive
Spread
At
Ampersand
Pipe
Exclamation
Backtick
LessEqual
GreaterEqual
NotStructuralEqual
NotEqual
StructuralEqual
Equal
Is
Matches
And
Or
True
False
Null
Placeholder
Const
Variable
Mutable
MutRef
Function
Procedure
If
Else
TypeDeclaration
TypeExpressionStart
TypeAlias
Dot
PointerAddress(String)
Infinity
Nan
IntegerLiteral(String)
Decimal integer with suffix Includes
- standard decimal integers (e.g. 1234)
- integers with integer suffix (e.g. 42u8, 100i32, 999ibig)
- integers with exponent (e.g. 12e4, 3E-2) which are treated as decimals
- integers with decimal suffix (e.g. 12f32, 1e4f64) which are treated as decimals
BinaryIntegerLiteral(IntegerWithVariant)
OctalIntegerLiteral(IntegerWithVariant)
HexadecimalIntegerLiteral(IntegerWithVariant)
DecimalLiteral(LiteralWithVariant<DecimalTypeVariant>)
Decimal literal (excluding decimals without dot (e.g. 12f32, 1e4) - these are handled by IntegerLiteral)
FractionLiteral(String)
Decimal fraction (e.g. 1/2, 3/4)
StringLiteral(String)
Endpoint(String)
Identifier(String)
Slot(String)
NamedSlot(String)
Implementations§
Trait Implementations§
Source§impl<'s> Logos<'s> for Token
impl<'s> Logos<'s> for Token
Source§type Error = Range<usize>
type Error = Range<usize>
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>)
fn lex(lex: &mut Lexer<'s, Self>)
The heart of Logos. Called by the
Lexer. The implementation for this function
is generated by the logos-derive crate.impl Eq for Token
impl StructuralPartialEq for Token
Auto Trait Implementations§
impl Freeze for Token
impl RefUnwindSafe for Token
impl Send for Token
impl Sync for Token
impl Unpin for Token
impl UnwindSafe for Token
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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,
Source§impl<T> CustomError for T
impl<T> CustomError for T
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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