blob: d45bee3f2efffb116cc3553a5bb19aa5c79ae74f (
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
29
30
|
% vim: set spelllang=nl:
\subsection{\texttt{Head}}
\label{sec:rules:head}
\begin{quote}
h - Pops a string from the stack, and pushes its head, that is the first
character. This causes an error if used on the empty string.
\end{quote}
In plaats van het geven van een error kiezen we ervoor te voorkomen dat we een
afleidingsboom kunnen maken wanneer $\StmHead$ wordt uitgevoerd op het moment
dat het element bovenop de stack de lege string is.
Dit geeft de volgende regel:
$$
\begin{prooftree}
\trans
{\pgm}{\ip}{(\push{c}{\stk'}, \str)}
{\ip'}{\op}{\st}
\justifies
\trans
{\StmHead:\pgm}{\ip}{(\stk,\str)}
{\ip'}{\op}{\st}
\using{\rheadns}
\qquad
\text{met $\pop{\stk} = (c~s,\stk')$.}
\end{prooftree}
$$
|