pub enum Token {
Show 17 variants
LeftBrace,
RightBrace,
LeftBracket,
RightBracket,
Comma,
Colon,
Null,
True,
False,
Newline,
String,
UnquotedString,
Number,
SingleLineComment,
MultiLineComment,
Eof,
Error,
}Variants§
LeftBrace
Opening curly brace ‘{’ for objects.
RightBrace
Closing curly brace ‘}’ for objects.
LeftBracket
Opening square bracket ‘[’ for arrays.
RightBracket
Closing square bracket ‘]’ for arrays.
Comma
Comma ‘,’ separator.
Colon
Colon ‘:’ separator between keys and values.
Null
JSON null literal.
True
JSON true literal.
False
JSON false literal.
Newline
Newline character ‘\n’ or ‘\r’ (used for newline-as-comma feature).
String
Whitespace (spaces, tabs) - skipped during parsing. String literal (double or single quoted).
UnquotedString
Unquoted string (used for object keys in forgiving mode). (Basic, will be refined)
Number
Numeric literal. (Basic, will be refined)
SingleLineComment
Single-line comment starting with ‘//’ or ‘#’.
MultiLineComment
Multi-line comment enclosed in ‘/* */’.
Eof
End of file/input. (Logos usually handles this implicitly)
Error
Represents a lexical error.
Trait Implementations§
impl Copy for Token
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, Token>)
fn lex(lex: &mut Lexer<'s, Token>)
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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