summaryrefslogtreecommitdiff
path: root/rulespush.tex
blob: 3362b50235985db39951489a497f52c75bf6d092 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
% vim: set spelllang=nl:
\subsection{\texttt{Push}}
\label{sec:rules:push}

\begin{quote}
	"text" - Places the string on top of the stack (without the quotes). The string
    may include the following escape sequences: newline, the " - character and the $\backslash$ - character
\end{quote}

De string tussen de quotes word op de stack gezet. Eerst word er nog gecontroleerd op newlines, "-characters en $\backslash$ characters. Dit gaat doormiddel van de hulpfunctie unescape. 

Dit geeft de volgende regel:

$$
\begin{prooftree}
	\trans
		{\pgm}{\ip}{(\push(\unescape(String)\stk), \str)}
		{\ip}{\op}{\st}
	\justifies
	\trans
		{\StmPush<String>:\pgm}{\ip}{(\stk,\str)}
		{\ip}{\op}{\st}
	\using{\rpushns}
	\qquad
\end{prooftree}
$$