Implements recursive AST evaluator with variable environment, reads .j files from command line args, and executes programs end-to-end (lexer -> parser -> eval).
Implements recursive AST evaluator with variable environment, reads .j files from command line args, and executes programs end-to-end (lexer -> parser -> eval).