Εαρινό Εξάμηνο 2010  
line decor
  
line decor
 
 

 
 


 
Βαθμολογία:

  • Εργασία εξαμήνου (υλοποίηση ενός μεταγλωττιστή για μια διαδικαστική γλώσσα προγραμματισμού): 60%
  • Τελική εξέταση: 40% (ανοικτά βιβλία, εγχειρίδια και σημειώσεις)
  • Για να περάσει κάποιος/α το μάθημα πρέπει να συγκεντρώνει τουλάχιστον 50% σε κάθε μια από τις παραπάνω δοκιμασίες.


Ύλη του μαθήματος:

  • Εισαγωγή. Υλοποίηση ενός απλού μεταγλωττιστή σε C.
  • Λεκτική ανάλυση, κανονικές εκφράσεις και γλώσσες, υλοποίηση λεκτικών αναλυτών χρησιμοποιώντας lex/flex.
  • Συντακτική ανάλυση, top-down και bottom-up parsing, υλοποίηση συντακτικών αναλυτών χρησιμοποιώντας yacc/bison.
  • Σημασιολογική ανάλυση.
  • Παραγωγή ενδιάμεσου κώδικα.
  • Οργάνωση μνήμης και περιβάλλον εκτέλεσης (run-time environment) ενός προγράμματος.
  • Παραγωγή και βελτιστοποίηση τελικού κώδικα.
  • Μοντέρνα θέματα μεταγλώττισης.


Κύρια βιβλία:

  • 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/)

Οι διαλέξεις θα βασιστούν σε αυτό το βιβλίο (στη λίστα των βιβλίων που μπορείτε να πάρετε δωρεάν)

  • Νικόλαος Παπασπύρου και Εμμανουήλ Σκορδαλάκης. Μεταγλωττιστές, Εκδόσεις Συμμετρία.  

Xρήσιμο βιβλίο στα Ελληνικά (στη λίστα των βιβλίων που μπορείτε να πάρετε δωρεάν).

  • Κ. Λάζος, Π. Κατσαρός, Ζ. Καραΐσκος. Μεταγλωττιστές Γλωσσών Προγραμματισμού: θεωρία και πράξη. Εκδόσεις Θεσαλλονίκη 2004.  

http://delab.csd.auth.gr/~katsaros/CompilersBook.htm

Xρήσιμο βιβλίο στα Ελληνικά (στη λίστα των βιβλίων που μπορείτε να πάρετε δωρεάν).

Aλλα βιβλία που καλύπτουν παρόμοια θέματα:

  • 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.

 


Η περιγραφή του μαθήματος μπορεί να βρεθεί σε ηλεκτρονική μορφή εδώ.