Exemplo n.º 1
0
        public override void process(ICode iCode, SymbolTableStack symbolTableStack)
        {
            this.symbolTableStack = symbolTableStack;
            this.iCode = iCode;

            long startTime = DateTime.Now.Ticks;

            ICodeNode rootNode = iCode.GetRoot();
            StatementExecutor statementExecutor = new StatementExecutor(this);
            statementExecutor.Execute(rootNode);

            float elapsedTime = (DateTime.Now.Ticks - startTime) / 1000f;
            int runtimeErrors = RuntimeErrorHandler.errorCount;

            sendMessage(new Message(MessageType.INTERPRETER_SUMMARY, new Object[] { executionCount, runtimeErrors, elapsedTime }));
        }
        public override void process(ICode iCode, SymbolTableStack symbolTableStack)
        {
            this.symbolTableStack = symbolTableStack;
            this.iCode            = iCode;

            long startTime = DateTime.Now.Ticks;

            ICodeNode         rootNode          = iCode.GetRoot();
            StatementExecutor statementExecutor = new StatementExecutor(this);

            statementExecutor.Execute(rootNode);

            float elapsedTime   = (DateTime.Now.Ticks - startTime) / 1000f;
            int   runtimeErrors = RuntimeErrorHandler.errorCount;

            sendMessage(new Message(MessageType.INTERPRETER_SUMMARY, new Object[] { executionCount, runtimeErrors, elapsedTime }));
        }