Files
smnp-py/main.py
Bartłomiej Pluta e47c783d27 Add 'read' function
2019-07-01 00:30:16 +02:00

26 lines
681 B
Python

from Tokenizer import tokenize
from Parser import parse
from Evaluator import evaluate
from Environment import createEnvironment
from Error import SyntaxException, RuntimeException
import sys
if __name__ == "__main__":
try:
with open(sys.argv[1], 'r') as source:
lines = [line.rstrip('\n') for line in source.readlines()]
env = createEnvironment()
tokens = tokenize(lines)
ast = parse(tokens)
evaluate(ast, env)
except SyntaxException as e:
print(e.msg)
except RuntimeException as e:
print(e.msg)
except KeyboardInterrupt:
print("Program interrupted")