Department of Computer Sciences @ Purdue University
Search | General Information | Academics | Research | People | External Relations

CS 661 Formal Compiling Methods

Application of concepts developed in formal language and automata theory to the design of programming languages and their processors. Models of syntactic analysis, including canonical precedence, LR(k) and LL(k) parsing methods and variants; efficiency of each. Synthesis techniques, including symbol tables, storage administration, parameter mechanisms, garbage collection; optimization considerations. Models of synthesis, including level, affix, attributed grammars; prospects of fully automating compiler design. Applicative vs. procedural languages and their implementations based on the semantic definition of a language (LISP, Lucid) and on proof-like techniques (PROLOG, equational systems); merits of such approaches.

Usually Offered:
Dormant
Credit: 3 hours (class)
Prerequisite: CS 502
University Catalog: CS 661
Schedule: Fall 2004
Instructor: Suresh Jagannathan