|
@@ -7555,7 +7555,7 @@ C_3 & ::= & \Def\ldots
|
|
|
\mid \GOTO{\itm{label}} } \\
|
|
|
&\mid& \gray{ \IFSTMT{\BINOP{\itm{cmp}}{\Atm}{\Atm}}{\GOTO{\itm{label}}}{\GOTO{\itm{label}}} }\\
|
|
|
&\mid& \TAILCALL{\Atm}{\Atm\ldots} \\
|
|
|
-\Def &::=& \DEF{\itm{label}}{([\Var\key{:}\Type]\ldots)}{\Type}{((\itm{label}\,\key{.}\,\Tail)\ldots)}\\
|
|
|
+\Def &::=& \DEF{\itm{label}}{([\Var\key{:}\Type]\ldots)}{\Type}{\itm{info}}{((\itm{label}\,\key{.}\,\Tail)\ldots)}\\
|
|
|
C_3 & ::= & \PROGRAMDEFS{\itm{info}}{(\Def\ldots)}
|
|
|
\end{array}
|
|
|
\]
|
|
@@ -7608,8 +7608,7 @@ language, whose syntax is defined in Figure~\ref{fig:x86-3}.
|
|
|
\mid (\key{label} \; \itm{label}) } \\
|
|
|
&\mid& (\key{indirect-callq}\;\Arg ) \mid (\key{tail-jmp}\;\Arg) \\
|
|
|
&\mid& (\key{leaq}\;\Arg\;\Reg)\\
|
|
|
-\Block &::= & \gray{(\key{block} \;\itm{info}\; \Instr\ldots)} \\
|
|
|
-\Def &::= & (\key{define} \; (\itm{label}) \;\itm{info}\; ((\itm{label} \,\key{.}\, \Block)\ldots))\\
|
|
|
+\Def &::= & (\key{define} \; (\itm{label}) \;((\itm{label} \,\key{.}\, (\Instr\ldots))\ldots))\\
|
|
|
x86_3 &::= & (\key{program} \;\itm{info} \;\Def\ldots)
|
|
|
\end{array}
|
|
|
\]
|
|
@@ -7631,7 +7630,7 @@ x86_3 &::= & (\key{program} \;\itm{info} \;\Def\ldots)
|
|
|
\Instr &::=& \ldots \mid \INDCALLQ{\itm{label}}{\itm{int}}
|
|
|
\mid \TAILJMP{\Arg}{\itm{int}}\\
|
|
|
&\mid& \BININSTR{\code{'leaq}}{\Arg}{\REG{\Reg}}\\
|
|
|
- \Def &::= & \DEF{\itm{label}}{([\Var\key{:}\Type]\ldots)}{\Type}{((\itm{label}\,\key{.}\,\Block)\ldots)} \\
|
|
|
+ \Def &::= & \DEF{\itm{label}}{([\Var\key{:}\Type]\ldots)}{\Type}{\itm{info}}{((\itm{label}\,\key{.}\,\Block)\ldots)} \\
|
|
|
x86_3 &::= & \PROGRAMDEFS{\itm{info}}{(\Def\ldots)}
|
|
|
\end{array}
|
|
|
\]
|