Refactored to allow ConceptEvaluator
This commit is contained in:
+23
-13
@@ -32,19 +32,17 @@ class TokenKind(Enum):
|
||||
AMPER = "amper"
|
||||
EQUALS = "="
|
||||
AT = "at"
|
||||
BACK_QUOTE = "bquote" # `
|
||||
BACK_SLASH = "bslash" # \
|
||||
CARAT = "carat" # ^
|
||||
DOLLAR = "dollar" # $
|
||||
EMARK = "emark" # !
|
||||
GREATER = "greater" # >
|
||||
LESS = "less" # <
|
||||
HASH = "HASH" # #
|
||||
TILDE = "tilde" # ~
|
||||
UNDERSCORE = "underscore" # _
|
||||
DEGREE = "degree" # °
|
||||
|
||||
|
||||
BACK_QUOTE = "bquote" # `
|
||||
BACK_SLASH = "bslash" # \
|
||||
CARAT = "carat" # ^
|
||||
DOLLAR = "dollar" # $
|
||||
EMARK = "emark" # !
|
||||
GREATER = "greater" # >
|
||||
LESS = "less" # <
|
||||
HASH = "HASH" # #
|
||||
TILDE = "tilde" # ~
|
||||
UNDERSCORE = "underscore" # _
|
||||
DEGREE = "degree" # °
|
||||
|
||||
|
||||
@dataclass()
|
||||
@@ -55,6 +53,18 @@ class Token:
|
||||
line: int
|
||||
column: int
|
||||
|
||||
def __repr__(self):
|
||||
if type == TokenKind.IDENTIFIER:
|
||||
value = "ident:" + str(self.value)
|
||||
elif type == TokenKind.WHITESPACE:
|
||||
value = " "
|
||||
elif type == TokenKind.NEWLINE:
|
||||
value = r"\n"
|
||||
else:
|
||||
value = self.value
|
||||
|
||||
return f"Token({value})"
|
||||
|
||||
|
||||
@dataclass()
|
||||
class LexerError(Exception):
|
||||
|
||||
Reference in New Issue
Block a user