Παρουσίαση/Προβολή

Επιλέχθηκε εικόνα

Μεταγλωττιστές

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

    Ομάδα στόχος

    Προπτυχιακοί φοιτητές του τμήματος Πληροφορικής και Τηλεπικοινωνιών - Φοιτητές του μαθήματος.

    Προαπαιτούμενα

    Συνιστώμενα Προαπαιτούμενα Μαθήματα: Αρχιτεκτονική Υπολογιστών Ι

    Ηλεκτρονική σελίδα μαθήματος

    http://cgi.di.uoa.gr/~thp06/lectures.html

    Σημειώματα Δικαιωμάτων Πνευματικής Ιδιοκτησίας

    Για το υλικό του παρόντος μαθήματος ισχύουν τα ακόλουθα σημειώματα.

     

    Σημείωμα Ιστορικού Εκδόσεων Έργου

    Το παρόν έργο αποτελεί την έκδοση 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/

     

    Ως Μη Εμπορική ορίζεται η χρήση:

    • που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο
    • που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο
    • που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο

    Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.

     

    Διατήρηση Σημειωμάτων

    • Οποιαδήποτε αναπαραγωγή ή διασκευή του υλικού θα πρέπει να συμπεριλαμβάνει:
    • το Σημείωμα Αναφοράς
    • το Σημείωμα Αδειοδότησης
    • τη δήλωση Διατήρησης Σημειωμάτων
    • το Σημείωμα Χρήσης Έργων Τρίτων (εφόσον υπάρχει)

    μαζί με τους συνοδευόμενους υπερσυνδέσμους.