laatste kleine aanpassingen
[sec1415.git] / syntax.tex
index af2be3c..0bc33dc 100644 (file)
@@ -1,8 +1,8 @@
 \subsection{Originele Syntax}
 De ware syntax voor piet is makkelijk te beschrijven in een zeer grote tabel
-jie gedeeltelijk beschreven is in tabel \ref{tab:sy1}.
+die gedeeltelijk beschreven is in tabel \ref{tab:sy1}.
 \begin{table}[h]
-       \caption{Gedeeltelijke ware syntax van \textit{Piet}}
+       \caption{Gedeelte van ware syntax van \textit{Piet}}
        \label{tab:sy1}
        \begin{tabular}{l|cccccc} %p{1em}|p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}p{1em}}
                \textbackslash & {\color{lred}\#}  & {\color{lyellow}\#} & 
@@ -34,15 +34,21 @@ jie gedeeltelijk beschreven is in tabel \ref{tab:sy1}.
 
 \subsection{Tussentaal}
 Om de notatie leesbaar en overzichtelijk te houden beschrijven we de syntax
-niet in de oorspronkelijke kleuren notatie maar gebruiken we een woordelijke
+niet in de oorspronkelijke kleurennotatie maar gebruiken we een textuele
 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$\\ 
+\\Waarbij $n \in \mathbb{N}_1$. $\mathbb{N}_1$ word ook wel gebruikt om de set  $\mathbb{N}$ zonder 0 aan te geven. De parameter \textit{n} is hier toegevoegd omdat er anders in de tussentaal de grootte van het codel op het moment van de \textit{push} niet bekend is.\\
+De commando's in(char) en out(char) worden in tegenstelling tot in(number) en out(number) in dit werkstuk niet behandeld.\\
 
-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.
+\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 drie letters van het commando, met uitzondering van het commando
+\textit{push}. Voor het ophalen van een variabele zoals staat beschreven in
+Paragraaf~\ref{subsec:unair} gebruiken we ook \textit{get n}. De commando's
+worden gescheiden door komma's in plaats van puntkomma's.