Computer Science | Formal Compiling Methods (3 cr.)
661 | --
P: 502. 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 semantic
definition of a language (LISP, Lucid) and on proof-like techniques
(PROLOG, equational systems); merits of such approaches.