University of Malta

Study-Unit Description
UOM Main Page
Apply - Admissions 2016
Campus Map button


TITLE Compilers: Theory and Practice

LEVEL 02 - Years 2, 3 in Modular Undergraduate Course


DEPARTMENT Computer Science

DESCRIPTION The knowledge and experience acquired from this study-unit provides students with the ability to specify grammars and generate parsers for custom computer languages. The main topics covered in this unit are: the components of a compiler, lexical analysis and scanners, grammar definitions, top-down and bottom-up parsing algorithms, parser generation with tools such as bison/flex/javacc.

Study-unit Aims:

Programming languages and associated compilers are an essential part of many software engineering productivity tools. Compilers transform source programs into a form which can be executed on hardware. Compilers (or language translators) can also be used to structure raw data into a more structured and meaningful form using scanners and parsers. It is important that students understand how these transformations are carried out and can decide when best to use them.

Learning Outcomes:

1. Knowledge & Understanding:
By the end of the study-unit the student will be able to:

- Describe compiler components;
- Explain how computer programs are translated into machine code;
- Describe and compare scanning algorithms;
- Describe and compare parsing algorithms.

2. Skills:
By the end of the study-unit the student will be able to:

- Use parser generator tools to generate parsers for programming languages;
- Use compiler infrastructure kits to generate target code;
- Create simple programming languages and develop compilers for them.

Main Text/s and any supplementary readings:

Text book:
*Compilers: Principles, Techniques, and Tools (2nd Edition). Alfred V. Aho, Monica S.
Lam, Ravi Sethi, Jeffrey D. Ullman. Publisher: Prentice Hall; 2nd edition (September 10, 2006), ISBN-10: 0321486811, ISBN-13: 978-0321486813.

*Flex & Bison: Text Processing Tools. John Levine. Publisher: O'Reilly Media; 1
edition (August 21, 2009), ISBN-10: 0596155972, ISBN-13: 978-0596155971.

ADDITIONAL NOTES Students taking this study-unit are assumed to have knowledge of the material covered in the following study-units:
- CPS1000 or CPS1011;
- CPS1002;
- CPS1005 or CPS2007;
- CPS2005;
- CSA1017 or ICS1018.

STUDY-UNIT TYPE Lecture, Independent Study & Practicum

Assessment Component/s Resit Availability Weighting
Assignment Yes 50%
Examination (2 Hours) Yes 50%


The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the study-unit description above applies to the academic year 2017/8, if study-unit is available during this academic year, and may be subject to change in subsequent years.
Study-unit Registration Forms 2017/8


For Undergraduate (Day) and Postgraduate students.


Academic Advisors 2017/8


Academic Advisors for ICT 1st year students (Intake 2017/8), NOW available

Faculty of ICT Timetables


ICT Timetables are available from Here.

Health and Safety Regulations for Labs Form

The Faculty of ICT Health and Safety Regulations for Laboratories form can be found here



Log In back to UoM Homepage