diff options
| -rw-r--r-- | lexer.py | 17 | ||||
| -rw-r--r-- | structs.py | 27 | 
2 files changed, 4 insertions, 40 deletions
| @@ -14,25 +14,12 @@ types = {      ":bool": TokenType.BOOL_TYPE }  keywords = { -    "print": TokenType.PRINT, -    "+": TokenType.PLUS, -    "-": TokenType.DASH, -    "*": TokenType.STAR, -    "/": TokenType.SLASH, -    ">": TokenType.GREATER, -    ">=": TokenType.GREATER_EQUAL, -    "<": TokenType.LESS, -    "<=": TokenType.LESS_EQUAL, -    "eq?": TokenType.EQUAL, -    "not": TokenType.NOT, -    "and": TokenType.AND, -    "or": TokenType.OR,      "if": TokenType.IF,      "for-count": TokenType.FOR_COUNT, -    "|": TokenType.PIPE,      "def": TokenType.DEF,      "lambda": TokenType.LAMBDA, -    "&": TokenType.MANY } +    "&": TokenType.MANY, +    "func": TokenType.FUNC }  WHITESPACE = [" ", "\n", "\t"] @@ -7,8 +7,6 @@ from typeclass import TypeEnum  # NOTE: this can probably be simplified  class TokenType(Enum): -    PRINT = auto() -      OPEN_PAREN = auto()      CLOSE_PAREN = auto() @@ -21,33 +19,12 @@ class TokenType(Enum):      TRUE = auto()      FALSE = auto() -    # arithmetic -    PLUS = auto() -    DASH = auto() -    STAR = auto() -    SLASH = auto() - -    # strings -    DOUBLE_QUOTE = auto() - -    # comparison -    GREATER = auto() -    GREATER_EQUAL = auto() -    LESS = auto() -    LESS_EQUAL = auto() -    EQUAL = auto() -    NOT = auto() -    AND = auto() -    OR = auto() - -    # flow +    # keywords      IF = auto()      FOR_COUNT = auto() -    PIPE = auto() - -    # keywords      DEF = auto()      LAMBDA = auto() +    FUNC = auto()      # symbols      SYMBOL = auto() | 
