pub enum Token<'src> {
Show 26 variants
DocCommentLine(&'src str),
Ident(&'src str),
CurlyOpen,
CurlyClose,
BracketOpen,
BracketClose,
Comma,
Colon,
Underscore,
Arrow,
Star,
Try,
As,
Allow,
Default,
CatchAll,
Stride,
Num(&'src str),
Access(Access),
ByteOrder(ByteOrder),
BaseType(BaseType),
Integer(Integer),
AddressMode(AddressMode),
String(&'src str),
Unexpected(&'src str),
Error,
}Variants§
DocCommentLine(&'src str)
Ident(&'src str)
CurlyOpen
CurlyClose
BracketOpen
BracketClose
Comma
Colon
Underscore
Arrow
Star
Try
As
Allow
Default
CatchAll
Stride
Num(&'src str)
Access(Access)
ByteOrder(ByteOrder)
BaseType(BaseType)
All the base types except fixed integers. Those are Self::Integer.
Integer(Integer)
AddressMode(AddressMode)
String(&'src str)
Unexpected(&'src str)
Error
Implementations§
Trait Implementations§
impl<'src> Copy for Token<'src>
Source§impl<'s> Logos<'s> for Token<'s>
impl<'s> Logos<'s> for Token<'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.impl<'src> StructuralPartialEq for Token<'src>
Auto Trait Implementations§
impl<'src> Freeze for Token<'src>
impl<'src> RefUnwindSafe for Token<'src>
impl<'src> Send for Token<'src>
impl<'src> Sync for Token<'src>
impl<'src> Unpin for Token<'src>
impl<'src> UnsafeUnpin for Token<'src>
impl<'src> UnwindSafe for Token<'src>
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> OrderedSeq<'_, T> for Twhere
T: Clone,
Source§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
Source§impl<T> SpanExt for T
impl<T> SpanExt for T
fn with_span(self, span: impl Into<Span>) -> Spanned<Self>where
Self: Sized,
Source§fn spanned(self, span: impl Into<Span>) -> Spanned<Self>where
Self: Sized,
fn spanned(self, span: impl Into<Span>) -> Spanned<Self>where
Self: Sized,
Same as
Self::with_span, but can avoid name collisionsfn with_dummy_span(self) -> Spanned<Self>where
Self: Sized,
fn into_with_dummy_span<T>(self) -> Spanned<T>where
Self: Into<T>,
Source§impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
impl<T, S> SpanWrap<S> for Twhere
S: WrappingSpan<T>,
Source§fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
fn with_span(self, span: S) -> <S as WrappingSpan<Self>>::Spanned
Invokes
WrappingSpan::make_wrapped to wrap an AST node in a span.