Var = FRFactory::GetFRElement($Options->V, $this); if ($Options->C != null) $this->Cond = FRFactory::GetFRElement($Options->C, $this); if ($Options->I != null) $this->Inc = FRFactory::GetFRElement($Options->I, $this); $this->Statement = FRFactory::GetFRElement($Options->S, $this); } public function Parse() { $this->ShouldBreak = false; $this->Var->Parse(); $result = null; while ($this->Cond == null || $this->Cond->Parse() == true) { $result = $this->Statement->Parse(); if ($this->ShouldBreak) return $result; if ($this->Inc != null) $this->Inc->Parse(); } return $result; } public function ReturnWasExecuted() { $this->ShouldBreak = true; FRUtilities::NotifyReturnToParent($this); } public function BreakWasExecuted() { $this->ShouldBreak = true; } }