CSCI 434T Compiler Design (Not offered 2008-2009; to be offered 2009-2010) (Q)
This tutorial covers the principles and practices for the design and implementation of compilers and interpreters. Topics include all stages of the compilation and execution process: lexical analysis; parsing; symbol tables; type systems; scope; semantic analysis; intermediate representations; run-time environments and interpreters; code generation; program analysis and optimization;
and garbage collection. The course covers both the theoretical and practical implications of these topics. As a project course, students will construct a full compiler for a simple object-oriented language.
Format: tutorial. Evaluation will be based on presentations, problem sets, a substantial implementation project, and two exams.
Prerequisites: Computer Science 237 and Computer Science 361 (concurrent enrollment is acceptable). Computer Science 334 is recommended, but not required. Enrollment limit: 10 (expected: 10). Preference given to current or expected Computer Science majors.
PROJECT COURSE
FREUND