There is no such keyword, simply because recursion is not a problem.
In the past, in
some computer languages recursion was not allowed. Later on, recursion made its way into some of those programming languages, and some authors of some languages, if I'm not much mistaken, really introduced a special keyword to indicate where recursion is allowed.
However, pretty soon some clever programmers manages to convince the authors of those languages that they have been complete idiots because recursion is not a problem if used by a clever programmer. Those authors pretended that they were clever, too, but in fact felt ashamed and stopped to invent such stupid computer languages.
Since that time, recursion become a commonplace, is widely used, and probably no one is going to use those obsolete programming languages where recursion is not allowed or limited.
The bugs related to recursion are possible, but they are one of the most easiest to detect, because stack overflow exception is thrown. Finding of the source of the problem is one of the most easy debugging tasks known in the history of programming.
Now, please see my comment to the question. "Not working" is not informative; and the pseudo-code sample you demonstrated is
quite legitimate. This is called
mutual recursive, please see
http://en.wikipedia.org/wiki/Mutual_recursion[
^].
You could screw up implementation somehow. One possible reason is "infinite" recursion. You need to define a condition for the end of recursion, otherwise you will get the stack overflow. To bad you did not share description of your problem and did not create any code sample. So, you will have to debug the code by yourself.
This is easy — please see above. Just use the Debugger.
Good luck,
—SA