private function parseOptionalElseOrElseIfStatement(ASTStatement $stmt) { $this->consumeComments(); switch ($this->tokenizer->peek()) { case Tokens::T_ELSE: $this->consumeToken(Tokens::T_ELSE); $this->consumeComments(); if ($this->tokenizer->peek() === Tokens::T_IF) { $stmt->addChild($this->parseIfStatement()); } else { $this->parseStatementBody($stmt); } break; case Tokens::T_ELSEIF: $stmt->addChild($this->parseElseIfStatement()); break; } return $stmt; }