Files
smnp-py/smnp/token/type.py
2019-07-10 20:14:05 +02:00

46 lines
876 B
Python

from enum import Enum
class TokenType(Enum):
DOUBLE_ASTERISK = '**'
OPEN_CURLY = '{'
CLOSE_CURLY = '}'
OPEN_PAREN = '('
CLOSE_PAREN = ')'
OPEN_SQUARE = '['
CLOSE_SQUARE = ']'
OPEN_ANGLE = '<'
CLOSE_ANGLE = '>'
ASTERISK = '*'
ASSIGN = '='
ARROW = '->'
COMMA = ','
SLASH = '/'
MINUS = '-'
PLUS = '+'
DOTS = '...'
AMP = '&'
DOT = '.'
INTEGER = 'integer'
STRING = 'string'
NOTE = 'note'
BOOL = 'bool'
TYPE = 'type'
FUNCTION = 'function'
RETURN = 'return'
EXTEND = 'extend'
IMPORT = 'import'
FROM = 'from'
AS = 'as'
IDENTIFIER = 'identifier'
COMMENT = 'comment'
PERCENT = 'percent'
@property
def key(self):
return self.value
@key.setter
def key(self, value):
raise RuntimeError("Cannot change key of token type")