ja
[sec1415.git] / versie-1 / syntax.tex
diff --git a/versie-1/syntax.tex b/versie-1/syntax.tex
new file mode 100644 (file)
index 0000000..af2be3c
--- /dev/null
@@ -0,0 +1,48 @@
+\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}.
+\begin{table}[h]
+       \caption{Gedeeltelijke 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}\#} & 
+                                            {\color{lgreen}\#}& {\color{lcyan}\#} &
+                                            {\color{lblue}\#} & ...\\
+               \hline
+               {\color{lred}\#}                & - & inc & dup & gre & ... & ...\\
+               {\color{lyellow}\#}             & add & - & inc & dup & ... & ...\\
+               {\color{lgreen}\#}              & div & add & - & inc & ... & ...\\
+               {\color{lcyan}\#}               & gre & div & add & - & ... & ...\\
+               {\color{lblue}\#}               & dup & gre & div & add & ... & ...\\
+               {\color{lmagenta}\#}    & inc & dup & gre & div & ... & ...\\
+               {\color{red}\#}                 & pus & oun & rol & ... & ... & ...\\
+               {\color{yellow}\#}              & sub & pus & oun & ... & ... & ...\\
+               {\color{green}\#}               & mod & sub & pus & ... & ... & ...\\
+               {\color{cyan}\#}                & poi & mod & sub & ... & ... & ...\\
+               {\color{blue}\#}                & rol & poi & mod & ... & ... & ...\\
+               {\color{magenta}\#}             & oun & rol & poi & ... & ... & ...\\
+               {\color{dred}\#}                & pop & ouc & ouc & ... & ... & ...\\
+               {\color{dyellow}\#}             & mul & pop & ouc & ... & ... & ...\\
+               {\color{dgreen}\#}              & not & mul & pop & ... & ... & ...\\
+               {\color{dcyan}\#}               & swi & not & mul & ... & ... & ...\\
+               {\color{dblue}\#}               & inn & swi & not & ... & ... & ...\\
+               {\color{dmagenta}\#}    & ouc & ouc & swi & ... & ... & ...\\
+               {\color{black}\#}               & blo & blo & blo & ... & ... & ...\\ 
+               {\color{white}\#}               & ski & ski & ski & ... & ... & ...\\
+       \end{tabular}
+\end{table}
+
+\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
+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.\\ 
+
+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.