From d75ab6f5ef14cab3c2ad3841258656e217d36043 Mon Sep 17 00:00:00 2001 From: mryouse Date: Thu, 12 May 2022 01:58:05 +0000 Subject: refactor types using inheritance --- lexer.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'lexer.py') diff --git a/lexer.py b/lexer.py index 85b404d..e6116cd 100644 --- a/lexer.py +++ b/lexer.py @@ -31,7 +31,7 @@ def lex_string(inp): elif c == DOUBLE_QUOTE: #return token, inp[idx + 1:] - return NebLiteral(NebType.STRING, token), inp[idx + 1:] + return NebString(token), inp[idx + 1:] else: token += c @@ -52,7 +52,7 @@ def lex_bool(inp): raise Exception("invalid boolean") #return token, inp[len(str(token)):] - return NebLiteral(NebType.BOOL, token), inp[len(str(token)):] + return NebBool(token), inp[len(str(token)):] def lex_number(inp): @@ -61,10 +61,10 @@ def lex_number(inp): if c in (" ", CLOSE_PAREN): if "." in token: #return float(token), inp[idx:] - return NebLiteral(NebType.FLOAT, float(token)), inp[idx:] + return NebFloat(float(token)), inp[idx:] else: #return int(token), inp[idx:] - return NebLiteral(NebType.INT, int(token)), inp[idx:] + return NebInt(int(token)), inp[idx:] if c in list(DIGITS): # or c in ("-", "."): token += c @@ -88,10 +88,10 @@ def lex_number(inp): if "." in token: #return float(token), "" - return NebLiteral(NebType.FLOAT, float(token)), "" + return NebFloat(float(token)), "" else: #return int(token), "" - return NebLiteral(NebType.INT, int(token)), "" + return NebInt(int(token)), "" def lex_symbol(inp): token = "" -- cgit v1.2.3