Home
  Contact
  Short Vita
  Research
  Teaching
  LSDIS Lab
  Links

CSCI 4570  Compilers

Short Description

In this class the students will study the principles of compiler design and implementation. We will concentrate on the organization of a simple but complete compiler, including the initial phases of a typical front-end. We will begin with scanners, then go on to various parsing techniques, type checking, syntax-directed translation, and code generation. We will also talk about symbol tables, error recovery and runtime systems. Discussions will include compiler compilers (scanner and parser generators), as well code generation and optimization.

Each student is expected to design and implement a simple compiler (the details will be discussed later). All programming should be done in either C++ or C. Development in Java is also possible, but using compiler-compiler tools for Java may be more challenging. The programming project will be split into a few parts to make the development a larger project manageable.

Each student is expected to do his/her own work. You are not allowed to work in teams. All suspected cases of academic dishonesty will be handled in strict accordance with department and university policy. The grade of I (incomplete) is reserved for special cases only, such as a serious illness, and will be decided on individual basis.

The course syllabus outlines a general plan for the course and deviations may be necessary.