Merge branch 'master' of github.com:dopefishh/sec2014 into commentaar_verwerken
[sec1415.git] / syntax.tex
index 8f8c696..60f8767 100644 (file)
@@ -36,13 +36,20 @@ die gedeeltelijk beschreven is in tabel \ref{tab:sy1}.
 Om de notatie leesbaar en overzichtelijk te houden beschrijven we de syntax
 niet in de oorspronkelijke kleuren notatie maar gebruiken we een woordelijke
 notatie. Dan ziet de grammatica er als volgt uit:\\
-$S ::= S1 ; S2\ |\ push\  n1\ |\ pop\ z\ |\ add\ z1\ z2\ |\ subtract\ z1\ z2\
-|\ multiply\ z1\ z2\ |\ divide\ z1\ z2\ |\\ mod\ z1\ z2\ |\ not\ z\ |\ greater\
-z1\ z2\ |\ pointer\ z\ |\ switch\ z\ |\ duplicate\ z\ |\ roll\ z1\ z2\ |\\
-in(char)\ c\ |\ in(number)\ z\ |\ out(char)\ z\ |\ out(number)\ z$\\ 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.\\ 
+$S ::= S_1 ; S_2\ |\ push \: n\ |\ pop\ |\ add\ |\ subtract\
+|\ multiply\ |\ divide\ |\mod\ |\\ not\ |\ greater\
+|\ pointer\ |\ switch\ |\ duplicate\ |\ roll\ |\
+innum\ |\ outnum$\\ 
 
-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.
+Waarbij $n \in \mathbb{N}_1$.\\
+De commando's in(char) en out(char) worden hier niet behandeld.
+
+\subsection{Piet'}
+Omdat sommige simpele expressies in \textit{While} veel regels in beslag nemen 
+als deze omgeschreven zouden worden naar een semantisch equivalent programma 
+in de bovengenoemde tussentaal hebben we ook nog een tweede syntax: Piet'. 
+In Piet' worden de commando's die beschreven worden in de tussentaal aangegeven 
+door de eerste 3 letters van het commando, met uitzondering van het commando 
+\textit{push}. Voor het ophalen van een variabele zoals staat beschreven in 
+subsectie \ref{subsec:unair} gebruiken we ook \textit{get n}. De commando's 
+worden gescheiden door komma's inplaats van puntkomma's.