laatste kleine aanpassingen
[sec1415.git] / syntax.tex
index 080721a..0bc33dc 100644 (file)
@@ -2,7 +2,7 @@
 De ware syntax voor piet is makkelijk te beschrijven in een zeer grote tabel
 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,9 +34,21 @@ die 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 ::= S_1 ; S_2\ |\ push\ |\ pop\ |\ add\ |\ subtract\
-|\ multiply\ |\ divide\ |\\mod\ |\ not\ |\ greater\
-|\ pointer\ |\ switch\ |\ duplicate\ |\ roll\ |\\
-inchar\ |\ innum\ |\ outchar\ |\ outnum$\\ 
+\\$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.\\
+
+\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.