University Of Pretoria Computer Science Department

COS341 - Compiler Construction


Module Content

Practical Task Specifications - Look here for what you have to do in the practicals!
Project 1 Part A
Lexical Analysis
Project 1 Part B
Grammatical Analysis
Project 2 Part A
Semantic analysis for static scoping.
Project 2 Part B
Semantic analysis for type checking
Project 2 Part C
value flow analysis
Project 3 Part A
Code generation
Project 3 Part B
IL Optimisations
BASIC code example
a file with the BASIC code expected of you to parse and optimize.
Project 3 Part C
Abstraction over machine code generation
Additional Reading to Chapter 9
"Declarative Composition of Stack Frames" by Christian Lindig and Norman Ramsey (2004). The reading of this paper, in addition to book chapter 9, is _compulsory_.
Additional Reading: Code Optimisation
"Value-based Partial Redundancy Elimination" by Thomas van Drunen and Antony Hosking (2004). Reading this paper, in addition to our book, is _compulsory_
In this spreadsheet you can find your "raw" practical marks. These "raw" marks will then be used for the calculation of the final course mark according to the Formula that was already communicated to you.

Module forums

The new CS forums are available here.

Module Links

2nd edition of: Torben MOGENSEN, Introduction to Compiler Design, Springer Publisher, 2017.


Remember Me

Module Description

THIS WEB PAGE IS THE STUDY GUIDE for COS341: COMPILER CONSTRUCTION. Please carefully take note of all further announcements which will appear on this web page! In COS341 we follow ...

Show Long Description

Lecturer Information

Course Coordinator

Prof Stefan Gruner


Assistant Lecturers


Mr Letanyan Arumugam

Teaching Assistants

Mr Letanyan Arumugam

Class Representatives

English Representatives

Mr Herbert Magaya

Active Assignments

No currently active Assignments.
Check the assignment portal:

Active Fitch Fork Assignments

No currently active Fitch Fork Assignments
Check the assignment portal:

Active Bookings

    No bookings available

Lab Bookings

    No lab bookings available

Active Team Allocations

    No team allocations available

Active Bids

Individual Bids

    No individual bids

Team Bids

    No team bids

Team Pages

Team Pages

    No Team Pages

Team Pages Open to Module Members

    No Public Team Pages

Team Pages Open to Everyone

    No Public Team Pages

Active Polls

There are no polls available.
All content copyright © Department of Computer Science, School of IT, University of Pretoria, South Africa