Recursion in computer programming defines a function in terms of itself. One example application of recursion is in
recursive descent parsers for programming languages. The great advantage of recursion is that an infinite set of possible sentences, designs, or other data can be defined, parsed, or produced by a finite computer program.
See more at Wikipedia.org...