diff --git a/src/main.py b/src/main.py index 93f3ebd..bd095c5 100644 --- a/src/main.py +++ b/src/main.py @@ -6,13 +6,24 @@ from src import port from src import log +from src import tokenize +from src import parse from src import oldparse from src import interp def run_file(file, log_level=log.NORMAL): log.set_default_log_level(log_level) - ast = oldparse.parse_file(file) + ast = None + if os.getenv("NEWLANG_NEW_PARSE"): + try: + code = open(file, encoding="utf-8").read() + tokens = tokenize.tokenize(code, file) + ast = parse.parse(tokens, None) + except UnicodeDecodeError: + pass + else: + ast = oldparse.parse_file(file) if not ast: return 1 interp.run_ast(ast)