Available in 2017, 2018

Course handbook

Description

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


Availability2017 Course Timetables

Callaghan

  • Semester 2 - 2017
  • Semester 2 - 2018

Learning outcomes

On successful completion of the course students will be able to:

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

Requisite

This course has similarities to COMP3290. If you have successfully completed COMP3290 you cannot enrol in this course.


Assumed knowledge

SENG6120


Assessment items

Written Assignment: Essays/Written Assignment

Formal Examination: Formal exam *

Project: Projects

* 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

Callaghan

Lecture

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

Tutorial

Face to Face On Campus 2 hour(s) per Week for Full Term starting in week 2