GCL
GCL staat voor Guarded Command Language, ontwikkeld door Edsger Dijkstra. Dit is enkel een theoretische taal, er bestaan geen compilers om deze taal om te zetten in een uitvoerbaar programma. Het combineert de meest basale programmeerconcepten op een zeer compacte manier, en deze zijn vervolgens gemakkelijk om te zetten naar de programmeertaal naar keuze. Vanwege de eenvoudigheid zijn de programma's veel makkelijker te bewijzen op correctheid, met behulp van de Hoarelogica.
De taal bestaat uit de volgende vijf statements:
- Skip
- Skip doet niets. In sommige situaties is het handig om dit statement te kunnen gebruiken.
- Toewijzing
x := y
- Catenatie
statement1 ; statement2
- Deze constructie wordt gebruikt om twee statements aan elkaar te koppelen. statement1 zal eerst uitgevoerd worden, daarna statement2.
- Selectie
if P statement [] P statement fi
- waarbij P een propositie is. De [] maken het mogelijk om de juiste statements bij andere proposities uit te voeren. Er is geen beperking aan het aantal van zulke blokken in een selectiestatement.
- Repetitie
do P statement
od
- waarbij P een propositie is. Zolang P voldoet wordt het statement uitgevoerd.