In programming, the ability of a subroutine or program module to call itself. Recursion is used to write routines that solve problems by repeatedly processing the output of the same process. See
recurse subdirectories,
circular reference and
recursive descent parser.