How do we generate a depth-first forest from the Depth First Search?
Algorithm DFS-Visit(u) finds a tree that consists of vertices that are in the same connected component as vertex u. Basically, when you run DFS-Visit(u), you visit every vertex in the same connected component as u and you change their color to black. 

In algorithm DFS(V, E), in steps 5-7, you find a vertex u with color white (which means that it is not in any of the previous trees/visited connected components) and run DFS-Visit(u) in order to find the next tree.