diff options
| author | mryouse | 2022-05-22 20:34:02 +0000 |
|---|---|---|
| committer | mryouse | 2022-05-22 20:34:02 +0000 |
| commit | 28e89dff46b23b2fd73704d46db96b86e7e35e3c (patch) | |
| tree | bd6c8de5d5f302a52855d6896c21c6927d73398b /parser.py | |
| parent | 435934f89b9d3d15b7a22514a40a641d2fe74c31 (diff) | |
refactor: structs into their own file
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 |
