Plus généralement, un ensemble de définitions est mutuellement récursif
si la relation <<
appelle
>> admet un cycle :
appelle
...appelle
appelle
.
L'exemple suivant est classique
(et sans grand intérêt) :
bool pair(int n);
bool impair(int n) {
if (n == 0) {
return false;
} else {
return pair(n-1);
}
}
bool pair(int n) {
if (n == 0) {
return true;
} else {
return impair(n-1);
}
}
Les fonctions pair et impair s'appellent mutuellement
: