laatste kleine aanpassingen
[sec1415.git] / versie-0 / syntax.tex
1 Omdat Piet niet heel complex is gaan we voor dit werkstuk de hele taal beschrijven.
2 Tijdens het interpreteren van een Piet programma wordt een serie commando’s uitgevoerd in een bepaalde toestand.
3
4 De grammatica ziet er zo uit:\\
5 $S ::= S1 ; S2\ |\ push\ n1\ |\ pop\ z\ |\ add\ z1\ z2\ |\ subtract\ z1\ z2\ |\ multiply\ z1\ z2\ |\ divide\ z1\ z2\ |\\
6 mod\ z1\ z2\ |\ not\ z\ |\ greater\ z1\ z2\ |\ pointer\ z\ |\ switch\ z\ |\ duplicate\ z\ |\ roll\ z1\ z2\ |\\
7 in(char)\ c\ |\ in(number)\ z\ |\ out(char)\ z\ |\ out(number)\ z$\\
8 waarbij $n\in\mathbb{N}, z\in\mathbb{Z}$ en $c\in\{1, 2, ..., m$ waar $m$ het nummer is van het hoogste unicode karakter.\\
9 Een probleem dat we verwachten is dat we op met deze beschrijving zeer grote bewijs-bomen/rijen krijgen vanwege het grote aantal composities, hier moeten we misschien nog iets anders op verzinnen.