diff options
author | Camil Staps | 2016-04-29 12:05:52 +0200 |
---|---|---|
committer | Camil Staps | 2016-04-29 12:05:52 +0200 |
commit | 6ae77313606978502e1d4611249cd85a7b9d2651 (patch) | |
tree | c8428db6398743917ace3d54c0b9b2f86edb9071 /introcoms.tex | |
parent | Labels (diff) |
Inleiding
Diffstat (limited to 'introcoms.tex')
-rw-r--r-- | introcoms.tex | 40 |
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} + |