X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=syntax.tex;h=8917a6b370e28491ef5cc9719648debd6da02e2b;hb=d5eb78db13b8b04fdf0a3edf3e636dd9006948af;hp=60f8767f0b303e6d399ff6213ee2a990bfcf97b1;hpb=de298e39d28ad9f44e1e0e4f444321e099c9c48f;p=sec1415.git diff --git a/syntax.tex b/syntax.tex index 60f8767..8917a6b 100644 --- a/syntax.tex +++ b/syntax.tex @@ -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,22 +34,19 @@ 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 \: n\ |\ pop\ |\ add\ |\ subtract\ +$S ::= S_1 ; S_2\ |\ push \ |\ pop\ |\ add\ |\ subtract\ |\ multiply\ |\ divide\ |\mod\ |\\ not\ |\ greater\ |\ pointer\ |\ switch\ |\ duplicate\ |\ roll\ |\ innum\ |\ outnum$\\ -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. +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.