private function minutes()
    {
        // If using colon or minutes is an integer parse value
        if (Lexer::T_COLON === $this->nextSymbol || $this->lexer->isNextToken(Lexer::T_INTEGER)) {
            $minutes = $this->match(Lexer::T_INTEGER);

            // Throw exception if minutes are greater than 60
            if ($minutes > 60) {
                throw $this->rangeError('Minutes', 60);
            }

            // Get fractional minutes
            $minutes = $minutes / 60;

            // If using colon and one doesn't follow value is done
            if (Lexer::T_COLON === $this->nextSymbol && ! $this->lexer->isNextToken(Lexer::T_COLON)) {
                return $minutes;
            }

            // Match minutes symbol
            $this->symbol();

            // Add seconds to value
            $minutes += $this->seconds();

            // Return value
            return $minutes;
        }

        // If minutes is a float there will be no seconds
        if ($this->lexer->isNextToken(Lexer::T_FLOAT)) {
            $minutes = $this->match(Lexer::T_FLOAT);

            // Throw exception if minutes are greater than 60
            if ($minutes > 60) {
                throw $this->rangeError('Minutes', 60);
            }

            // Get fractional minutes
            $minutes /= 60;

            // Match minutes symbol
            $this->symbol();

            // return value
            return $minutes;
        }

        // No minutes were present so return 0
        return 0;
    }