pub enum Token {
Keyword(String),
Identifier,
StringLiteral,
NumberLiteral,
Operator(String),
Punctuation(String),
}Expand description
Normalized token representation
Identifiers and literals are normalized to allow detection of structurally similar code (Type-2 clones).
Variants§
Keyword(String)
Keyword (if, for, while, fn, def, etc.)
Identifier
Normalized identifier placeholder
StringLiteral
Normalized string literal placeholder
NumberLiteral
Normalized number literal placeholder
Operator(String)
Operator (+, -, *, /, etc.)
Punctuation(String)
Punctuation (parentheses, braces, semicolons)
Implementations§
Trait Implementations§
impl Eq for Token
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> 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