protected function pointLists()
    {
        $this->match(Lexer::T_OPEN_PARENTHESIS);

        $pointLists = array($this->pointList());

        $this->match(Lexer::T_CLOSE_PARENTHESIS);

        while ($this->lexer->isNextToken(Lexer::T_COMMA)) {
            $this->match(Lexer::T_COMMA);
            $this->match(Lexer::T_OPEN_PARENTHESIS);

            $pointLists[] = $this->pointList();

            $this->match(Lexer::T_CLOSE_PARENTHESIS);
        }

        return $pointLists;
    }
protected function pointLists()
    {
        $this->match(Lexer::T_OPEN_PARENTHESIS);

        $pointLists = array($this->pointList());

        $this->match(Lexer::T_CLOSE_PARENTHESIS);

        while ($this->lexer->isNextToken(Lexer::T_COMMA)) {
            $this->match(Lexer::T_COMMA);
            $this->match(Lexer::T_OPEN_PARENTHESIS);

            $pointLists[] = $this->pointList();

            $this->match(Lexer::T_CLOSE_PARENTHESIS);
        }

        return $pointLists;
    }
protected function pointLists ( ) { $ this -> match ( Lexer :: T_OPEN_PARENTHESIS ) ; $ pointLists = array ( $ this -> pointList ( ) ) ; $ this -> match ( Lexer :: T_CLOSE_PARENTHESIS ) ; while ( $ this -> lexer -> isNextToken ( Lexer :: T_COMMA ) ) { $ this -> match ( Lexer :: T_COMMA ) ; $ this -> match ( Lexer :: T_OPEN_PARENTHESIS ) ; $ pointLists [ ] = $ this -> pointList ( ) ; $ this -> match ( Lexer :: T_CLOSE_PARENTHESIS ) ; } return $ pointLists ; }
Match nested lists of coordinates

@return array[]
Match nested lists of coordinates