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.