Esempio n. 1
0
        //解析while(循环语句)
        private void ParseWhile()
        {
            CodeWhile ret = new CodeWhile();

            ret.While = ParseCondition(true, Executable_Block.While);
            m_scriptExecutable.AddScriptInstruction(new ScriptInstruction(Opcode.CALL_WHILE, ret));
        }
Esempio n. 2
0
        private void ParseWhile()
        {
            CodeWhile @while = new CodeWhile {
                While = this.ParseCondition(true, Executable_Block.While)
            };

            this.m_scriptExecutable.AddScriptInstruction(new ScriptInstruction(Opcode.CALL_WHILE, @while));
        }
Esempio n. 3
0
        private void ProcessCallWhile()
        {
            CodeWhile     @while    = (CodeWhile)this.m_scriptInstruction.operand0;
            TempCondition condition = @while.While;
            ScriptContext context   = new ScriptContext(m_script, condition.Executable, this, Executable_Block.While);
            TempCondition con       = @while.While;

            do
            {
                if (!this.ProcessAllow(con))
                {
                    return;
                }
                new ScriptContext(this.m_script, con.Executable, this, Executable_Block.While).Execute();
            }while (!context.IsOver);
        }
Esempio n. 4
0
        void ProcessCallWhile()
        {
            CodeWhile     code      = (CodeWhile)m_scriptInstruction.Operand0;
            TempCondition condition = code.While;

            for ( ; ;)
            {
                if (!ProcessCondition(condition, Executable_Block.While))
                {
                    break;
                }
                if (condition.Context.IsBreak)
                {
                    break;
                }
            }
        }
Esempio n. 5
0
        void ProcessCallWhile()
        {
            CodeWhile     code      = (CodeWhile)m_scriptInstruction.Operand0;
            TempCondition condition = code.While;

            for ( ; ;)
            {
                ScriptContext context = condition.GetContext();
                if (!ProcessCondition(condition, context, Executable_Block.While))
                {
                    break;
                }
                if (context.IsOver)
                {
                    break;
                }
            }
        }
Esempio n. 6
0
        void ProcessCallWhile()
        {
            CodeWhile     code      = (CodeWhile)m_scriptInstruction.Operand0;
            TempCondition condition = code.While;
            ScriptContext context;

            for ( ; ;)
            {
                if (!ProcessAllow(condition))
                {
                    break;
                }
                context = new ScriptContext(m_script, condition.Executable, this, Executable_Block.While);
                context.Execute();
                if (context.IsOver)
                {
                    break;
                }
            }
        }