|
|
Βαθμολογία
- Εργασία εξαμήνου (υλοποίηση ενός μεταγλωττιστή) - 60%
- Τελική εξέταση - 50%
- Για να περάσει κάποιος το μάθημα πρέπει να πιάσει τη βάση και στα δύο παραπάνω
Ύλη του μαθήματος:
- Εισαγωγή. Υλοποίηση ενός απλού μεταγλωττιστή με Java με αντικειμενοστρεφείς τεχνικές.
- Λεκτική ανάλυση, κανονικές εκφράσεις και γλώσσες, υλοποίηση λεκτικών αναλυτών.
- Συντακτική ανάλυση, top-down και bottom-up parsing, υλοποίηση συντακτικών αναλυτών.
- Σημασιολογική ανάλυση και παραγωγή ενδιάμεσου κώδικα.
- Οργάνωση μνήμης και περιβάλλον εκτέλεσης (run-time environment).
- Δέσμευση καταχωρητών (register allocation).
- Παραγωγή και βελτιστοποίηση τελικού κώδικα.
- Μοντέρνα θέματα μεταγλώττισης.
Κύρια βιβλία:
- Νικόλαος Παπασπύρου και Εμμανουήλ Σκορδαλάκης. Μεταγλωττιστές, Εκδόσεις Συμμετρία.
Xρήσιμο βιβλίο στα Ελληνικά (στη λίστα των βιβλίων που μπορείτε να πάρετε δωρεάν).
- Κ. Λάζος, Π. Κατσαρός, Ζ. Καραΐσκος. Μεταγλωττιστές Γλωσσών Προγραμματισμού: θεωρία και πράξη. Εκδόσεις Θεσαλλονίκη 2004.
http://delab.csd.auth.gr/~katsaros/CompilersBook.htm
Xρήσιμο βιβλίο στα Ελληνικά (στη λίστα των βιβλίων που μπορείτε να πάρετε δωρεάν).
Aλλα βιβλία που καλύπτουν παρόμοια θέματα:
- 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/
Υπό έκδοση σε μετάφραση από τις εκδόσεις Νέων Τεχνολογιών (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.
|
|
|
|