305372 Compiler Construction

What is a Compiler?

The program that translates the instructions in one language (usually high-level programming language) into another language (usually machine language).

Overview

This course studies the principles of programming languages with an emphasis on the construction of compilers.  This includes various techniques for specifying a language and implementing compilers.  Topics to be covered include: automata, lexical analysis, sysntacic analysis, constructing parser,translation, and code generation.

Throughout the course, students will learn how to apply the concept of the compiler to construct MiniJava, which is a subset of Java programming language.  Students are required to keep records of their performance and quality of their programs to ensure the good software engineering practices are used in the development of their programs.