aboutsummaryrefslogtreecommitdiff
path: root/repl.py
diff options
context:
space:
mode:
authormryouse2022-05-10 02:07:40 +0000
committermryouse2022-05-10 02:07:40 +0000
commit7bed8de9b493ca2a2b13d6293db6bd81b73325ce (patch)
tree7efa56cddb8a0cec4b4c03495874474b510c6a09 /repl.py
initial commit
Diffstat (limited to 'repl.py')
-rw-r--r--repl.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/repl.py b/repl.py
new file mode 100644
index 0000000..af84c82
--- /dev/null
+++ b/repl.py
@@ -0,0 +1,24 @@
+from lexer import lex
+from parser import parse
+from runner import evaluate
+
+def main():
+ idx = 1
+ while True:
+ inp = input(f"#{idx}> ")
+ if len(inp.strip()) == 0:
+ continue
+ try:
+ lexed = lex(inp, [])
+ print(f" - LEX: {lexed}")
+ parsed = parse(lexed, [])
+ print(f" - PARSE: {parsed}")
+ ev = evaluate(parsed, [])
+ print(f"=> {ev}")
+ idx += 1
+ except Exception as e:
+ print(f"panic! {e}")
+
+
+if __name__ == "__main__":
+ main()