TheEnd() private method

private TheEnd ( ) : void
return void
Ejemplo n.º 1
0
        //
        //  Execution part of processor
        //
        internal void Execute()
        {
            Debug.Assert(_actionStack != null);

            while (_execResult == ExecResult.Continue)
            {
                ActionFrame frame = (ActionFrame)_actionStack.Peek();

                if (frame == null)
                {
                    Debug.Assert(_builder != null);
                    _builder.TheEnd();
                    ExecutionResult = ExecResult.Done;
                    break;
                }

                // Execute the action which was on the top of the stack
                if (frame.Execute(this))
                {
                    _actionStack.Pop();
                }
            }

            if (_execResult == ExecResult.Interrupt)
            {
                _execResult = ExecResult.Continue;
            }
        }
Ejemplo n.º 2
0
        internal RecordOutput PopOutput()
        {
            Debug.Assert(this.builder != null);

            RecordBuilder topBuilder = this.builder;

            this.builder   = topBuilder.Next;
            this.xsm.State = this.builder.OutputState;

            topBuilder.TheEnd();

            return(topBuilder.Output);
        }
Ejemplo n.º 3
0
        internal IRecordOutput PopOutput()
        {
            Debug.Assert(_builder != null);

            RecordBuilder topBuilder = _builder;

            _builder   = topBuilder.Next;
            _xsm.State = _builder.OutputState;

            topBuilder.TheEnd();

            return(topBuilder.Output);
        }