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

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

Κωδικός:
Εξάμηνο:
Κατηγορία:
Ροή:

P1-6003
6ο
Υποχρεωτικό (Υ)

Ώρες:
Διδάσκοντες:
Σύνδεσμοι:

2 Θ – 1 ΑΠ/Φ – 1 Ε
Αικατερίνη Γεωργούλη (ΔΕΠ)

Περιγραφή

Στο πλαίσιο του μαθήματος διδάσκονται τα παρακάτω:

Εισαγωγή στους μεταφραστές, βασική δομή ενός μεταγλωττιστή, γραμματικές ανεξάρτητες συμφραζομένων, κανονικές εκφράσεις, πεπερασμένα αυτόματα, λεκτική ανάλυση, γεννήτριες λεκτικών αναλυτών (Flex), συντακτική ανάλυση, κανόνες παραγωγής, ασαφείς γραμματικές, προβλέπουσα καθοδική ανάλυση και αναδρομικότητα, ανοδική ανάλυση,  γεννήτριες συντακτικών αναλυτών (Bison), σημασιολογική ανάλυση, έλεγχος τύπων, δημιουργία και βελτιστοποίηση ενδιάμεσου κώδικα και δημιουργία κώδικα χαμηλού επιπέδου.

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

  1. Δημιουργία στοιχειώδους περιβάλλοντος εκτέλεσης ενός μεταγλωττιστή.
  2. Σχεδιασμό και υλοποίηση λεκτικού αναλυτή και αυτομάτων αναγνώρισης μέσω πίνακα μετάβασης και της γεννήτριας λεκτικών αναλυτών flex

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