|
@@ -7635,7 +7635,7 @@ high-quality output in the \code{explicate\_control} pass.
|
|
|
%% \itm{bool} &::=& \code{True} \MID \code{False} \\
|
|
|
\Atm &::=& \INT{\Int} \MID \VAR{\Var} \MID \BOOL{\itm{bool}}\\
|
|
|
\Exp &::=& \Atm \MID \READ{} \\
|
|
|
- &\MID& \BINOP{\itm{binaryop}}{\Atm}{\Atm} \MID \UNIOP{\key{unaryop}}{\Atm} \\
|
|
|
+ &\MID& \BINOP{\Atm}{\itm{binaryop}}{\Atm} \MID \UNIOP{\itm{unaryop}}{\Atm} \\
|
|
|
&\MID& \CMP{\Atm}{\itm{cmp}}{\Atm} \MID \IF{\Exp}{\Exp}{\Exp} \\
|
|
|
&\MID& \LET{\Var}{\Exp}{\Exp}\\
|
|
|
\Stmt{} &::=& \PRINT{\Atm} \MID \EXPR{\Exp} \\
|
|
@@ -7899,7 +7899,7 @@ basic blocks.
|
|
|
Let's consider a few of the cases for the expression to be compiled.
|
|
|
If the expression to be compiled is a constant, then it can be
|
|
|
discarded because it has no side effects. If it's a \CREAD{}, then it
|
|
|
-has a side-effect and should be preserved. So the exprssion should be
|
|
|
+has a side-effect and should be preserved. So the expression should be
|
|
|
translated into a statement using the \code{Expr} AST class. If the
|
|
|
expression to be compiled is an \code{if} expression, we translate the
|
|
|
two branches using \code{explicate\_effect} and then translate the
|
|
@@ -8069,7 +8069,7 @@ We then delegate to \code{explicate\_pred}, passing the condition \code{(eq? y
|
|
|
every kind of expression that can have type \code{Boolean}.}
|
|
|
%
|
|
|
\python{The \code{explicate\_pred} function has four parameters: 1)
|
|
|
- the condition expession, 2) the generated statements for the
|
|
|
+ the condition expression, 2) the generated statements for the
|
|
|
``then'' branch, 3) the generated statements for the ``else''
|
|
|
branch, and 4) the dictionary of basic blocks. The
|
|
|
\code{explicate\_pred} function returns a list of \LangCIf{}
|