Jeremy G. Siek 2 years ago
parent
commit
0af1cb1d59
3 changed files with 26 additions and 127 deletions
  1. 1 1
      TimesAPriori_MIT.cls
  2. 17 17
      book.bib
  3. 8 109
      book.tex

+ 1 - 1
TimesAPriori_MIT.cls

@@ -583,7 +583,7 @@ ItalicFont=SyntaxLTStd-Italic,
   \pagenumbering{arabic}}
 
 \newcommand\backmatter{%
-  \clearpage
+  \clearpage\thispagestyle{plain}
   \@mainmatterfalse}
 
 \def\part{\clearpage\thispagestyle{empty}\global\@topnum\z@

+ 17 - 17
book.bib

@@ -167,7 +167,7 @@ numpages = {18}
 	booktitle = {Compiler Construction: Proceedings of the 12th
                   International Conference, CC '03, Held as Part of
                   the Joint European Conferences on Theory and
-                  Practice of Software, ETAPS '03, \normalfont{Lecture Notes in
+                  Practice of Software, ETAPS '03. \normalfont{Lecture Notes in
                   Computer Science 2622}},
 	pages = {77--89},
 	title = {A New One-Pass Transformation into Monadic Normal Form},
@@ -565,7 +565,7 @@ edition = {2}
 
 @inproceedings{Cooper:1998ly,
   author =        {Keith D. Cooper and L. Taylor Simpson},
-  booktitle =     {Compiler Construction: Proceedings of the 7th International Conference, CC '98, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS '98, \normalfont{Lecture Notes in Computer Science 1383}},
+  booktitle =     {Compiler Construction: Proceedings of the 7th International Conference, CC '98, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS '98. \normalfont{Lecture Notes in Computer Science 1383}},
   publisher =     {Springer},
   title =         {Live {Range} {Splitting} in a {Graph} {Coloring} {Register}
                    {Allocator}},
@@ -653,7 +653,7 @@ edition = {2}
   author =        {Detlefs, David and Flood, Christine and Heller, Steve and
                    Printezis, Tony},
   booktitle =     {Proceedings of the 4th International Symposium on
-                   Memory Management, ISMM 2004},
+                   Memory Management, ISMM '04},
   pages =         {37--48},
   publisher =     {Association for Computing Machinery},
   title =         {Garbage-{F}irst {Garbage} {Collection}},
@@ -663,7 +663,7 @@ edition = {2}
 @inproceedings{Tene:2011kx,
   author =        {Tene, Gil and Iyengar, Balaji and Wolf, Michael},
   booktitle =     {Proceedings of the International Symposium on Memory
-                   Management, ISMM 2011},
+                   Management, ISMM '11},
   pages =         {79--88},
   publisher =     {Association for Computing Machinery},
   title =         {C4: The {C}ontinuously {C}oncurrent {C}ompacting
@@ -677,7 +677,7 @@ edition = {2}
   editor =        {Bekkers, Yves and Cohen, Jacques},
   pages =         {1--42},
   publisher =     {Springer},
-  title =         {Uniprocessor Garbage Collection Techniques,
+  title =         {Uniprocessor Garbage Collection Techniques.
                   \normalfont{Lecture Notes in Computer Science 637}},
   year =          {1992}
 }
@@ -749,7 +749,7 @@ edition = {2}
 @inproceedings{Cutler:2015aa,
   author =        {Cutler, Cody and Morris, Robert},
   booktitle =     {Proceedings of the 2015 International Symposium on
-                   Memory Management, ISMM 2015},
+                   Memory Management, ISMM '15},
   pages =         {131--142},
   publisher =     {Association for Computing Machinery},
   title =         {Reducing Pause Times with Clustered Collection},
@@ -761,7 +761,7 @@ edition = {2}
                    Scheid, Paul T. and Cytron, Ron K. and
                    Kavi, Krishna M.},
   booktitle =     {Proceedings of the 2015 International Symposium on
-                   Memory Management, ISMM 2015},
+                   Memory Management, ISMM '15},
   pages =         {118--130},
   publisher =     {Association for Computing Machinery},
   title =         {Recycling Trash in Cache},
@@ -771,7 +771,7 @@ edition = {2}
 @inproceedings{Osterlund:2016aa,
   author =        {\"{O}sterlund, Erik and L\"{o}we, Welf},
   booktitle =     {Proceedings of the 2016 ACM SIGPLAN International
-                   Symposium on Memory Management, ISMM 2016},
+                   Symposium on Memory Management, ISMM '16},
   pages =         {1--12},
   publisher =     {Association for Computing Machinery},
   title =         {Block-Free Concurrent GC: Stack Scanning and Copying},
@@ -781,7 +781,7 @@ edition = {2}
 @inproceedings{Jacek:2019aa,
   author =        {Jacek, Nicholas and Moss, J. Eliot B.},
   booktitle =     {Proceedings of the 2019 ACM SIGPLAN International
-                   Symposium on Memory Management, ISMM 2019},
+                   Symposium on Memory Management, ISMM '19},
   pages =         {53--63},
   publisher =     {Association for Computing Machinery},
   title =         {Learning When to Garbage Collect with Random Forests},
@@ -791,7 +791,7 @@ edition = {2}
 @inproceedings{Gamari:2020aa,
   author =        {Gamari, Ben and Dietz, Laura},
   booktitle =     {Proceedings of the 2020 ACM SIGPLAN International
-                   Symposium on Memory Management, ISMM 2020},
+                   Symposium on Memory Management, ISMM '20},
   pages =         {87--99},
   publisher =     {Association for Computing Machinery},
   title =         {Alligator Collector: A Latency-Optimized Garbage
@@ -868,14 +868,14 @@ edition = {2}
   booktitle =     {Proceedings of Compiler Construction: 10th
                   International Conference, CC 2001, Held as Part of
                   the Joint European Conferences on Theory and
-                  Practice of Software, ETAPS 2001},
+                  Practice of Software, ETAPS '01},
   year =          {2001}
 }
 
 @inproceedings{Henderson:2002aa,
   author =        {Henderson, Fergus},
   booktitle =     {Proceedings of the 3rd International Symposium on
-                   Memory Management, ISMM 2002},
+                   Memory Management, ISMM '02},
   pages =         {150--156},
   publisher =     {Association for Computing Machinery},
   title =         {Accurate Garbage Collection in an Uncooperative
@@ -986,7 +986,7 @@ edition = {2}
   booktitle =     {ACM Symposium on LISP and Functional Programming, LFP '84},
   publisher =     {Association for Computing Machinery},
   title =         {Compiling a Functional Language},
-  pages =         {208--21},
+  pages =         {208--221},
   year =          {1984}
 }
 
@@ -1083,7 +1083,7 @@ edition = {2}
 
 @article{Anderson:2002kd,
   author =        {Christopher Anderson and Sophia Drossopoulou},
-  booktitle =     {Electron. Notes Theor. Comput. Sci.},
+  journal =     {Electron. Notes Theor. Comput. Sci.},
   number =        {8},
   publisher =     {Elsevier},
   title =         {{BabyJ}: From Object Based to Class Based
@@ -1105,9 +1105,9 @@ edition = {2}
 @inproceedings{Wadler:2009qv,
   author =        {Philip Wadler and Robert Bruce Findler},
   booktitle =     {Proceedings of Programming Languages and Systems, 31st European
-                  Symposium on Programming, ESOP 2009, Held as Part of
+                  Symposium on Programming, ESOP '09, Held as Part of
                   the Joint European Conferences on Theory and
-                  Practice of Software, ETAPS 2009},
+                  Practice of Software, ETAPS '09},
   editor =        {Giuseppe Castagna},
   publisher =     {Springer},
   pages =         {1--16},
@@ -1191,7 +1191,7 @@ edition = {2}
 
 @inproceedings{Weeks:2006aa,
   author =        {Weeks, Stephen},
-  booktitle =     {Proceedings of the 2006 Workshop on ML, ML '06},
+  booktitle =     {Proceedings of the 2006 Workshop on ML '06},
   pages =         {1},
   publisher =     {Association for Computing Machinery},
   title =         {Whole-Program Compilation in MLton},

+ 8 - 109
book.tex

@@ -2117,7 +2117,7 @@ def InterpLvar(InterpLint):
 \end{minipage}
 \fi}
 \end{center}
-Getting back to the troublesome example, repeated here
+Getting back to the troublesome example, repeated here:
 {\if\edition\racketEd  
 \begin{lstlisting}
 (Let 'y (Int 10) (Prim '- (Var 'y)))
@@ -5161,7 +5161,7 @@ We refer to these six registers are the argument-passing registers
 \index{subject}{argument-passing registers}.
 If there are more than six arguments, the convention is to use space
 on the frame of the caller for the rest of the arguments. In
-chapter~\ref{ch:Lfun} we instead pass a tuple containing the sixth
+chapter~\ref{ch:Lfun}, we instead pass a tuple containing the sixth
 argument and the rest of the arguments, which simplifies the treatment
 of efficient tail calls.
 %
@@ -5392,11 +5392,11 @@ locations before instruction $I_k$.  \racket{We recommend representing
 \fi}
 
 The locations that are live after an instruction are its
-\emph{live-after}\index{subject}{live-after} set and the the locations
+\emph{live-after}\index{subject}{live-after} set, and the locations
 that are live before an instruction are its
-\emph{live-before}\index{subject}{live-before} set.  The live-after
+\emph{live-before}\index{subject}{live-before} set. The live-after
 set of an instruction is always the same as the live-before set of the
-next instruction.  .
+next instruction.
 \begin{equation} \label{eq:live-after-before-next}
   L_{\mathsf{after}}(k) = L_{\mathsf{before}}(k+1)
 \end{equation}
@@ -23400,115 +23400,14 @@ registers.
   \label{tab:x86-instr}
 \end{table}
 
-%% \if\edition\racketEd
-%% \cleardoublepage
-%% \section{Concrete Syntax for Intermediate Languages}
-
-%% The concrete syntax of \LangAny{} is defined in
-%% figure~\ref{fig:Lany-concrete-syntax}.
-
-%% \begin{figure}[tp]
-%% \centering
-%% \fbox{
-%% \begin{minipage}{0.97\textwidth}\small
-%% \[
-%% \begin{array}{lcl}
-%%   \Type &::=& \gray{\key{Integer} \MID \key{Boolean}
-%%      \MID \LP\key{Vector}\;\Type\ldots\RP \MID \key{Void}} \\
-%%     &\MID& \gray{\LP\Type\ldots \; \key{->}\; \Type\RP} \MID \ANYTY{} \\
-%% \FType &::=& \key{Integer} \MID \key{Boolean} \MID \key{Void} 
-%%       \MID \LP\key{Vector}\; \ANYTY{}\ldots\RP \\
-%%      &\MID& \LP\ANYTY{}\ldots \; \key{->}\; \ANYTY{}\RP\\
-%% \Exp &::=& \ldots \CINJECT{\Exp}{\FType}\RP \MID \CPROJECT{\Exp}{\FType}\\
-%%   &\MID& \LP\key{any-vector-length}\;\Exp\RP
-%%    \MID \LP\key{any-vector-ref}\;\Exp\;\Exp\RP \\
-%%   &\MID& \LP\key{any-vector-set!}\;\Exp\;\Exp\;\Exp\RP\\
-%%   &\MID& \LP\key{boolean?}\;\Exp\RP \MID \LP\key{integer?}\;\Exp\RP
-%%    \MID \LP\key{void?}\;\Exp\RP \\
-%%   &\MID& \LP\key{vector?}\;\Exp\RP \MID \LP\key{procedure?}\;\Exp\RP \\
-%%   \Def &::=& \gray{ \CDEF{\Var}{\LS\Var \key{:} \Type\RS\ldots}{\Type}{\Exp} } \\
-%%   \LangAnyM{} &::=& \gray{\Def\ldots \; \Exp}
-%% \end{array}
-%% \]
-%% \end{minipage}
-%% }
-%% \caption{The concrete syntax of \LangAny{}, extending \LangLam{}
-%%   (figure~\ref{fig:Llam-syntax}).}
-%% \label{fig:Lany-concrete-syntax}
-%% \end{figure}
-
-%% The concrete syntax for \LangCVar{}, \LangCIf{}, \LangCVec{} and
-%% \LangCFun{} is defined in figures~\ref{fig:c0-concrete-syntax},
-%% \ref{fig:c1-concrete-syntax}, \ref{fig:c2-concrete-syntax}, and
-%% \ref{fig:c3-concrete-syntax}, respectively.
-
-
-%% \begin{figure}[tbp]
-%% \fbox{
-%% \begin{minipage}{0.96\textwidth}
-%% \small    
-%% \[
-%% \begin{array}{lcl}
-%% \Atm &::=& \gray{ \Int \MID \Var \MID \itm{bool} } \\
-%% \itm{cmp} &::= & \gray{ \key{eq?} \MID \key{<} } \\
-%% \Exp &::=& \gray{ \Atm \MID \key{(read)} \MID \key{(-}~\Atm\key{)} \MID \key{(+}~\Atm~\Atm\key{)} } \\
-%%   &\MID& \gray{ \LP \key{not}~\Atm \RP \MID \LP \itm{cmp}~\Atm~\Atm\RP } \\
-%% &\MID& \LP \key{allocate}~\Int~\Type \RP \\
-%%   &\MID& (\key{vector-ref}\;\Atm\;\Int) \MID (\key{vector-set!}\;\Atm\;\Int\;\Atm)\\
-%%   &\MID& \LP \key{global-value}~\Var \RP \MID \LP \key{void} \RP \\
-%% \Stmt &::=& \gray{ \Var~\key{=}~\Exp\key{;} } \MID \LP\key{collect}~\Int \RP\\
-%% \Tail &::= & \gray{ \key{return}~\Exp\key{;} \MID \Stmt~\Tail } 
-%%    \MID \gray{ \key{goto}~\itm{label}\key{;} }\\
-%%    &\MID& \gray{ \key{if}~\LP \itm{cmp}~\Atm~\Atm \RP~ \key{goto}~\itm{label}\key{;} ~\key{else}~\key{goto}~\itm{label}\key{;} } \\
-%% \LangCVecM{} & ::= & \gray{ (\itm{label}\key{:}~ \Tail)\ldots }
-%% \end{array}
-%% \]
-%% \end{minipage}
-%% }
-%% \caption{The concrete syntax of the \LangCVec{} intermediate language.}
-%% \label{fig:c2-concrete-syntax}
-%% \end{figure}
-
-%% \begin{figure}[tp]
-%% \fbox{
-%% \begin{minipage}{0.96\textwidth}
-%% \small
-%% \[
-%% \begin{array}{lcl}
-%% \Atm &::=& \gray{ \Int \MID \Var \MID \key{\#t} \MID \key{\#f} }
-%%   \\
-%% \itm{cmp} &::= & \gray{  \key{eq?} \MID \key{<} } \\
-%% \Exp &::= & \gray{ \Atm \MID \LP\key{read}\RP \MID \LP\key{-}\;\Atm\RP \MID \LP\key{+} \; \Atm\;\Atm\RP
-%%       \MID \LP\key{not}\;\Atm\RP \MID \LP\itm{cmp}\;\Atm\;\Atm\RP  } \\
-%%    &\MID& \gray{  \LP\key{allocate}\,\Int\,\Type\RP
-%%    \MID \LP\key{vector-ref}\, \Atm\, \Int\RP  } \\
-%%    &\MID& \gray{  \LP\key{vector-set!}\,\Atm\,\Int\,\Atm\RP \MID \LP\key{global-value} \,\itm{name}\RP \MID \LP\key{void}\RP } \\
-%%    &\MID& \LP\key{fun-ref}~\itm{label}~\Int\RP \MID \LP\key{call} \,\Atm\,\Atm\ldots\RP \\
-%% \Stmt &::=& \gray{ \ASSIGN{\Var}{\Exp} \MID \RETURN{\Exp} 
-%%        \MID \LP\key{collect} \,\itm{int}\RP }\\
-%% \Tail &::= & \gray{\RETURN{\Exp} \MID \LP\key{seq}\;\Stmt\;\Tail\RP} \\
-%%       &\MID& \gray{\LP\key{goto}\,\itm{label}\RP
-%%        \MID \IF{\LP\itm{cmp}\, \Atm\,\Atm\RP}{\LP\key{goto}\,\itm{label}\RP}{\LP\key{goto}\,\itm{label}\RP}} \\
-%%       &\MID& \LP\key{tail-call}\,\Atm\,\Atm\ldots\RP \\
-%%   \Def &::=& \LP\key{define}\; \LP\itm{label} \; [\Var \key{:} \Type]\ldots\RP \key{:} \Type \; \LP\LP\itm{label}\,\key{.}\,\Tail\RP\ldots\RP\RP \\
-%% \LangCFunM{} & ::= & \Def\ldots
-%% \end{array}
-%% \]
-%% \end{minipage}
-%% }
-%% \caption{The \LangCFun{} language, extending \LangCVec{} (figure~\ref{fig:c2-concrete-syntax}) with functions.}
-%% \label{fig:c3-concrete-syntax}
-%% \end{figure}
-
-%% \fi % racketEd
 
 \backmatter
 \addtocontents{toc}{\vspace{11pt}}
 
-%% \addtocontents{toc}{\vspace{11pt}}
-
-%% \nocite{*} is a way to get all the entries in the .bib file to print in the bibliography:
 \cleardoublepage % needed for right page number in TOC for References
+
+%% \nocite{*} is a way to get all the entries in the .bib file to
+%% print in the bibliography:
 \nocite{*}\let\bibname\refname
 \addcontentsline{toc}{fmbm}{\refname}
 \printbibliography