diff options
Diffstat (limited to 'parser.py')
| -rw-r--r-- | parser.py | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -1,3 +1,5 @@ +from structs import TokenType, Literal, Symbol, Type, List +''' from lexer import TokenType class Expr: @@ -34,6 +36,7 @@ class Expr: visitor.visitNary(self) def __str__(self): return "(" + " ".join(f"{arg}" for arg in self.args) + ")" +''' def parseExpression(token, prev, tokens): idx = 0 @@ -57,16 +60,16 @@ def parseExpression(token, prev, tokens): idx += inc prev = token - return Expr.List(args), idx + 2 # parens + return List(args), idx + 2 # parens def parseSymbol(token, prev, tokens): - return Expr.Symbol(token.text), 1 + return Symbol(token.text), 1 def parseLiteral(token, prev, tokens): - return Expr.Literal(token.value), 1 + return Literal(token.value), 1 def parseType(token, prev, tokens): - return Expr.Type(token.text), 1 + return Type(token.text), 1 def parse(tokens): idx = 0 |
