PPT-Folie
Umgekehrt kann jedes Programm mit Sprüngen in ein System von parameterlosen Prozeduren mit endständigen Aufrufen übersetzt werden. Wir skizzieren dies für ein Programm ohne Fallunterscheidungen und Schleifen:
- Vor alle markierten Anweisungen der Form marke: S ; wird ein trivialer Sprung goto marke ; eingefügt (falls noch nicht vorhanden).
- Nun läßt sich das Programm in lauter Stücke der Form markei : Si1 ; ... Sini ; goto markej ; zerlegen, wobei die Sik nicht markiert und keine Sprunganweisungen sind.
- Jedes solche Stück wird nun zu einer Prozedur void markei () { Si1 ; ... Sini ; markej() ; }