Compiler Design

Description

The purpose of this course is to study how high-level languages can be implemented on a computer.

Availability

Callaghan Campus

  • Semester 2 - 2015

Learning Outcomes

1. Specify and analyse the lexical, syntactic and semantic structures of advanced language features

2. Separate the lexical, syntactic and semantic analysis into meaningful phases for a compiler to undertake language translation

3. Write a scanner, parser, and semantic analyser without the aid of automatic generators

4. Turn fully processed source code for a novel language into machine code for a novel computer

5. Describe techniques for intermediate code and machine code optimisation

6. Design the structures and support required for compiling advanced language features.

Content

  1. Introduction to the theory of grammars
  2. High level languages and their compilers
  3. Lexical analysis
  4. Syntactic analysis
  5. Semantic analysis
  6. Object code generation
  7. Optimisation
  8. Compiling Advanced Language Features

Assumed Knowledge

SENG1120 and one of COMP2270 or ELEC2700.

Assessment Items

Project: Project Part 1 - Scanner

Project: Project Part 2 - Source Language

Project: Project Part 3 - Parser

Project: Project Parts 4 & 5 - Semantic Anal. & Code Generator

Formal Examination: Formal Examination *

* This assessment has a compulsory requirement.

Compulsory Requirements

In order to pass this course, each student must complete ALL of the following compulsory requirements:

Course Assessment Requirements:

  • Formal Examination: Minimum Grade / Mark Requirement - Students must obtain a specified minimum grade / mark in this assessment item to pass the course. - Students must obtain 40% in the final exam to pass the course.

Contact Hours

Lecture

Face to Face On Campus 3 hour(s) per Week for Full Term

Seminar

Face to Face On Campus 1 hour(s) per Week for Full Term

Workshop

Face to Face On Campus 1 hour(s) per Week for Full Term