Αναβάθμιση πλατφόρμας eclass Προβολή

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

Εικόνα επιλογής

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

(CS120) -  ΝΙΚΟΛΑΟΣ ΔΗΜΟΚΑΣ

Περιγραφή Μαθήματος

Γενική Περιγραφή

Ένας μεταγλωττιστής είναι ένα σύστημα λογισμικού που μπορεί να διαβάζει ένα πρόγραμμα σε μία γλώσσα και να το μεταφράσει σε ένα ισοδύναμο πρόγραμμα σε μία άλλη γλώσσα. Το μάθημα Μεταγλωττιστές περιλαμβάνει:

  • Η δομή του μεταγλωττιστή, η διαδικασία μεταγλώττισης, Ανάπτυξη μεταγλωττιστών, Διερμηνευτής, Συνδέτης,
  • Λεξική Ανάλυση, Κανονικές εκφράσεις, Πεπερασμένα αυτόματα (προσδιοριστικά & μη-προσδιοριστικά)
  • Συντακτική ανάλυση, Γραμματικές, συμβολισμοί BNF, Παράγωγα και συντακτικά δένδρα, μηχανή στοίβας
  • Σημασιολογική ανάλυση, Γραμματικές ιδιοτήτων, Πίνακας συμβόλων
  • H γεννήτρια λεξικών αναλυτών LEX
  • Η γεννήτρια συντακτικών αναλυτών YACC
  • Ενδιάμεση αναπαράσταση και βελτιστοποίηση, Κώδικας τριών διευθύνσεων, βελτιωτικοί μετασχηματισμοί, Απεικόνιση τύπων και δεδομένων στη μνήμη, Βασικοί και δομημένοι τύποι, Μετάφραση εκφράσεων και εντολών

 

Ώρες Διδασκαλίας

  • Τρίτη: 11:00 – 13:00  (Μικρό Αμφιθέατρο 2)
  • Παρασκευή: 11:00 – 13:00  (Μικρό Αμφιθέατρο 2)

Ημερομηνία δημιουργίας

Τετάρτη 7 Οκτωβρίου 2020

  • Περιεχόμενο μαθήματος

    • Εισαγωγή,  Γλώσσες με δομή block, Στατική και δυναμική εμβέλεια, Συναρτήσεις και υποπρογράμματα, Κανόνες εμβέλειας, Διαχείριση μνήμης, Λεξική δομή γλωσσών προγραμματισμού.
    • Λεξική ανάλυση, Γεννήτριες κώδικα, Σύνταξη γλωσσών προγραμματισμο.
    • Συντακτική ανάλυση: καθοδική και ανοδική.
    • Σημασία γλωσσών προγραμματισμού: αξιωματική, δηλωτική και λειτουργική σημασία.
    • Σημασιολογική ανάλυση: γραμματικές ιδιοτήτων και πίνακας συμβόλων.
    • Παραγωγή και σύνθεση κώδικα: ενδιάμεσος κώδικας και κώδικας μηχανής, Συστήματα τύπων, Απεικόνιση τύπων και δεδομένων στη μνήμη.

    Μαθησιακοί στόχοι

    Με την επιτυχή ολοκλήρωση του μαθήματος, ο φοιτητής θα πρέπει να:

    • Κατανοεί την λεκτική, συντακτική και σημασιολογική ανάλυση των μεταγλωττιστών
    • Κατανοεί τα σημαντικά σημεία, τα προβλήματα και την χρησιμότητα της ενδιάμεσης μορφής και της βελτιστοποίησης των μεταγλωττιστών
    • Κατανοεί σε βάθος τον μηχανισμό μετάφρασης εκφράσεων και εντολών
    • Κατανοεί σε βάθος και να χρησιμοποιεί γεννήτριες μεταγλωττιστών όπως ο LEX και ο YACC

    Μέθοδοι αξιολόγησης

    • Γραπτή τελική εξέταση (100%)
    • Προαιρετικές Εργασίες και Εργαστηριακές Ασκήσεις

    Προτεινόμενα συγγράμματα

    1. Μεταγλωττιστές, Παπασπύρου Νικόλαος Σ.,Σκορδαλάκης Εμμανουήλ Σ. 
    2. Μεταγλωττιστές Αρχές, Τεχνικές & Εργαλεία, Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman