ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ.1 Μεταγλωττιστές Μεταγλωττιστής είναι το λογισμικό, που ως σκοπό έχει τη μετάφραση ενός προγράμματος από μία γλώσσα σε μία άλλη. Γιατί ασχολούμαστε με τη μελέτη της δομής και των τεχνικών ανάπτυξης μεταγλωττιστών; κατανόηση του τρόπου λειτουργίας τους και καλύτερη αξιοποίηση των δυνατοτήτων τους δυνατότητα δημιουργίας νέων γλωσσών (προγραμματισμού, σεναρίων, εντολών κ.α.) ή απλών λειτουργιών αναγνώρισης συμβολοσειρών και αυτοματοποιημένης επεξεργασίας κειμένου εξοικείωση με τεχνικές αναπαράστασης δεδομένων σε επίπεδο μηχανής
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Η δομή του μεταγλωττιστή
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Η δομή του μεταγλωττιστή
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Η διαδικασία μεταγλώττισης
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Η διαδικασία μεταγλώττισης Μεταγλωττιστές απλής σάρωσης πολλαπλής σάρωσης Διαχείριση λαθών λεξικών συντακτικών σημασιολογικών
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Η διαδικασία μεταγλώττισης Λεξική ανάλυση Ο στόχος της είναι ο διαχωρισμός των χαρακτήρων του πηγαίου προγράμματος σε ομάδες, με συγκεκριμένη σημασία, σύμφωνη με τον ορισμό της πηγαίας γλώσσας. Οι ομάδες αυτές των χαρακτήρων ονομάζονται λεξικές μονάδες. Παράδειγμα i=i+2*a iόνομα =τελεστής= iόνομα +τελεστής + 2αριθμός *τελεστής * aόνομα
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Η διαδικασία μεταγλώττισης Συντακτική ανάλυση Δέχεται ως είσοδο τις λεξικές μονάδες, που παράγονται κατά τη λεξική ανάλυση και προσπαθεί να ανιχνεύσει τη δομή του προγράμματος. Ως αποτέλεσμα της συντακτικής ανάλυσης παράγεται μία δομή, που ανάλογα με τη μορφή της αποκαλείται είτε παράγωγο, είτε συντακτικό δένδρο.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Η διαδικασία μεταγλώττισης Σημασιολογική ανάλυση Η σημασία ενός προγράμματος καθορίζει τη συμπεριφορά του κατά την εκτέλεση: στατική σημασία δυναμική σημασία
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Η διαδικασία μεταγλώττισης Βελτιστοποίηση πηγαίου προγράμματος Έπεται της σημασιολογικής ανάλυσης και μπορεί να ενσωματώσει βελτιστοποιήσεις στο παραγόμενο δένδρο ή σε μία γραμμική αναπαράσταση αυτού γνωστή με τον όρο κώδικας τριών διευθύνσεων. Το παραγόμενο δένδρο και ο κώδικας τριών διευθύνσεων είναι εναλλακτικές μορφές ενδιάμεσου κώδικα ή ενδιάμεσης αναπαράστασης. Περιπτώσεις βελτιστοποιήσεων: σύμπτυξη σταθερών διάδοση εντολών εκχώρησης τιμής στο υπόλοιπο πρόγραμμα απομάκρυνση των μη προσιτών τμημάτων κώδικα μετακίνηση κώδικα έξω από βρόχους επανάληψης κ.α.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Η διαδικασία μεταγλώττισης Σύνθεση τελικού προγράμματος Στη φάση αυτή χρησιμοποιείται η ενδιάμεση αναπαράσταση του πηγαίου προγράμματος, για τη δημιουργία κώδικα, σημασιολογικά ίδιου με τον πηγαίο, στη γλώσσα-στόχο. Ο κώδικας αυτός μπορεί να δημιουργηθεί για ένα συγκεκριμένο επεξεργαστή ή για κάποια ιδεατή μηχανή με χαρακτηριστικά συμβατικού επεξεργαστή. Βελτιστοποίηση τελικού προγράμματος Οι εναλλακτικές δυνατότητες βελτίωσης του παραγόμενου κώδικα εξαρτώνται πάντα από τον επεξεργαστή, για τον οποίο δημιουργείται το πρόγραμμα. Εξαρτώνται π.χ. Από το πλήθος και την εξειδίκευση των καταχωρητών του επεξεργαστή, τις μορφές προσπέλασης στη μνήμη και τις εντολές που διαθέτει.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Λειτουργία μεταγλωττιστών Άλλα προγράμματα διερμηνευτές συμβολομεταφραστές διασυνδέτες προεπεξεργαστές συντάκτες/διορθωτές ανιχνευτές λαθών καταγραφείς προγράμματα διαχείρισης έργου
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Λειτουργία μεταγλωττιστών
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Ανάπτυξη μεταγλωττιστών Διαγράμματα σχήματος T: Σύνθεση διαγραμμάτων σχήματος T:
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Ανάπτυξη μεταγλωττιστών Αυτοδύναμη ανάπτυξη (bootstrapping):
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής, Α.Π.Θ Ανάπτυξη μεταγλωττιστών Μεταφορά μεταγλωττιστή αυτοδύναμης ανάπτυξης σε νέα γλώσσα στόχο: