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

E-mail Εκτύπωση PDF

Εβδομαδιαίες ώρες διδασκαλίας:    2 θεωρία + 1 ασκήσεις πράξεις + 2 εργαστήριο

Tυπικό εξάμηνο διδασκαλίας:         Ζ΄

Διδασκαλία: Η διδασκαλία του μαθήματος έχει τη μορφή 15 διαλέξεων και ισάριθμων εργαστηριακών ασκήσεων, στο πλαίσιο των οποίων υπάρχει η δυνατότητα ανάληψης εργασιών.

Ενδεικτικά προαπαιτούμενα: 6 

Διδακτικές μονάδες:

Σκοπός και στόχοι του μαθήματος:

Το γνωστικό αντικείμενο περιλαμβάνει τη  θεωρία κατασκευής – αξιολόγησης και ορθής χρήσης των μεταγλωττιστών στον προγραμματισμό. Συμπεριλαμβάνει πεδία από διάφορες άλλες γνωστικές περιοχές, όπως Γλώσσες Προγραμματισμού, Θεωρία Αυτομάτων και Τυπικών Γλωσσών, Software Engineering κ.α. Κατά συνέπεια, το μάθημα των μεταγλωττιστών συμπεριλαμβάνεται σε όλα σχεδόν τα τμήματα Πληροφορικής στα ΑΤΕΙ και τα ΑΕΙ, όπου διδάσκονται τα ακόλουθα:

Εισαγωγικά στις Γλώσσες προγραμματισμού, Ιστορικά στοιχεία, Κοινά σημεία των γλωσσών προγραμματισμού, εισαγωγή στους μεταγλωττιστές, ανάλυση και σύνθεση πηγαίου προγράμματος, συναφή εργαλεία, οι φάσεις της μεταγλώττισης, λεκτική ανάλυση, κανονικές εκφράσεις, αυτόματα και τυπικές γλώσσες, συντακτική ανάλυση, γραμματικές, top-down συντακτική ανάλυση, LP συντακτική ανάλυση, Μετάφραση καθοδηγούμενη από τη σύνταξη, έλεγχος τύπων, περιβάλλοντα εκτέλεσης, παραγωγή κώδικα, βελτιστοποίηση κώδικα..

Περίγραμμα μαθήματος:

  • Εισαγωγικά, γλώσσες προγραμματισμού, σύγκριση – αξιολόγηση, κατηγοριοποίηση.
  • Ιστορικά γλωσσών προγραμματισμού και κατασκευής μεταγλωττιστών, κοινά στοιχεία γλωσσών, κατηγορίες μεταγλωττιστών
  • Εισαγωγή στους μεταγλωττιστές, ορισμοί, ανάλυση και σύνθεση προγράμματος, συναφή εργαλεία.
  • Οι φάσεις της μεταγλώττισης – περιγραφή – ανάλυση, κατηγοριοποίηση (foreground – background).
  • Λεκτική ανάλυση, περιγραφή tokens, κανονικές εκφράσεις (regular expressions), άλγεβρα κανονικών εκφράσεων.
  • Αυτόματα. Γλώσσες και γραμματικές, χρήση διαγραμμάτων μετάβασης, σχεδιασμός λεκτικού αναλυτή.
  • Συντακτική ανάλυση, context free γραμματικές.
  • Top-down συντακτική ανάλυση, LP συντακτική ανάλυση.
  • Μετάφραση καθοδηγούμενη από τη σύνταξη (syntax directed translation).
  • Έλεγχος τύπων, περιβάλλοντα εκτέλεσης, παραγωγή ενδιάμεσου κώδικα.
  • Παραγωγή κώδικα, βελτιστοποίηση κώδικα.
  • Περιγραφή εφαρμογής σε πραγματική γλώσσα.

Βασική Βιβλιογραφία:

«Compilers – Principles, Techniques and Tools», Aho, Sethi, Ullman, Addison Wesley, ISBN 0-201-10194-7

«Modern Compiler Design», Grune, Bal, Jacobs, J.Wiley & Sons, ISBN 0-471-97697-0.

«Μεταγλωττιστές Γλωσσών Προγραμματισμού Θεωρία και Πράξη», Λάζος, Κατσαρός, Καραΐσκος, Θεσσαλονίκη 2003.

 

Ηλεκτρονικές Υπηρεσίες