UNIVERSITY OF NORTHERN BRITISH COLUMBIA

Winter 2002
Computer Science


          Project Overview

1. Objectives

  1. To gain subject understanding and experience of a compiler by building a C- compiler for the Tiny virtual machine..

  2. To gain experience of  object oriented programming  for  a large project such as a compiler.


2. Layout


Figure 1 shows how different components interact to create and run a Cminus compiler.

 

Figure 1: Shows the layout of the project

 

\includegraphics [angle=270,width=0.8\textwidth]{overview.eps}


3. Project Break Down


The project will be broken into four sections (each worth 25%):

  1. Scanner
  2. Parser
  3. Semantic Analyzer
  4. Code Generator

 We will expect the project developed in the increments above and each section will be marked individually. A report will also be included for each section telling us what you have done and pointing out any bugs in the code. If you tell us your bugs in the report you will be penalized less than if you omit telling us. A solution to the problem in the report would also improve your mark.