pub enum Token {
Show 45 variants
Neck,
QueryNeck,
ColonColon,
Colon,
Comma,
Dot,
LParen,
RParen,
LBracket,
RBracket,
Pipe,
At,
Plus,
Minus,
Star,
Slash,
Mod,
ArithEq,
ArithNeq,
NotPlus,
NotEq,
Lte,
Gte,
Lt,
Gt,
Eq,
Box,
Diamond,
Is,
Not,
Before,
After,
During,
Until,
Using,
Minimize,
Maximize,
Float(f64),
Integer(i64),
UnitLiteral((i64, &'static str)),
Anon,
Var(String),
Atom(String),
QuotedAtom(String),
Str(String),
}Expand description
A single Gollum token produced by the lexer.
Variants§
Neck
QueryNeck
ColonColon
Colon
Comma
Dot
LParen
RParen
LBracket
RBracket
Pipe
At
Plus
Minus
Star
Slash
Mod
ArithEq
ArithNeq
NotPlus
NotEq
Lte
Gte
Lt
Gt
Eq
Box
Diamond
Is
Not
Before
After
During
Until
Using
Minimize
Maximize
Float(f64)
Float: must come before Integer so “3.14” is not split into Integer(3) + Dot + Integer(14)
Integer(i64)
Integer: bare number without unit
UnitLiteral((i64, &'static str))
Number with time unit (e.g., 100s, -1h, 1500ms)
Anon
Anonymous variable _
Var(String)
Named variable: uppercase start, or underscore + alphanumeric
Atom(String)
Unquoted atom: lowercase start
QuotedAtom(String)
Quoted atom: ‘foo bar’
Str(String)
String literal: “hello”
Trait Implementations§
Source§impl<'s> Logos<'s> for Token
impl<'s> Logos<'s> for Token
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>)
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 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 UnsafeUnpin for Token
impl UnwindSafe for Token
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