%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% 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*}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
