From 7bed8de9b493ca2a2b13d6293db6bd81b73325ce Mon Sep 17 00:00:00 2001 From: mryouse Date: Tue, 10 May 2022 02:07:40 +0000 Subject: initial commit --- repl.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 repl.py (limited to 'repl.py') 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() -- cgit v1.2.3