Zitat von JeeKDas FOR-NEXT im BASIC gaukelt auch nur ein statische Konstrukt vor, ist aber in Wirklilchkeit mit for()-, oder while()-Konstrukten, wie man sie von sonst üblichen statischen Kontrukten anderer Compiler-Sprachen kennt, nicht vergleichbar. Es ist eigentlich mehr, als es gemeinhin den Anschein hat. Ich würde es eigentlich eher als primitiven Exception-Mechanismus mit Auto-inkrement/Dekrement-Funktion sehen, mit dem man halt zufällig auch auch Schleifen machen kann (was durch die Bezeichnung der Tokens auch so suggeriert wird), aber der für alles gut ist, wenn man an einen definierten Ausgangspunkt zurück will, und das in Verschachtelung. Die Abbildung in eine statische Struktur könnte dann nur durch eine aufwändigere semantische Analyse des Codes, wenn sozusagen, die Verhältnisse am Stack als nicht mehr von Laufzeit abhängig erkennbar wären. Sowas könnte man mit entsprechenden Compileroptionen für einen Compiler leichter machen, also wie genau der Compiler die Analyse betreiben soll. Die Verwendung von nichtanonymen NEXT-Aufrufen könnte einem Compiler da auch helfen.
Mein Klassiker da:
Auch RETURN im Zusammenhang mit hängenden Schleifen ist da für Überraschungen gut (anderes Programm):
Man muß also nicht alle Schleifen schließen, damit einer Unterroutine das RETURN 'erlaubt' wird!
Dieses Konstrukt ist für BASIC-Compiler besonders schwer verdaulich.