Μεταγλωττιστές
Κωδικός | 3.4.3186.8 |
---|---|
Εξάμηνο | 8o |
Ροή | Λ - Λογισμικό Η/Υ |
Κατηγορία | Κατ' επιλογήν υποχρεωτικό |
Ώρες Διδασκαλίας - Ώρες Εργαστηρίου | 2 - 2 |
Διδάσκοντες | Κωστής Σαγώνας |
Σύνδεσμοι | Helios, Ιστοσελίδα Μαθήματος |
Πλατφόρμα Διδασκαλίας |
Τμήμα 1:
Microsoft Teams
|
Περιγραφή
Εισαγωγή: μεταγλωττιστές και συναφή εργαλεία, φάσεις μεταγλώττισης, οργάνωση μεταγλωττιστή. Ορισμός γλωσσών: συμβολισμοί, αυτόματα, γραμματικές. Λεκτική ανάλυση: λεκτικές μονάδες, σχεδίαση λεκτικού αναλυτή. Συντακτική ανάλυση: σχεδίαση συντακτικού αναλυτή από πάνω προς τα κάτω ή από κάτω προς τα πάνω. Πίνακες συμβόλων. Σημασιολογική ανάλυση: συστήματα τύπων και σημασιολογικός έλεγχος. Παραγωγή ενδιαμέσου κώδικα: μορφές ενδιάμεσου κώδικα, μετάφραση οδηγούμενη από τη σύνταξη. Παραγωγή τελικού κώδικα: o τελικός υπολογιστής, διαχείριση μνήμης και εγγραφήματα δραστηριοποίησης, παραγωγή τελικού κώδικα εντολή προς εντολή. Βελτιστοποίηση κώδικα. Εργαλεία αυτόματης κατασκευής μεταγλωττιστών: lex/flex, yacc/bison, μετα-μεταγλωττιστές.
Εργαστήριο: σχεδίαση και υλοποίηση ενός μεταγλωττιστή για μια υποθετική γλώσσα προγραμματισμού.