Reformat evaluator #1
This commit is contained in:
27
smnp/main.py
27
smnp/main.py
@@ -1,29 +1,26 @@
|
||||
import sys
|
||||
from smnp.error.syntax import SyntaxException
|
||||
from smnp.error.runtime import RuntimeException
|
||||
from smnp.token.tokenizer import tokenize
|
||||
|
||||
from smnp.ast.parser import parse
|
||||
#from Tokenizer import tokenize
|
||||
#from Evaluator import evaluate
|
||||
#from Environment import createEnvironment
|
||||
#from Error import SyntaxException, RuntimeException
|
||||
from smnp.environment.factory import createEnvironment
|
||||
from smnp.error.base import SmnpException
|
||||
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()]
|
||||
|
||||
#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)
|
||||
env = createEnvironment()
|
||||
|
||||
evaluate(ast, env)
|
||||
|
||||
except SmnpException as e:
|
||||
print(e.message())
|
||||
except KeyboardInterrupt:
|
||||
print("Program interrupted")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user