|
@@ -371,7 +371,7 @@ those programs that the rules allow.
|
|
|
It is common to have many rules with the same left-hand side, so there
|
|
|
is a vertical bar notation for gathering several rules, as shown in
|
|
|
Figure~\ref{fig:r0-syntax}. Each clause between a vertical bar is
|
|
|
-called an \em{alternative}.
|
|
|
+called an {\em alternative}.
|
|
|
|
|
|
\begin{figure}[tbp]
|
|
|
\fbox{
|
|
@@ -508,7 +508,7 @@ general, when a recursive function is defined using a sequence of
|
|
|
match clauses that correspond to a grammar, and each clause body makes
|
|
|
a recursive call on each child node, then we say the function is
|
|
|
defined by structural recursion.
|
|
|
-\marginpar{Should this be \(R_{0}\) and not {\tt arith?}}
|
|
|
+%% {Should this be R0 and not {\tt arith?}}
|
|
|
\begin{center}
|
|
|
\begin{minipage}{0.7\textwidth}
|
|
|
\begin{lstlisting}
|
|
@@ -913,7 +913,7 @@ such as \key{\%rax}.
|
|
|
%
|
|
|
An access to memory is specified using the syntax $n(\key{\%}r)$,
|
|
|
which reads register $r$ and then offsets the address by $n$ bytes
|
|
|
-($8\times n$ bits). The address is then used to either load or store to memory
|
|
|
+(8 bits). The address is then used to either load or store to memory
|
|
|
depending on whether it occurs as a source or destination argument of
|
|
|
an instruction.
|
|
|
|
|
@@ -1099,7 +1099,7 @@ x86_0 &::= & (\key{program} \;\itm{info} \; \Instr^{+})
|
|
|
\caption{Abstract syntax for x86-64 assembly.}
|
|
|
\label{fig:x86-ast-a}
|
|
|
\end{figure}
|
|
|
-\marginpar{I think this is PseudoX86, not x86-64.}
|
|
|
+%% \marginpar{I think this is PseudoX86, not x86-64.}
|
|
|
|
|
|
\section{Planning the trip from $R_1$ to x86-64}
|
|
|
\label{sec:plan-s0-x86}
|