  % -*- Mode:TeX -*-

\documentstyle[11pt,twoside,lcscover,makeidx]{report}
\setlength{\oddsidemargin}{0.25 in}
\setlength{\evensidemargin}{0 in}
\setlength{\topmargin}{-0.5 in}
\setlength{\textwidth}{6.25 in}
\setlength{\textheight}{9 in}

\pagestyle{myheadings}
\markboth{{\sc A Dataflow Compiler Substrate}}%
         {{\sc A Dataflow Compiler Substrate}}

%%% General macros
\input{laktex}

%%% Illustrations 
\input{illustrations}
\def\illustrationfileprefix{/df/id-world/docs/dfcs/002/}

%%% Figure environment for this document.
%%% Usage:  \begin{fig}{LABEL}{CAPTION}...fig...\end{fig}
\input{fig}

% Lisp function documentation
\input{lispdoc}

% Environment for file specification
% Usage : \begin{systemfiles}{SYSTEM-NAME}{SYSTEM-DECLARATION-FILE}{LABEL}
%         \fileentry{FILE-NAME}{DESCRIPTION}{IN USE}{REFERENCE}
%         ...
%         \end{systemfiles}

\newenvironment{systemfiles}[3]%
{\begin{fig}{#3}{List of files for #1}
\newcommand{\fileentry}[4]{\mbox{##3} & {\tt ##1} & {##2} & {##4} \\ \hline}
\begin{tabular}{|c|l||p{2in}|c|}% {@{}l@{}p{\heqlhs}cl@{\extracolsep{\fill}}rr@{}}
\hline
\multicolumn{4}{|c|}{\mbox{\bf #1}} \\
\hline \hline
\multicolumn{4}{|c|}{\mbox{System Definition File : {\tt #2}}} \\
\hline
\multicolumn{4}{c}{\mbox{}} \\
\hline
\mbox{In Use} & \multicolumn{1}{c||}{\mbox{File Name}} &
\multicolumn{1}{c|}{Description} & Reference \\
\hline \hline}%
{\end{tabular}
\end{fig}}


\def\labelenumi{\arabic{enumi})} 

\def\clauses{{\tt \&clauses }}
\def\separated-by{{\tt \$separated-by}}

%%%% Abbreviations for use in text.
\def\ala{{\em \`{a} la}}
\def\ie{{\em i.e.}}
\def\eg{{\em e.g.}}
\def\cf{{\em cf}\abbreviationperiod}
\def\etc{{\em etc}\abbreviationperiod}
\def\etal{{\em et~al}\abbreviationperiod}
\def\vs{{\em vs}\abbreviationperiod}
\def\via{{\em via}}


\newbox\centerstrutbox
\setbox\centerstrutbox=\hbox{\vrule height2pt depth2pt width0pt}
\def\centerstrut{\relax\ifmmode\copy\centerstrutbox\else\unhcopy\centerstrutbox\fi}

% 
% LispIndex creates an index entry for a lisp function named Name.  Type may be
% specified if it is something other than a function (a variable, for example).
% If Bold is specified, the page number appears in boldface.  Unfortunately, if
% both a non-bold and bold LispIndex for the same entry appear on the same page,
% both bold and non-bold page numbers appear in the index for the same page.
% Bold is used by OneLispDoc.
% Temporary.
\def\lispindex#1{}

\makeindex

% Lcscover option.
\title{A Dataflow Compiler Substrate \\ Revised Version 002}
\author{Ken Traub \\ Revised by: James Hicks and Shail Aditya}
\date{\today}
\trnumber{Computation Structures Group Memo 261-1}
\researchcredit{This research was supported in part
by Advanced Research Projects Agency of the Department of Defence under
Office of Naval Research contract no. N00014-75-C-0661. Ken Traub is
supported by a fellowship from the National Science Foundation.}

%\includeonly{dfcs-defining-compilers}
\begin{document}
\bibliographystyle{plain}
\maketitle

\include{dfcs-version-001}
\include{dfcs-version-002}
\tableofcontents
\listoffigures
\include{dfcs-introduction}
\include{dfcs-defining-compilers}
\include{dfcs-parse-tree}
\include{dfcs-dataflow-graph}
\include{dfcs-attributes}
\include{dfcs-exsym-tables}
\include{dfcs-ciobl}
\include{dfcs-miscellaneous}
\include{dfcs-files}
\include{dfcs-acknowledgments}
\bibliography{dfcs}
\include{dfcs-index}
\end{document}
