pub enum Token {
Show 24 variants
Bool(bool),
BraceOpen,
BraceClose,
BracketOpen,
BracketClose,
ParenthesisOpen,
ParenthesisClose,
Colon,
Comma,
Null,
NaN,
Infinity,
NegInfinity,
ByteStringHex(Result<Vec<u8>>),
ByteStringBase64(Result<Vec<u8>>),
DateLiteral(Result<Date>),
Number(f64),
String(String),
TagValue(Result<TagValue>),
TagName(String),
KnownValueNumber(Result<u64>),
KnownValueName(String),
Unit,
UR(Result<UR>),
}Variants§
Bool(bool)
BraceOpen
BraceClose
BracketOpen
BracketClose
ParenthesisOpen
ParenthesisClose
Colon
Comma
Null
NaN
Infinity
NegInfinity
ByteStringHex(Result<Vec<u8>>)
Binary string in hex format.
ByteStringBase64(Result<Vec<u8>>)
Binary string in base64 format.
DateLiteral(Result<Date>)
ISO-8601 date literal (date-only or date-time).
Number(f64)
JavaScript-style number.
String(String)
JavaScript-style string.
TagValue(Result<TagValue>)
Integer followed immediately by an opening parenthesis.
TagName(String)
Tag name followed immediately by an opening parenthesis.
KnownValueNumber(Result<u64>)
Integer (same regex as TagValue) enclosed in single quotes.
KnownValueName(String)
Single-quoted empty string (i.e., '') (Unit) or Identifier (same regex
as for tag names) enclosed in single quotes.
Unit
The unit known value 40000(0).
UR(Result<UR>)
Trait Implementations§
Source§impl<'s> Logos<'s> for Token
impl<'s> Logos<'s> for Token
Source§type Error = Error
type Error = 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 UnwindSafe for Token
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)