Project Description
515 Compiler Design
Spring 2007


How to get started on this project.

How to turn in each assignment (includes a description of the late policy).

gpl programming manual gpl grammar gpl executables
src directory tests directory



Due Date

Project Title

Description

P1

Midnight Jan 29

Simple expression parser

Warm up exercise to learn flex/bison (GNU versions of lex/yacc)

P2

Midnight Feb 5

Write a game using gpl

Warm up exercise to introduce the language

P3

Midnight Feb 12

gpl Scanner and Parser

Build the scanner using flex and a skeleton of the parser using bison

P4

Midnight Feb 21

Symbol Table

Implement a symbol table for the parser from phase 3

P5

Midnight Mar 14

Expressions

Implement a C++ tree structure to hold expressions and add actions to parser to parse expressions

P6

Midnight Apr 16

Game Objects & Forward Declarations 

Implement a C++ object to hold games objects (triangle, rectangle, etc) and add actions to parser to parse game objects

P7

Midnight Apr 30

Statement and Event Handlers

Implement C++ objects to represent GPL statement, and the event handler class.  Add actions to the parser to handle both.

P8

Midnight May 10

Animation Blocks

Implement the animation code blocks


Note: Midnight January 29 is the midnight between January 29 and January 30.