WIP: Parser
authorahmedsamyh <ahmedsamyh10@gmail.com>
Mon, 18 Nov 2024 17:57:11 +0000 (22:57 +0500)
committerahmedsamyh <ahmedsamyh10@gmail.com>
Mon, 18 Nov 2024 17:57:11 +0000 (22:57 +0500)
main.momo
main.py

index f1e547bdd114b1a621df25503e14b054741955de..78ff711a29acdd54f715fd2e28eae34e211de1df 100644 (file)
--- a/main.momo
+++ b/main.momo
@@ -1,3 +1 @@
-69.0
-100.15134324
-420.11
+position = initial + rate * 60;
diff --git a/main.py b/main.py
index 9a342bac67aa81bdaa6ce7ba7c9a37bf69d470d9..e1cf5f053cb48cbbdf48e26fbdbb40fbd75784b5 100644 (file)
--- a/main.py
+++ b/main.py
@@ -109,7 +109,7 @@ class Token:
     def __str__(self):
         return f"Token ({token_type_as_str_map[self.typ]}, '{self.value}', {self.loc})"
 
-class Parser:
+class Lexer:
     def __init__(self, filename: str):
         try:
             with open(filename, mode='r') as f:
@@ -312,6 +312,10 @@ class Parser:
             token = self.next_token()
         return tokens
 
+class Parser:
+    def __init__(self, tokens):
+        self.tokens = tokens
+
 def main():
     program: str = sys.argv.pop(0)
 
@@ -322,9 +326,12 @@ def main():
 
     filename: str = sys.argv.pop(0)
 
-    parser = Parser(filename)
+    lexer = Lexer(filename)
     # Lexical Analysis
-    tokens = parser.lex()
+    tokens = lexer.lex()
+
+    # TODO: Parse
+    parser = Parser(tokens)
 
     for t in tokens:
         pprint.pp(str(t))