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:
Not regularly offered
Credit: 3 hours (class)
Prerequisite: CS 502
University Catalog: CS 661