Files
smnp-py/smnp/main.py
2019-07-06 00:53:03 +02:00

29 lines
667 B
Python

import sys
from smnp.environment.factory import createEnvironment
from smnp.error.base import SmnpException
from smnp.newast.node.program import Program
from smnp.runtime.evaluator import evaluate
from smnp.token.tokenizer import tokenize
def main():
try:
with open(sys.argv[1], 'r') as source:
lines = [line.rstrip('\n') for line in source.readlines()]
tokens = tokenize(lines)
ast = Program.parse(tokens)
ast.node.print()
env = createEnvironment()
evaluate(ast, env)
except SmnpException as e:
print(e.message())
except KeyboardInterrupt:
print("Program interrupted")