aboutsummaryrefslogtreecommitdiff
path: root/parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'parser.py')
-rw-r--r--parser.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/parser.py b/parser.py
index 7916a97..a781d50 100644
--- a/parser.py
+++ b/parser.py
@@ -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