Es gibt tatsächlich eine Begrenzung für if, while und do. Es ist keine feste Zahl, sondrn der Compiler generiert eine interne Sprungtabelle mit einem Stack, der irgendwann überläuft. Die Grenze ist so hoch, dass sie in der Praxis keine Bedeutung hat, wohl aber bei Funktionen, die maschinell generiert werden. Wir haben das mit Zorro bemerkt, wo die Mustererkennung Code mit tausenden von if-Anweisungen generieren kann. Also bitte vernünftig programmieren.