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.
- Office hour Tuesday October 23 will be cut short: only 2:00-2:30pm.
- 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).
- Oct 22: Boyland, Incremental
Evaluators for Remote Attribute Grammars, 2002.
- Oct 24:
Incremental Overload Resolution in Object-Oriented Programming Languages
Tamás Szabó, Edlira Kuci, Matthijs Bijman, Mira Mezini, Sebastian Erdweg,
FTfJP 2018, Amsterdam, 2018.
- Oct 29:
A. R. Koenig and B. Stroustrup, Exception Handling for
C++ , 1989.
- Nov 5:
Uniprocessor Garbage Collection Techniques,
- Nov 7:
Hans-J. Boehm , David Chase ,
A Proposal for Garbage-Collector-Safe C Compilation
, The Journal of C Language Translation, Vol. 4, no 2, December 1992, page 126-141.
- Nov 12:
Jeffrey Dean, David Grove, and Craig Chambers,
Optimization of Object-Oriented Programs Using Static Class
Hierarchy Analysis, ECOOP 1995.
- Nov 14:
Tip and Palsberg,
Scalable Propagation-Based Call Graph Construction
Algorithms, OOPSLA 2000.
- Nov 26:
Lindholm, et al. The Java (R) Virtual Machine Specification (Java SE 8
- Nov 28:
Guest Lecture: Eric Fritz (Waddle Compiler Project)
- Dec 3:
Markus Dahm (and others?),
Byte Code Engineering with the BCEL API
- Dec 5:
G Morrisett, D Walker, K Crary, N Glew
From system F to typed assembly language
ACM TOPLAS 21, 3 (May 1999).
Last modified: September 10, 2018