Token

Enum Token 

Source
pub enum Token {
Show 37 variants Ident(Name), Lit(Literal), OpenDelim(DelimToken), CloseDelim(DelimToken), Keyword(Kw), Period, Comma, Colon, Semicolon, Apostrophe, Ampersand, Arrow, Condition, LtGt, VarAssign, Lshift, Rshift, Eq, Neq, Lt, Leq, Gt, Geq, MatchEq, MatchNeq, MatchLt, MatchLeq, MatchGt, MatchGeq, Add, Sub, Mul, Div, Pow, Pipe, Qmark, Eof,
}
Expand description

A primary token as emitted by the lexer.

Variants§

§

Ident(Name)

A basic or extended identifier.

§

Lit(Literal)

A literal.

§

OpenDelim(DelimToken)

An opening delimiter.

§

CloseDelim(DelimToken)

A closing delimiter.

§

Keyword(Kw)

A keyword.

§

Period

§

Comma

§

Colon

§

Semicolon

§

Apostrophe

§

Ampersand

§

Arrow

§

Condition

§

LtGt

§

VarAssign

§

Lshift

§

Rshift

§

Eq

§

Neq

§

Lt

§

Leq

§

Gt

§

Geq

§

MatchEq

§

MatchNeq

§

MatchLt

§

MatchLeq

§

MatchGt

§

MatchGeq

§

Add

§

Sub

§

Mul

§

Div

§

Pow

§

Pipe

§

Qmark

§

Eof

The end of the input file.

Implementations§

Source§

impl Token

Source

pub fn as_str(self) -> &'static str

Source

pub fn is_ident(self) -> bool

Checks if this token is a identifier.

Trait Implementations§

Source§

impl Clone for Token

Source§

fn clone(&self) -> Token

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Token

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for Token

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Hash for Token

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for Token

Source§

fn eq(&self, other: &Token) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<T> TokenStream<Token> for BasicParser<T>
where T: Grinder<Item = Option<u8>, Error = DiagBuilder2>,

Source§

fn peek(&mut self, offset: usize) -> Spanned<Token>

Look ahead at a token in the stream.
Source§

fn bump(&mut self)

Consume the current token.
Source§

fn consumed(&self) -> usize

Get the number of tokens consumed. Excludes tokens skipped with skip.
Source§

fn last_span(&self) -> Span

Get the span of the last token consumed token (bumped or skipped).
Source§

fn emit(&mut self, diag: DiagBuilder2)

Emit a diagnostic.
Source§

fn severity(&self) -> Severity

Get the severity of the worst diagnostic emitted so far.
Source§

fn skip(&mut self)

Skip the current token. Usually the same as bump, but may be used to keep skipped tokens out of the consumed tokens count by some parsers.
Source§

fn last_loc(&self) -> Location

Get the tail location of the last consumed token (bumped or skipped).
Source§

fn is_fatal(&self) -> bool

Check whether a fatal diagnostic has been emitted.
Source§

fn is_error(&self) -> bool

Check whether an error diagnostic has been emitted.
Source§

impl Copy for Token

Source§

impl Eq for Token

Source§

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<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.