mirror of
https://github.com/Alvin-Zilverstand/femcode.git
synced 2026-10-29 07:50:26 +01:00
30 lines
632 B
Python
30 lines
632 B
Python
import sys
|
|
from lexer import Lexer
|
|
from parser import Parser
|
|
from interpreter import Interpreter
|
|
|
|
def main():
|
|
if len(sys.argv) < 2:
|
|
print("Usage: python3 main.py <femcode_file>")
|
|
sys.exit(1)
|
|
|
|
file_path = sys.argv[1]
|
|
try:
|
|
with open(file_path, 'r') as f:
|
|
text = f.read()
|
|
except FileNotFoundError:
|
|
print(f"Error: File not found: {file_path}")
|
|
sys.exit(1)
|
|
|
|
lexer = Lexer(text)
|
|
tokens = lexer.tokenize()
|
|
|
|
parser = Parser(tokens)
|
|
ast = parser.parse()
|
|
|
|
interpreter = Interpreter(ast)
|
|
interpreter.interpret()
|
|
|
|
if __name__ == '__main__':
|
|
main()
|