public Interpreter(Parser parser, ScopeManager scopeManager, SystemFunctionTable systemFunctionTable, CustomFunctionTable customFunctionTable) { _parser = parser ?? throw new ArgumentNullException(nameof(parser)); _scopeManager = scopeManager ?? throw new ArgumentNullException(nameof(scopeManager)); _systemFunctionTable = systemFunctionTable ?? throw new ArgumentNullException(nameof(systemFunctionTable)); _customFunctionTable = customFunctionTable ?? throw new ArgumentNullException(nameof(customFunctionTable)); }
static void Main() { var customFunctionTable = new CustomFunctionTable(); var scopeManager = new ScopeManager(new Scope()); var sysFuncTable = new SystemFunctionTable(scopeManager, customFunctionTable); var lexer = new Lexer(Code.ToCharArray()); var parser = new Parser(lexer, sysFuncTable); //new Interpreter(lexer, new Scope()).Run(); new Interpreter(parser, scopeManager, sysFuncTable, customFunctionTable).Execute(); }
public Parser(Lexer lexer, SystemFunctionTable systemFunctionTable) { _lexer = lexer ?? throw new ArgumentNullException(nameof(lexer)); _systemFunctionTable = systemFunctionTable ?? throw new ArgumentNullException(nameof(systemFunctionTable)); }