Pārlūkot izejas kodu

updating chapter 4

Jeremy Siek 6 gadi atpakaļ
vecāks
revīzija
75123376d3
1 mainītis faili ar 16 papildinājumiem un 9 dzēšanām
  1. 16 9
      book.tex

+ 16 - 9
book.tex

@@ -3236,12 +3236,13 @@ conditional control flow.
 \label{sec:r2-lang}
 
 The syntax of the $R_2$ language is defined in
-Figure~\ref{fig:r2-syntax}. It includes all of $R_1$ (shown in gray) ,
+Figure~\ref{fig:r2-syntax}. It includes all of $R_1$ (shown in gray),
 the Boolean literals \code{\#t} and \code{\#f}, and the conditional
-\code{if} expression. Also, we expand the operators to include 
-\key{and} and \key{not}, the \key{eq?} operations for
-comparing two integers or two Booleans, and the \key{<}, \key{<=},
-\key{>}, and \key{>=} operations for comparing integers.
+\code{if} expression. Also, we expand the operators to include
+subtraction, \key{and}, \key{or} and \key{not}, the \key{eq?}
+operations for comparing two integers or two Booleans, and the
+\key{<}, \key{<=}, \key{>}, and \key{>=} operations for comparing
+integers.
 
 \begin{figure}[tp]
 \centering
@@ -3999,7 +4000,10 @@ if_end21289:
 \node (R2) at (0,2)  {\large $R_2$};
 \node (R2-2) at (3,2)  {\large $R_2$};
 \node (R2-3) at (6,2)  {\large $R_2$};
-\node (C1-1) at (3,0)  {\large $C_1$};
+\node (R2-4) at (9,2)  {\large $R_2$};
+\node (R2-5) at (12,2)  {\large $R_2$};
+\node (C1-1) at (6,0)  {\large $C_1$};
+\node (C1-2) at (3,0)  {\large $C_1$};
 
 \node (x86-2) at (3,-2)  {\large $\text{x86}^{*}$};
 \node (x86-3) at (6,-2)  {\large $\text{x86}^{*}$};
@@ -4011,9 +4015,12 @@ if_end21289:
 \node (x86-2-2) at (6,-4)  {\large $\text{x86}^{*}$};
 
 \path[->,bend left=15] (R2) edge [above] node {\ttfamily\footnotesize\color{red} typecheck} (R2-2);
-\path[->,bend left=15] (R2-2) edge [above] node {\ttfamily\footnotesize uniquify} (R2-3);
-\path[->,bend left=15] (R2-3) edge [right] node {\ttfamily\footnotesize\color{red} flatten} (C1-1);
-\path[->,bend right=15] (C1-1) edge [left] node {\ttfamily\footnotesize\color{red} select-instr.} (x86-2);
+\path[->,bend left=15] (R2-2) edge [above] node {\ttfamily\footnotesize shrink} (R2-3);
+\path[->,bend left=15] (R2-3) edge [above] node {\ttfamily\footnotesize uniquify} (R2-4);
+\path[->,bend left=15] (R2-4) edge [above] node {\ttfamily\footnotesize remove-complex.} (R2-5);
+\path[->,bend left=15] (R2-5) edge [right] node {\ttfamily\footnotesize\color{red} explicate-control} (C1-1);
+\path[->,bend right=15] (C1-1) edge [above] node {\ttfamily\footnotesize uncover-locals} (C1-2);
+\path[->,bend right=15] (C1-2) edge [left] node {\ttfamily\footnotesize\color{red} select-instr.} (x86-2);
 \path[->,bend left=15] (x86-2) edge [right] node {\ttfamily\footnotesize\color{red} uncover-live} (x86-2-1);
 \path[->,bend right=15] (x86-2-1) edge [below] node {\ttfamily\footnotesize build-inter.} (x86-2-2);
 \path[->,bend right=15] (x86-2-2) edge [right] node {\ttfamily\footnotesize allocate-reg.} (x86-3);