Token

Enum Token 

Source
pub enum Token<S> {
    Word(S),
    Num(S),
    Str(S, Vec<StrPart<S, Self>>),
    Op(S),
    Char(S),
    Block(S, Vec<Self>),
}
Expand description

Token (tree) generic over string type S.

Variants§

§

Word(S)

keywords such as def, but also identifiers such as map, $x, or @csv

§

Num(S)

number

§

Str(S, Vec<StrPart<S, Self>>)

(interpolated) string, surrounded by opening and closing ‘“’

§

Op(S)

binary operator, such as | or +=

Note that this includes - (negation) also when it is used as unary operator.

§

Char(S)

punctuation, such as . or ;

§

Block(S, Vec<Self>)

delimited tokens, e.g. (...) or [...]

Implementations§

Source§

impl<'a> Token<&'a str>

Source

pub fn opt_as_str(found: Option<&Self>, code: &'a str) -> &'a str

Return the string slice corresponding to an optional token.

If the token is not present, return an empty string slice starting at the end of code.

Source

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

Return the string slice corresponding to the token.

Source

pub fn span(&self, code: &str) -> Span

Return the span of a token that was lexed from some given input.

Trait Implementations§

Source§

impl<S: Debug> Debug for Token<S>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<S> Freeze for Token<S>
where S: Freeze,

§

impl<S> RefUnwindSafe for Token<S>
where S: RefUnwindSafe,

§

impl<S> Send for Token<S>
where S: Send,

§

impl<S> Sync for Token<S>
where S: Sync,

§

impl<S> Unpin for Token<S>
where S: Unpin,

§

impl<S> UnwindSafe for Token<S>
where S: UnwindSafe,

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> 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, 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.