private function functionDeclaration() {
    $node = new FunctionDeclarationNode();
    $this->matchDocComment($node);
    $this->mustMatch(T_FUNCTION, $node);
    $this->tryMatch('&', $node, 'reference');
    $name_node = new NameNode();
    $this->mustMatch(T_STRING, $name_node, NULL, TRUE);
    $node->addChild($name_node, 'name');
    $this->parameterList($node);
    $this->matchHidden($node);
    $this->body($node);
    return $node;
  }
private function functionDeclaration() {
    $node = new FunctionDeclarationNode();
    $this->matchDocComment($node);
    $this->mustMatch(T_FUNCTION, $node);
    $this->tryMatch('&', $node, 'reference');
    $name_node = new NameNode();
    $this->mustMatch(T_STRING, $name_node, NULL, TRUE);
    $node->addChild($name_node, 'name');
    $this->parameterList($node);
    $this->matchHidden($node);
    $this->body($node);
    return $node;
  }
private function functionDeclaration ( ) { $ node = new FunctionDeclarationNode ( ) ; $ this -> matchDocComment ( $ node ) ; $ this -> mustMatch ( T_FUNCTION , $ node ) ; $ this -> tryMatch ( '&' , $ node , 'reference' ) ; $ name_node = new NameNode ( ) ; $ this -> mustMatch ( T_STRING , $ name_node , NULL , TRUE ) ; $ node -> addChild ( $ name_node , 'name' ) ; $ this -> parameterList ( $ node ) ; $ this -> matchHidden ( $ node ) ; $ this -> body ( $ node ) ; return $ node ; }
Parse function declaration.
@return FunctionDeclarationNode
Parse function declaration .