213a
<< <> >>

213

De programmeertaal Forth
home

GOTO in Forth


De GATE-constructie, onderwerp van dit artikeltje, is een zelfstandige platte structuur zonder nesting, die zich gedraagt als een Forthwoord. Hij is dus toepasbaar binnen Forth-programma's en lijkt op een Finite State automaat. Je kunt er op een overzichtelijke manier die geminachte GOTO-spaghetti-code mee compileren waar sommige problemen om vragen.

GATE is een geschikt hulpmiddel bij het specificeren of beschrijven van een bepaald type problemen. Het heeft iets weg van het invullen van formulieren, met de aardige bijkomstigheid dat het uitvoerbare code oplevert. Het zet je op het spoor van een goede factorisering, waardoor je het probleem gemakkelijker kunt oplossen, ook met gewone Forthcode.

Eerst komt er een toepassingsvoorbeeld aan de hand van INTERPRET dat door zijn vertrouwdheid zonder commentaar waarschijnlijk toch meteen leesbaar is. De GATE-woorden daarin zijn vetgedrukt. Om verwarring te vermijden spel ik INTERPRED met een D.

Daarna volgt een uitleg van de GATE-woorden en aan het eind staat het GATE-programma dat je samen met het INTERPRED-voorbeeld kunt downloaden. Het zou op ANS Forth moeten werken.

De volledige code staat in de files
c213-gate.frt
en
c213-gate-example.frt
>>