semantics aangetikt maar niet gedaan, analysis mee begonnen, skip klaar en compositie ook
authorMart Lubbers <mart@martlubbers.net>
Thu, 12 Jun 2014 14:02:40 +0000 (16:02 +0200)
committerMart Lubbers <mart@martlubbers.net>
Thu, 12 Jun 2014 14:02:40 +0000 (16:02 +0200)
an_compositie.tex
analysis.tex
semantics.tex
todo.txt

index ac80bf1..7e00968 100644 (file)
@@ -1,10 +1,10 @@
 \subsection{Compositie}
 De \textit{Composition} van $S_1$ en $S_2$ is gelijk aan de corresponderende 
-blokken in \textit{Piet} waarbij het einde van het pad van het eerste blok met 
-een wit blokje verbonden wordt met het blokje links bovenaan het tweede blok. 
-Lukt dit niet omdat dan beide blokken overlappen of het einde van het pad van 
-het eerste blok aan de boven of linkerkant ligt, dan kunnen het ook meerdere 
-blokjes zijn eventueel door zwarte blokken gestuurd.\\
+blokken in \textit{Piet} waarbij het de paden aan elkaar verbonden worden met
+$0$ of meer skip blokken. Over het algemeen is er geen \textit{skip} blok nodig
+maar als $S_1$ eindigt met een breed kleurenvlak en $S_2$ begint met een breed
+kleuren vak kunnen de blokken met elkaar verbonden worden door het invoeren van
+\textit{skips}.
 In dit voorbeeld van \textit{Piet} geven de '*' aan dat je hier elk willekeurig blok voor in kan vullen. De verschillende grijstinten geven de verschillende blokken aan. Lichtoranje geeft het begin van het pad van dat blok aan en donkeroranje het eind. Als laatste staat een underscore voor een wit blokje.\\
 \textbf{While} $S_1;S_2$\\
 \textbf{Piet}
@@ -16,4 +16,4 @@ In dit voorbeeld van \textit{Piet} geven de '*' aan dat je hier elk willekeurig
 \color{orange}$\ast$ & \color{gray}$\ast$ & \color{gray}$\ast$\\
 \color{gray}$\ast$ & \color{gray}$\ast$ & \color{gray}$\ast$\\
 \color{gray}$\ast$ & \color{gray}$\ast$ & \color{dorange}$\ast$\\
-\end{tabular}
\ No newline at end of file
+\end{tabular}
index 2d8a69b..9bd9fee 100644 (file)
@@ -1,10 +1,18 @@
-\subsection{Skip}
-De \textit{Skip} is gelijk aan een enkel wit blokje. Als er naar een locatie
-gegaan moet worden voor de volgende operatie kunnen het ook meerdere blokjes
-zijn eventueel door zwarte blokken gestuurd.\\
+\subsection{Vertaling}
+Hieronder beschrijven we de vertaal stappen om van een arbitrair \textit{While}
+programma een \textit{Piet} te maken.
+
+\subsection{Skip en logistiek}
+De \textit{Skip} is gelijk aan een of meer witte blokjes gevolgd niet wit
+blokje.  Het witte blokje laat piet niks doen en het eerstvolgende niet witte
+blokje zorgt ervoor dat de interpreter een aanknopingspunt heeft voor de
+volgende overgang.
 \textbf{While} $skip$\\
 \textbf{Piet} {\color{white}\#}\\
 
+Doormiddel van \textit{skip} en bochten kunnen code blokken met elkaar
+verbonden worden. 
+
 \input{an_compositie.tex}
 
 \input{an_if_statement.tex}
index 994aeb6..f7fb7fa 100644 (file)
@@ -1,21 +1,23 @@
 \subsection{Structurele operationele semantiek}
 Bij natuurlijke semantiek(ns) ligt de nadruk op de relatie tussen de begin en
-de eind state.  Het nadeel hiervan is dat programmas die niet termineren geen
+de eind state.  Het nadeel hiervan is dat programma's die niet termineren geen
 bewijsbomen hebben.  Hierdoor is het niet mogelijk om eigenschappen te bewijzen
-voor zulke programmas.  Bij structurele operationele semantiek(sos) ligt de
+voor zulke programma's.  Bij structurele operationele semantiek(sos) ligt de
 nadruk juist op de individuele stappen van de executie en zijn er w\'el
-bewijsrijen voor programmas die niet termineren.\\
+bewijsrijen voor programma's die niet termineren.\\
 Om deze redenen hebben we gekozen voor sos.\\ 
 Een toestand in onze semantiek wordt beschreven door drie stacks; input, output
 en programma. Respectievelijk benoemen we deze met $s_i, s_o, s$ en beschrijven
 ze de STDIN, STDOUT en interne stack van het programma.  Stacks worden
 gerepresenteerd als: $s=[e_0, e_1, \dots, e_n]$ waarbij $e_i\in\mathbb{Z}$
- en waarbij het bovenste element op de stack gerepresenteerd word door het
+ en waarbij het bovenste element op de stack gerepresenteerd wordt door het
  eerste element in de lijst.\\
-Het transitie systeem zal twee verschillende transities kennen, namelijk:\\ 
+Het transitiesysteem zal twee verschillende transities kennen, namelijk:\\ 
 $\langle S, s_i, s_o, s\rangle\Rightarrow\langle S', s_i', s_o', s'\rangle$ en\\ 
 $\langle S, s_i, s_o, s\rangle\Rightarrow\langle s_i', s_o', s'\rangle$\\ 
-Waarbij de laatste transitie duidt op een terminerende transitie en de eerste
+Waarbij de laatste transitie duidt op een transitie waar een volgende transitie
+aanwezig is en genomen kan worden. De tweede duidt op een transitie waarbij er
+geen volgede beschikbaar is en het programma dus termineerd.
 op een niet terminerende transitie.\\ 
 
 \subsection{Semantiekbeschrijving}
index 64a58bd..e29adbf 100644 (file)
--- a/todo.txt
+++ b/todo.txt
@@ -1,23 +1 @@
-spelfouten!!
-uitleg bij tabel 4
-
-Mart:
-KLAAR variabelen opslag
-bijhouden huidige blok oppervlak
-stappen met codelgrootte en loop methode
-codelgrootte
-KLAAR voorbeeld variabelen ophalen uit stack
-stack volgorde aangeven e_n ... e_0
-loops beter beschrijven
-annoteren Piet' programma in paint
-uitleg terminatie Piet' programma
-
-Marjolein:
-KLAAR wiskundige operaties op stacks definieren
-KLAAR onderscheid wiskundige deel
-KLAAR natuurlijke taal toevoegen voor semantiekbeschrijving
-KLAAR toevoegen functies/regels aan semantiek
-KLAAR toepassen semantiekregels op faculteitsprogramma in Piet'
-KLAAR? verdere uitleg Piet'
-inchar/outchar eventueel toevoegen aan semantiek (voor nu weggelaten)
-voor later: waarschijnlijk nog meer analyses in de vorm van afleidingsrijen toevoegen
+Bochten uitleggen(analysis.tex)