|
@@ -1162,7 +1162,7 @@ that correspond to a grammar, and the body of each
|
|
|
\racket{clause}\python{case} makes a recursive call on each child
|
|
|
node.\footnote{This principle of structuring code according to the
|
|
|
data definition is advocated in the book \emph{How to Design
|
|
|
- Programs} \url{https://htdp.org/2020-8-1/Book/index.html}.}.
|
|
|
+ Programs} \url{https://htdp.org/2020-8-1/Book/index.html}.}
|
|
|
\python{We define a second function, named \code{stmt}, that
|
|
|
recognizes whether a value is a \LangInt{} statement.}
|
|
|
\python{Finally, } Figure~\ref{fig:exp-predicate} \racket{also}
|
|
@@ -4459,9 +4459,9 @@ L_{\mathsf{after}}(5)= \emptyset
|
|
|
addq tmp_0, tmp_1
|
|
|
|$\{\ttm{tmp\_1}\}$|
|
|
|
movq tmp_1, %rdi
|
|
|
- |$\{\ttm{rdi}\}$|
|
|
|
+ |$\{\ttm{rdi}\}$|
|
|
|
callq print_int
|
|
|
- |$\{\}$|
|
|
|
+ |$\{\}$|
|
|
|
\end{lstlisting}
|
|
|
\fi}
|
|
|
\end{minipage}
|
|
@@ -4649,8 +4649,8 @@ shown in Figure~\ref{fig:interfere}.
|
|
|
\lstinline!movq x, y!& \ttm{y} interferes with \ttm{w} but not \ttm{x}\\
|
|
|
\lstinline!movq x, z!& \ttm{z} interferes with \ttm{w} and \ttm{y}\\
|
|
|
\lstinline!addq w, z!& \ttm{z} interferes with \ttm{y} \\
|
|
|
-\lstinline!movq y, tmp_0!& \ttm{t} interferes with \ttm{z} \\
|
|
|
-\lstinline!negq tmp_0!& \ttm{t} interferes with \ttm{z} \\
|
|
|
+\lstinline!movq y, tmp_0!& \ttm{tmp\_0} interferes with \ttm{z} \\
|
|
|
+\lstinline!negq tmp_0!& \ttm{tmp\_0} interferes with \ttm{z} \\
|
|
|
\lstinline!movq z, tmp_1! & \ttm{tmp\_0} interferes with \ttm{tmp\_1} \\
|
|
|
\lstinline!addq tmp_0, tmp_1! & no interference\\
|
|
|
\lstinline!movq tmp_1, %rdi! & no interference \\
|