GCL

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

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.
if P \rightarrow statement
[] \negP\rightarrow 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.
do P \rightarrow statement
od
waarbij P een propositie is. Zolang P voldoet wordt het statement uitgevoerd.