Compiler Construction
 

 

 

 

Description: Review of programming languages structures, translation, loading, execution, and storage allocation.  Compilation of declarations, expressions, statements, and procedures/functions.  Organization and design of a compiler.

Prerequisite: CS 4700

Course Materials:

bulletSyllabus
bulletProject Phases
bulletHomework
bulletNotes
bulletFrequently Asked Questions
bulletSoftware
bulletModula-2 Programs
bulletMy Solution to Project
bulletSample Exam

Project Phases

bulletPhase 1 - Lexical Analyzer - due September 14
bulletmain.c
bulletm2.tab.h
bulletPhase 2 - Parser - due September 23
bulletmain.c
bulletPhase 3 - Symbol Table - due October 12
bulletSymbolTable.zip
bulletPhase 4 - Declarations - due October 19
bulletDeclarations.zip
bulletPhase 5 - Expressions - due October 26
bulletExpressions.zip
bulletPhase 6 - Simple Statements - due November 9
bullet SimpleStatements.zip
bulletPhase 7 - Control Statements - due November 16
bulletControlStatements.zip
bulletPhase 8 - User Defined Types - due November 30
bulletUDT.zip
bulletPhase 9 - Procedures and Functions - due December 9
bulletPandF.zip

Homework

bullet Homework 1 - due September 21
bullet Homework 2 - due September 28
bullet Homework 3 - due October 5

Notes

bulletIntroduction to Compiling
bulletLexical Anaysis
bulletpascal.l
bulletGrammars and Parsing
bulletpascal.y
bulletLR Parsing
bulletLL Parsing
bulletSymbol Tables
bulletSyntax Directed Translation
bulletDeclarations
bulletType Checking
bulletIssues on Code Generation
bulletExpressions
bulletIntermediate Code
bulletSimple Statements
bulletCode Generation
bulletControl Statements
bulletUser Defined Types
bulletProcedures and Functions
bulletCode Optimization

Software

bulletFlex
bulletBison
bulletSpim System
bulletSpim Documentation

Modula-2 Programs

bulletfractions.m2
bulletpermute.m2
bulletpostfix.m2
bulletpowers.m2
bulletprimes.m2
bullettowers.m2
bulletOutput from selected programs

My Solution to Projects

bulletLexical analyzer - m2.l
bulletParser - m2.y

Send mail to Steve.Allan@usu.edu with questions or comments about this web site.
Last modified December 06, 2005