CSCI 434T(F) Compiler Design (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
Hour: FREUND