summaryrefslogtreecommitdiff
path: root/introcoms.tex
diff options
context:
space:
mode:
authorCamil Staps2016-04-29 12:05:52 +0200
committerCamil Staps2016-04-29 12:05:52 +0200
commit6ae77313606978502e1d4611249cd85a7b9d2651 (patch)
treec8428db6398743917ace3d54c0b9b2f86edb9071 /introcoms.tex
parentLabels (diff)
Inleiding
Diffstat (limited to 'introcoms.tex')
-rw-r--r--introcoms.tex40
1 files changed, 40 insertions, 0 deletions
diff --git a/introcoms.tex b/introcoms.tex
new file mode 100644
index 0000000..3d62ad4
--- /dev/null
+++ b/introcoms.tex
@@ -0,0 +1,40 @@
+% vim: set spelllang=nl:
+\subsection{Commando's}
+\label{sec:intro:commands}
+We zullen nu kort op informele wijze de verschillende commando's in Smurf
+beschrijven. We geven telkens de notatie in Smurf syntax en een leesbaarder
+alternatief dat we hieronder zullen gebruiken. Wanneer een commando iets met
+elementen op de stack doet, worden die elementen altijd verwijderd.
+
+\begin{description}[style=nextline,font=\normalfont]
+ \item[\smurfinline{"..."} of $\StmPush~\texttt{...}$]
+ waarbij `\texttt{...}' een string is. Zet de string \texttt{...} op de
+ stack.
+ \item[\smurfinline{+} of $\StmCat$]
+ Concateneert de bovenste twee strings (laagste eerst) op de stack en zet
+ het resultaat op de stack.
+ \item[\smurfinline{i} of $\StmInput$]
+ Plaatst een string van `user input' op de stack. Hierbij wordt
+ \texttt{\textbackslash} gebruikt om LF-karakters, dubbele aanhalingstekens
+ en backslashes te escapen.
+ \item[\smurfinline{o} of $\StmOutput$]
+ Stuurt het bovenste element van de stack naar `de output'.
+ \item[\smurfinline{p} of $\StmPut$]
+ Zet de waarde van de variabelenaam bovenop de stack tot de string daaronder
+ op de stack.
+ \item[\smurfinline{h} of $\StmHead$]
+ Zet het eerste karakter van de string bovenop de stack als string op de
+ stack.
+ \item[\smurfinline{t} of $\StmTail$]
+ Zet alles behalve de head van de string bovenop de stack op de stack.
+ \item[\smurfinline{q} of $\StmQuotify$]
+ Manipuleert de string bovenop de stack zodat die als $\StmPush$-commando in
+ een Smurfprogramma kan worden gebruikt: escapet LF-karakters, dubbele
+ aanhalingstekens en backslashes met een backslash, en plaatst dubbele
+ aanhalingstekens om de hele string. Het resultaat wordt op de stack gezet.
+ \item[\smurfinline{x} of $\StmExec$]
+ Voert de string bovenop de stack uit als Smurfprogramma. Het programma
+ begint met een schone toestand, d.w.z. met een lege stack en variable
+ store.
+\end{description}
+