Computer Science 854: Advanced Compiler Techniques (Fall 2018)
Please send comments or questions at any time to
the instructor's email.
The course will cover language-dependent aspects of compilation
including scanning, parsing, semantic checking, high-level
optimization and run-time techniques. The course will include both
theoretical and practical assignments. In particular there will be a
major assignment involving revising the COOL compiler (from CS 654) to
add an interesting new feature.
- Syllabus in HTML and
- Sep 5: Fraser & Hanson,
lcc: A retargetable compiler for ANSI C
(See first "paper" listed, SIGPLAN notices).
- Sep 10: Bumbulis & Cowan, RE2C: A more versatile
- Sep 12: review LR parsing in "dragon book" or in Scott's "tree book".
- Sep 17: Bates & LaVie,
Recognizing substrings of LR(k) languages in linear time.
- Sep 19: Might & Darais, Yacc is dead.
See follow-up too.
(And the proper published paper from ICFP 2011.)
- Sep 24: Boyland & Spiewak,
ScalaBison: recursive ascent-descent parser generator
- Sep 26: Knuth,
Semantics of Context-Free Languages.
You should also read the errata.
- Oct 1: Boyland, Conditional Attribute Grammars, 1996.
You should concentrate on Section 4 and can ignore all the "conditional" parts.
- Oct 3: Boyland, Descriptional Composition
of Compiler Components, Doctoral Dissertation, 1996. You actually
only need to consult Appendix A which is a brief
introduction to APS.
- Oct 8: Review Knuth 1967 extensions (Turingol AG), plus
Analyzing Direct Non-Local Dependencies in Attribute
Grammars , 1998.
The complete paper is
Remote Attribute Grammars. J. ACM. July 2005, 627--687.
- Oct 15 and Oct 17:
Automatic generation of fixed-point-finding evaluators for
circular, but well-defined, attribute grammars, 1986.
E. Magnusson, G. Hedin: Circular reference attributed grammars - their evaluation and applications. Science of Computer Programming 68(1): 21-37 (2007), Elsevier. http://dx.doi.org/10.1016/j.scico.2005.06.005. (preprint).
Last modified: September 10, 2018