21 lines
601 B
Python
21 lines
601 B
Python
import argparse
|
|
from tokenizer import Tokenizer
|
|
from parser import Parser
|
|
from interpreter import Interpreter
|
|
import json
|
|
|
|
arg_parser = argparse.ArgumentParser(description="DSM")
|
|
arg_parser.add_argument("input_file", type=str, help="The input file to process")
|
|
args = arg_parser.parse_args()
|
|
|
|
tokenizer = Tokenizer()
|
|
parser = Parser()
|
|
interpreter = Interpreter()
|
|
#try:
|
|
tokens = tokenizer.tokenize(args.input_file)
|
|
#print(json.dumps(tokens, indent=4))
|
|
ast = parser.parse(tokens)
|
|
#print(json.dumps(ast, indent=4))
|
|
interpreter.interpret(ast)
|
|
#except Exception as e:
|
|
# print(f"{type(e).__name__}: {e}") |