Μεταγλωττιστές (Θεωρία)

Πληροφορίες Μαθήματος

Εξάμηνο Μαθήματος:
6
Μέρος Μαθήματος:
Θεωρία
Κωδικός Μέρους Μαθήματος:
244604
Εβδομαδιαίες Ώρες Διδασκαλίας:
2
Εβδομαδιαίες Ώρες Άσκησης Πράξης:
1
Μονάδες ECTS Μαθήματος:
5.5
Διαθέσιμο σε σπουδαστές ERASMUS:
Όχι
Προσωπικό Μαθήματος:


Σκοπός Μαθήματος

Ο κύριος σκοπός του μαθήματος είναι η κατανόηση της δομής και λειτουργίας των σύγχρονων μεταγλωττιστών, τόσο σε θεωρητικό όσο και σε πρακτικό επίπεδο.


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

Στο τέλος του μαθήματος, οι σπουδαστές θα είναι ικανοί, να :

  • Εξηγήσουν τις διαφορές μεταξύ ενός μεταγλωττιστή και διερμηνέα και επίσης να περιγράψουν το τρόπο λειτουργίας αυτών των προγραμμάτων.
  • Κατασκευάσουν λεκτικούς αναλυτές και να τους χρησιμοποιήσουν σε προγράμματα ανάλυσης κειμένων.
  • Εκφράσουν τη γραμματική μιας γλώσσας προγραμματισμού.
  • Κατασκευάσουν αναλυτές σύνταξης και να τους χρησιμοποιήσουν σε προγράμματα ανάλυσης κειμένων.
  • Εκτελέσουν εργασίες σημασιολογικής ανάλυσης.
  • Κατασκευάσουν μια γεννήτρια κώδικα.
  • Συζητήσουν τα πλεονεκτήματα των διαφόρων τεχνικών βελτιστοποίησης κώδικα.


Γενικές Ικανότητες

Στο τέλος του μαθήματος, οι σπουδαστές θα έχουν αποκτήσει τις ικανότητες για  να :

  • Ομαδική εργασία προκειμένου να κατασκευάσουν ένα μεταγλωττιστή.
  • Εργάζονται σε ένα διεπιστημονικό περιβάλλον: μαθαίνοντας τις βασικές αρχές, οι οποίες μπορούν να εφαρμοστούν μεταξύ διαφορετικών λειτουργικών συστημάτων και γλωσσών προγραμματισμού.
  • Παράξουν νέες ερευνητικές ιδέες.
  • Προώθηση της δημιουργικής και επαγωγική σκέψης για να αναπτύξουν νέες στρατηγικές προσεγγίσεις, προκειμένου να αναλύσουν τα προβλήματα και να χτίσουν  διάφορα είδη  διερμηνέων και μεταγλωττιστών.


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

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

Αξιολόγηση Σπουδαστών

Τελική εξέταση  (50%)

Παρουσία στις διαλέξεις (10%)


Βιβλιογραφία

  • "Compilers: Principles, Techniques, and Tools", A. Aho (etc), ISBN: 9780321486813, Addison Wesley/USA, 2006
  • "Compilers", Ν. Papaspyrou and E. Skordalakis, ISBN: 9789602661352, Athanasopoulos Publishers Ltd/Greece, 2002