private function _while() {
    $node = new WhileNode();
    $this->mustMatch(T_WHILE, $node);
    $this->condition($node, 'condition');
    if ($this->tryMatch(':', $node, 'openColon', FALSE, TRUE)) {
      $node->addChild($this->innerStatementListNode(T_ENDWHILE), 'body');
      $this->mustMatch(T_ENDWHILE, $node, 'endKeyword');
      $this->endStatement($node);
      return $node;
    }
    else {
      $this->matchHidden($node);
      $node->addChild($this->statement(), 'body');
      return $node;
    }
  }
private function _while() {
    $node = new WhileNode();
    $this->mustMatch(T_WHILE, $node);
    $this->condition($node, 'condition');
    if ($this->tryMatch(':', $node, 'openColon', FALSE, TRUE)) {
      $node->addChild($this->innerStatementListNode(T_ENDWHILE), 'body');
      $this->mustMatch(T_ENDWHILE, $node, 'endKeyword');
      $this->endStatement($node);
      return $node;
    }
    else {
      $this->matchHidden($node);
      $node->addChild($this->statement(), 'body');
      return $node;
    }
  }
private function _while ( ) { $ node = new WhileNode ( ) ; $ this -> mustMatch ( T_WHILE , $ node ) ; $ this -> condition ( $ node , 'condition' ) ; if ( $ this -> tryMatch ( ':' , $ node , 'openColon' , FALSE , TRUE ) ) { $ node -> addChild ( $ this -> innerStatementListNode ( T_ENDWHILE ) , 'body' ) ; $ this -> mustMatch ( T_ENDWHILE , $ node , 'endKeyword' ) ; $ this -> endStatement ( $ node ) ; return $ node ; } else { $ this -> matchHidden ( $ node ) ; $ node -> addChild ( $ this -> statement ( ) , 'body' ) ; return $ node ; } }
Parse while control structure.
@return WhileNode
Parse while control structure .