Παρουσίαση/Προβολή
(DI111) - Ιωάννης Σμαραγδάκης
Περιγραφή Μαθήματος
Βασική δομή ενός μεταγλωττιστή. Τυπικές γλώσσες: κανονικές γλώσσες, γλώσσες χωρίς συμφραζόμενα, κατηγορικές γραμματικές. Λεκτική ανάλυση, χρήση μεταεργαλείων για τη δημιουργία λεκτικών αναλυτών. Συντακτική ανάλυση: συντακτικοί αναλυτές από πάνω προς τα κάτω (top-down) και από κάτω προς τα πάνω (bottom-up), ανάνηψη από σφάλματα, χρήση μεταεργαλείων για τη δημιουργία συντακτικών αναλυτών. Πίνακας συμβόλων. Σημασιολογική ανάλυση: είδη σημασιολογικών ελέγχων, συστήματα τύπων, δυναμικός έλεγχος τύπων. Παραγωγή ενδιάμεσου κώδικα. Βελτιστοποίηση κώδικα. Παραγωγή τελικού κώδικα. Μεταγλώττιση μη-κλασσικών γλωσσών προγραμματισμού.
Ημερομηνία δημιουργίας
Πέμπτη 11 Ιουνίου 2015
-
Περίγραμμα
Περιεχόμενο μαθήματος
- Εισαγωγή στους μεταγλωττιστές
- Επισκόπηση Μεταγλωττιστών
- Λεξική Ανάλυση
- Συντακτική Ανάλυση (top-down)
- Σημασιολογικήανάλυσηκαιέλεγχοςτύπων
- Visitor pattern
- Παραγωγή low level ενδιάμεσουκώδικα
- Ανάλυση προγραμμάτων, ροή δεδομένων, βελτιστοποίηση
- Συντακτική Ανάλυση (bottom-up)
- Δέσμευση Καταχωριστών
- Παραγωγή κώδικα (Επιλογή εντολών)
Διδάσκοντες

Σμαραγδάκης Ιωάννης
Βαθμίδα: Αναπληρωτής Καθηγητής
Τομέας: Υπολογιστικά Συστήματα και εφαρμογές
Βιβλιογραφία
Official textbooks:
- 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/
Published in translation by Newtech Publications (Νέων Τεχνολογιών) (http://www.newtech-publications.gr/)
- 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:- 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.
Ομάδα στόχος
Προπτυχιακοί φοιτητές του τμήματος Πληροφορικής και Τηλεπικοινωνιών - Φοιτητές του μαθήματος.
Προαπαιτούμενα
Προαπαιτούμενα Μαθήματα: Δομές Δεδομένων και Τεχνικές Προγραμματισμού, Αντικειμενοστραφής ΠρογραμματισμόςΣυνιστώμενα Προαπαιτούμενα Μαθήματα: Αρχιτεκτονική Υπολογιστών ΙΗλεκτρονική σελίδα μαθήματος
Σημειώματα Δικαιωμάτων Πνευματικής Ιδιοκτησίας
Για το υλικό του παρόντος μαθήματος ισχύουν τα ακόλουθα σημειώματα.
Σημείωμα Ιστορικού Εκδόσεων Έργου
Το παρόν έργο αποτελεί την έκδοση 1.0.
Σημείωμα Αναφοράς
Copyright Εθνικόν και Καποδιστριακόν Πανεπιστήμιον Αθηνών, Γιάννης Σμαραγδάκης 2015. Γιάννης Σμαραγδάκης. Μεταγλωττιστές. Έκδοση: 1.0. Αθήνα 2015. Διαθέσιμο από τη δικτυακή διεύθυνση: http://opencourses.uoa.gr/courses/DI111.
Σημείωμα Αδειοδότησης
Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά, Μη Εμπορική Χρήση Παρόμοια Διανομή 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων».
[1] http://creativecommons.org/licenses/by-nc-sa/4.0/
Ως Μη Εμπορική ορίζεται η χρήση:
- που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο
- που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο
- που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο
Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.
Διατήρηση Σημειωμάτων
- Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει:
- το Σημείωμα Αναφοράς
- το Σημείωμα Αδειοδότησης
- τη δήλωση Διατήρησης Σημειωμάτων
- το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει)
μαζί με τους συνοδευόμενους υπερσυνδέσμους.