|
|
Grading:
- A semester project, in 6 phases (compiler implementation) - 55%
- Exams - 50%
A passing grade in both components is required to pass the course.
Syllabus:
- Introduction. Implementation of a simple compiler in
Java with object-oriented techniques.
- Parsing, regular expressions and languages, implementation of lexical analyzers.
- Syntax analysis, top-down and bottom-up parsing, implementation of syntax analyzers.
- Semantic analysis and intermediate code generation.
- Memory organization and execution environment (run-time environment).
- Register allocation.
- Generation and optimization of final code.
- Modern compiler issues.
Official textbooks:
- Nikolaos S. Papaspyrou and
Emmanuel St. Skordalakis, Compilers, Symmetria, Athens,
2002.
(Νικόλαος Παπασπύρου και Εμμανουήλ
Σκορδαλάκης. Μεταγλωττιστές, Εκδόσεις Συμμετρία.)
- K. Lazos, P. Katsaros, Z. Karaiskos,
Compilers of Programming Languages: Theory and Practice, Thesaloniki
2004
Κ. Λάζος, Π. Κατσαρός, Ζ. Καραΐσκος.
Μεταγλωττιστές Γλωσσών Προγραμματισμού: θεωρία και πράξη. Εκδόσεις Θεσαλλονίκη
2004.
http://delab.csd.auth.gr/~katsaros/CompilersBook.htm
Reference books:
- Alfred V. Aho, Monica S. Lam, Ravi Sethi and Jeffrey D. Ullman Compilers:
Principles, Techniques, and Tools. 2nd edition. Addison-Wesley,
2007.
http://dragonbook.stanford.edu/
Forthcoming in translation from the publisher Newtech
Publications (Νέων Τεχνολογιών) (http://www.newtech-publications.gr/)
- Andrew W. Appel, Modern Compiler Implementation in C. Cambridge
University Press, 1998.
Andrew W. Appel, Modern Compiler Implementation in
Java. Cambridge University Press, 1998.
http://www.cs.princeton.edu/~appel/modern
- Charles N. Fischer and Richard J. LeBlanc, Jr. Crafting a Compiler
with C, Benjamin/Cummings, 1991.
- Steven S. Muchnick, Compiler Design and Implementation, Morgan Kaufmann
Publishers, 1997.
- Allen I. Hollub, Compiler Design in C, Prentice Hall, 1990.
Previous Years:
Compilers 2012, Compilers 2011,
Compilers 2010, Compilers 2009,
Compilers 2008, Compilers 2007
|
|