//解析while(循环语句) private void ParseWhile() { CodeWhile ret = new CodeWhile(); ret.While = ParseCondition(true, Executable_Block.While); m_scriptExecutable.AddScriptInstruction(new ScriptInstruction(Opcode.CALL_WHILE, ret)); }
private void ParseWhile() { CodeWhile @while = new CodeWhile { While = this.ParseCondition(true, Executable_Block.While) }; this.m_scriptExecutable.AddScriptInstruction(new ScriptInstruction(Opcode.CALL_WHILE, @while)); }
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); }
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; } } }
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; } } }
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; } } }