A routine that activates/calls itself is called recursive. Recursion is a general method of solving problems by reducing them to simpler problems of a similar type.
A recursive subroutine constantly calls itself, each time in a simpler situation, until it gets to the trivial case, at which point it stops.

