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
31
32
33
34
35
36
37
38
39
40
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% this figure relates to something a little later on; placed here to
%%% force it to come atop the proper case
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{figure*}[htp]
\begin{verbatim}
@x
@<Start translation of command |o| and |goto| the appropriate label to
finish the job@>;
fin_set: @<Finish a command that either sets or puts a character, then
|goto move_right| or |done|@>;
fin_rule: @<Finish a command that either sets or puts a rule, then
|goto move_right| or |done|@>;
move_right: @<Finish a command that sets |h:=h+q|, then |goto done|@>;
show_state: @<Show the values of |ss|, |h|, |v|, |w|, |x|, |y|, |z|,
|hh|, and |vv|; then |goto done|@>;
done: if showing then print_ln(' ');
@y
Done: loop begin
show_state: loop begin
move_right: loop begin
fin_rule: loop begin
fin_set: loop begin
@<Start translation of command |o| and |goto| the appropriate label to
finish the job@>;
break end; @<Finish a command that either sets or puts a character, then
|goto move_right| or |done|@>;
break end; @<Finish a command that either sets or puts a rule, then
|goto move_right| or |done|@>;
break end; @<Finish a command that sets |h:=h+q|, then |goto done|@>;
break end; @<Show the values of |ss|, |h|, |v|, |w|, |x|, |y|, |z|,
|hh|, and |vv|; then |goto done|@>;
break end; if showing then print_ln(' ');
@z
\end{verbatim}
\caption{Translation of targets of \texttt{goto}s in
\texttt{dvitype.ch}}
\label{fig:dvitype}
\end{figure*}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|