Compilers
The goal of this lecture is to teach the basic theory behind a compiler (lexer, parser, intermediate languages, abstract syntax trees, code optimization and code generation). During this course the students are writing a full-blown compiler for a small language which produces JVM bytecode.
Bibliography
- Alfred V. Aho, Monica S. Lam, Ravi Sethi and Jeffrey D. Ullman. Compilers: Principles, Techniques, and Tools. 2nd edition. Addison-Wesley, 2007.
- Andrew W. Appel, Modern Compiler Implementation in Java. Cambridge University Press, 1998.
- Andrew W. Appel, Modern Compiler Implementation in C. Cambridge University Press, 1998.
- Steven S. Muchnick, Compiler Design and Implementation, Morgan Kaufmann Publishers, 1997.
- Allen I. Hollub, Compiler Design in C, Prentice Hall, 1990.
Lectures
Lecture slides are available in Greek.
- Introduction el
- Lexical Analysis el
- Syntax Analysis (Intro and Top-Down) el
- Syntax Analysis (Bottom-Up) el
- Syntax Directed Translation el
- Semantic Analysis el
- Intermediate Code Generation el
- Running Time Environment el
- JVM Internals el
Check out the following playlist
e-class
All announcements and material can also be found at http://eclass.hua.gr/courses/DIT107.