\documentclass{WigReport}
\usepackage{epsfig} % so you can include .eps figures
\usepackage{alltt}  % so you can include program text 
\title{Wig Compiler Report}
\ReportNumber{yyyy-xx} % replace  yyyy with a year and xx with your group #
\author{First Member \\  % put your names here
        Second Member \\
        Third Member}
\begin{document}

\MakeTitlePage
\tableofcontents
\listoffigures % comment out if you have no figures
\listoftables  % comment out if you have no tables
\clearpage

% Replace each subsection below with the appropriate contents.
% Feel free to add more (sub)sections if you want. Write clearly
% and concisely. Assume that your readers know all about WIG and
% the COMP-520 course; don't quote the project description.
%
\section{Introduction}
\subsection{Clarifications}
Have you discovered any unclear points in the WIG language definition?
How have you chosen to resolve these?

\subsection{Restrictions}
Have you deliberately made any restrictions in your version of WIG?
What was your motivation? What are the implications?

\subsection{Extensions}
Have you made any extensions to your version of WIG?
What was your motivation? What are the implications?

\subsection{Implementation Status}
What is the status of your WIG implementation? Have all your proposed
features been implemented? Have they been tested? Do they work?

\section{Parsing and Abstract Syntax Trees}
\subsection{The Grammar}
Give the full grammar for your version of the WIG language by
listing your {\tt bison} input with all actions removed.

\subsection{Using the {\tt flex} or {\tt SableCC} Tool}
Discuss any interesting points in your {\tt flex} implementation of the
scanner. What are your token kinds?
Did you use start conditions? How and why?

\subsection{Using the {\tt bison} or {\tt SableCC} Tool}
Discuss any interesting points in your {\tt bison} implementation of the
parser. How did you make {\tt bison} accept your grammar? 

\subsection{Abstract Syntax Trees}
Present the structure of your abstract syntax trees.  If you used 
{\tt SableCC}, discuss how you modified the tree.

\subsection{Desugaring}
Do you resolve any syntactic sugar during parsing? How and why?

\subsection{Weeding}
Do you weed unwanted parse trees? How and why?

\subsection{Testing}
How have you tested this phase? Does it work?

\section{Symbol Tables}
\subsection{Scope Rules}
Describe the scope rules of your language.

\subsection{Symbol Data}
Describe the contents of symbol table entries.

\subsection{Algorithm}
Describe your algorithm for building symbol tables and
checking scope rules.

\subsection{Testing}
How have you tested this phase? Does it work?

\section{Type Checking}
\subsection{Types}
Describe the types supported by your language.

\subsection{Type Rules}
Describe the type rules of your language.

\subsection{Algorithm}
Describe your algorithm for checking type rules.

\subsection{Testing}
How have you tested this phase? Does it work?

\section{Resource Computation}
\subsection{Resources}
Describe the resources that you compute.

\subsection{Algorithm}
Describe your algorithm for computing resources.

\subsection{Testing}
How have you tested this phase? Does it work?

\section{Code Generation}
\subsection{Strategy}
Describe the overall strategy for generating code for a service.

\subsection{Code Templates}
Describe the code templates for your language constructs.

\subsection{Algorithm}
Describe your algorithm for generating code.

\subsection{Runtime System}
Describe the runtime system that is used by the services you generate.

\subsection{Sample Code}
Show the complete code generated for the service {\tt tiny.wig}.

\subsection{Testing}
How have you tested this phase? Does it work?

\section{Availability and Group Dynamics}
\subsection{Manual}
Describe how to compile and install services.

\subsection{Demo Site}
Give the URL for a web site that contains demos of 
services that you have generated.

\subsection{Division of Group Duties}
Explain who worked on what parts of the compiler and how you divided
the work.  Reflect on your group work experience and describe what
went well, what could have been better, and what you learned.

\section{Conclusions and Future Work}
\subsection{Conclusions}
First, provide a brief summary of the report.  Next, describe the main
things that you learned in the course of this work, and attempt to
draw new conclusions, even if they are just ``soft'' experience-based
ones.  Detail the things you learned that you did not expect to learn.

\subsection{Future Work}
What features does the WIG language need, and how could they be
provided?  How could your compiler be even better?

\subsection{Course Improvements}
What changes to the course would you recommend for future years?

\subsection{Goodbye}
What plans do you have, if any, to continue in the field of compiler
research and development?  Any parting words?

\end{document}