public ExpressionEvaluator(Interpreter _interpreter) { interpreter = _interpreter; interpreterEnvironment = _interpreter.VariablesEnvironment; tokensProvider = _interpreter.TokensProvider; valueTokens = new Stack <ValueToken>(); operatorTokens = new Stack <Token>(); operatorActions = new Stack <Func <Token, ValueToken> >(); arrayCount = new Stack <int>(); }
public Interpreter(IConsole console = null) { TokensProvider = new TokensProvider(); TokensProvider.RegisterTokens(); tokenizer = new Tokenizer(TokensProvider); Lines = new SortedList <int, Line>(); VariablesEnvironment = new InterpreterVariables(this); ExpressionEvaluator = new ExpressionEvaluator(this); CurrentStatementMarker = new StatementMarker(Lines); CurrentImmediateModeStatementMarker = null; NextStatementMarker = null; DataStatementMarker = new StatementMarker(Lines); DataTokenMarker = null; GosubMarkers = new Stack <StatementMarker>(); ForNextLoops = new Stack <ForNextLoopState>(); ContinueRunning = false; InterpreterMode = InterpreterMode.Immmediate; Console = console; }