Enum pattern_lexer::token::TokenKind
source · pub enum TokenKind<'a> {
KEYWORD(&'a str),
DELIMITER(&'a str),
PUNCTUATION(&'a str),
OPERATOR(&'a str),
COMMENT(&'a str),
WHITESPACE(&'a str),
LITERAL(&'a str),
IDENTIFIER,
}Expand description
Premade Token kinds for semantic (examples are not mandatory):
| rust TokenKind | Explanation | Examples |
|————————|————————————|–––––––––––|
| rust KEYWORD | Reserved words | if, return, … |
| rust DELIMITER | Paired delimiter symbols | (), [], {}, … |
| rust PUNCTUATION | Punctuation symbols | ;, ., … |
| rust OPERATOR | Symbols that operates on arguments | +, -, =, … |
| rust COMMENT | Line or block comments | //, /* … */, … |
| rust WHITESPACE | Non-printable characters | - |
| rust LITERAL | Numerical, logical, textual values | 1, true, “true”, … |
| rust IDENTIFIER | Names assigned in a program | x, temp, PRINT |
These token kinds (except rust IDENTIFIER) should be constructed with a name that
can be used to differentiate tokens with same kind.
Variants§
KEYWORD(&'a str)
Ordered from high priority to low priority.
DELIMITER(&'a str)
PUNCTUATION(&'a str)
OPERATOR(&'a str)
COMMENT(&'a str)
WHITESPACE(&'a str)
LITERAL(&'a str)
IDENTIFIER
Trait Implementations§
source§impl<'a> PartialEq for TokenKind<'a>
impl<'a> PartialEq for TokenKind<'a>
source§impl<'a> PartialOrd for TokenKind<'a>
impl<'a> PartialOrd for TokenKind<'a>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self and other) and is used by the <=
operator. Read more