Kaynağa Gözat

added info to \DEF

Jeremy Siek 4 yıl önce
ebeveyn
işleme
b21a414a5a
2 değiştirilmiş dosya ile 4 ekleme ve 5 silme
  1. 3 4
      book.tex
  2. 1 1
      defs.tex

+ 3 - 4
book.tex

@@ -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}
 \]

+ 1 - 1
defs.tex

@@ -77,7 +77,7 @@
 \newcommand{\REG}[1]{\key{(Reg}\;#1\key{)}}
 \newcommand{\BYTEREG}[1]{\key{(ByteReg}\;#1\key{)}}
 \newcommand{\DEREF}[2]{\key{(Deref}~#1~#2\key{)}}
-\newcommand{\DEF}[4]{\key{(Def}~#1~#2~#3~#4\key{)}}
+\newcommand{\DEF}[5]{\key{(Def}~#1~#2~#3~#4~#5\key{)}}
 \newcommand{\CDEF}[4]{\LP\key{define}~\LP#1~#2\RP\,\key{:}\,#3~#4\RP}
 \newcommand{\CFG}[1]{\key{(CFG}\;#1\key{)}}
 \newcommand{\BLOCK}[2]{\key{(Block}\;#1\;#2\key{)}}