Language Systems

This module introduces students to methods that are employed in the design and development of language processing systems and various types of software such as editors, translators, formatters, interpreters and the front end of interactive software.

The course explores design methods, formalisms, data structures and advanced programming techniques. Lexical analysis, syntax analysis, syntax directed translation and code generation are also covered. The module brings all these areas together in studying the design and development of software, ranging from a calculator to a compiler-interpreter system.

The module investigates specification of language and the limitations of a practical implementation. The mapping of data objects onto a linear memory and the operation of the runtime system enable students to gain an understanding of how languages work, which leads to a more complete appreciation and understanding of programming languages.

On successful completion of this module, the student will be able to

Student achievement will be measured by an In-Course Assessment.

Either C++ Programming 2 or Java Programming 2 is a pre-requisite for this module.


Website Home