Μάθημα Κωδικός  Εξάμηνο Τύπος Ώρες Εργαστήριο /
Φροντιστήριο
ECTS Διδάσκοντες
Μεταγλωττιστές ΗΥ150  ΣΤ Επιλογής  4
4
Στεφανιδάκης Μ.

Μαθησιακά Αποτελέσματα

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

  • Να κατανοήσουν την πορεία μετατροπής του πηγαίου κώδικα και τη σύνδεση υλικού και λογισμικού.
  • Να παρακολουθήσουν αυτόνομα περαιτέρω εξελίξεις στον τομέα των μεταγλωττιστών και των ειδικών γλωσσών πεδίου (DSLs).
  • Να σχεδιάσουν και να υλοποιήσουν προγράμματα αναζήτησης σχεδίων (patterns) και εξαγωγής δεδομένων σε πολύ μεγάλα αρχεία κειμένου.
  • Να επιλέξουν το κατάλληλο εργαλείο συντακτικής ανάλυσης για τον μη τετριμμένο μετασχηματισμό δομημένης κειμενικής πληροφορίας σε μηχαναγνώσιμα δεδομένα.

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

Εισαγωγή στη μεταγλώττιση των προγραμμάτων. Γλώσσες γενικού σκοπού και ειδικές γλώσσες πεδίου (domain specific languages – DSLs). Λεκτική ανάλυση και εξαγωγή συμβόλων από πηγαίο κώδικα. Κανονικές Εκφράσεις και η πρακτική εφαρμογή τους. Αλγόριθμοι συντακτικής ανάλυσης. Πρακτική συντακτική ανάλυση top-down. Parsing Expression Grammars (PEGs). Πίνακες συμβόλων και ενδιάμεσος κώδικας. Εργαλεία μεταγλώττισης: διερμηνευτές (interpreters), συμβολομεταφραστές (assemblers), συνδέτες (linkers) και φορτωτές (loaders).

Υλικό Μαθήματος

http://e-class.ionio.gr/courses/DCS135/

http://mixstef.github.io/courses/compilers

Προτεινόμενη Βιβλιογραφία

  1. Μεταγλωττιστές, Alfred V. Aho, Monica S. Lam, Ravi Sethi, Jeffrey D. Ullman.,ΕΚΔΟΣΕΙΣ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΜΟΝ. ΕΠΕ, ISBN 978-960-6759-72-7, 2011
  2. Μεταγλωττιστές, Παπασπύρου Νικόλαος Σ.,Σκορδαλάκης Εμμανουήλ Σ., Εκδόσεις Συμμετρία, ISBN 978-960-266-135-2, 2002