Unit information: Language Engineering in 2009/10

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Language Engineering
Unit code COMS22201
Credit points 20
Level of study I/5
Teaching block(s) Teaching Block 2 (weeks 13 - 24)
Unit director Dr. Steve Gregory
Open unit status Not open
Pre-requisites

COMS21102

Co-requisites

COMS12200

School/department Department of Computer Science
Faculty Faculty of Engineering

Description including Unit Aims

This unit covers the entire process of compiler production, from comparative languages and language specification to code generation and run time systems.

Aims:

The unit seeks to provide a relatively broad overview of this material, roughly corresponding to Part 1 of the above book. The use of tools will be favoured where appropriate, and theoretical topics will be introduced as needed to support this approach. The practical work will consist of producing a complete but simple compiler, in stages. (A more formal approach, covering material from Part 2 of the same book will be left to the Advanced Language Engineering unit.).

Intended Learning Outcomes

At the end of this unit, a student will be able to:

  1. Understand BNF grammar descriptions
  2. Use tools such as parser generators
  3. Carry out transformations and analyses on internal representations of programs
  4. Generate low level instructions

5#Write a complete but simple compiler

Teaching Information

36 Lectures.

Assessment Information

50% Coursework, 50% Exam

Reading and References

Andrew Appel “modern compiler implementation in Java”