Ηλεκτρονική Διάθεση Μαθήματος
Μαθησιακά Αποτελέσματα
Γνωστικά: Βασική επιδίωξη του μαθήματος είναι να εντρυφήσουν οι φοιτητές σε μία κριτική προσέγγιση των γλωσσών προγραμματισμού μέσα από τη συγκριτική ανάλυση των χαρακτηριστικών τους και να κατανοήσουν τις αντικρουόμενες επιλογές σχεδίασής τους, λαμβάνοντας υπόψη και τη διαδικασία μεταγλώττισης και εκτέλεσης των προγραμμάτων τους.
Δεξιότητες: Οι φοιτητές αναμένεται ότι θα είναι άρτια προετοιμασμένοι για νέες προγραμματιστικές μεθόδους, υποδείγματα και εργαλεία, καθώς θα έχουν γνωρίσει και θα μπορούν να διεκπεραιώσουν όλα τα στάδια του κύκλου σχεδίασης γλωσσών προγραμματισμού και υλοποίησης του μεταγλωττιστή τους.
Περιεχόμενο Μαθήματος
Εισαγωγή, Γλώσσες με δομή block, Στατική και δυναμική εμβέλεια, Συναρτήσεις και υποπρογράμματα, Κανόνες εμβέλειας, Διαχείριση μνήμης, Λεξική δομή γλωσσών προγραμματισμού, Λεξική ανάλυση, Γεννήτριες κώδικα, Σύνταξη γλωσσών προγραμματισμού, Συντακτική ανάλυση: καθοδική και ανοδική, Σημασία γλωσσών προγραμματισμού: αξιωματική, δηλωτική και λειτουργική σημασία, Σημασιολογική ανάλυση: γραμματικές ιδιοτήτων και πίνακας συμβόλων, Παραγωγή-σύνθεση κώδικα: ενδιάμεσος κώδικας και κώδικας μηχανής, Συστήματα τύπων, Απεικόνιση τύπων και δεδομένων στη μνήμη
Λέξεις Κλειδιά
Γλώσσες με δομή block, Σύνταξη γλωσσών, Σημασία γλωσσών, Σύνθεση κώδικα, Συστήματα τύπων
Βιβλιογραφία μαθήματος (Εύδοξος)
1. Βιβλίο [94702000]: Γλώσσες Προγραμματισμού και Μεταγλωττιστές, Παναγιώτης Κατσαρός, Γεώργιος Μακρής, Αναστάσιος Τεμπερεκίδης
2. Βιβλίο [77108866]: ΣΧΕΔΙΑΣΗ ΚΑΙ ΚΑΤΑΣΚΕΥΗ ΜΕΤΑΓΛΩΤΤΙΣΤΩΝ, Keith D. Cooper, Linda Torczon
2. Βιβλίο [59372610]: Μεταγλωττιστές, Ζαφείρης Καραΐσκος
Επιπρόσθετη βιβλιογραφία για μελέτη
1. K. C. Louden, K. A. Lambert, "Programming Languages - Principles and Practice", 3rd edition/2011, Cengage Learning, ISBN: 978-1111529413
2. A. V. Aho, M. S. Lam, R. Sethi, J. D. Ullman, "Compilers: Principles, Techniques, and Tools", 2nd edition/2006, Addison Wesley, ISBN: 978-0321486813
3. A. B. Tucker, R. E. Noonan, "Programming Languages - Principles and Paradigms", 2nd edition/2007, McGraw Hill, ISBN: 978-0071254397
4. M. L. Scott, "Πραγματολογία Γλωσσών Προγραμματισμού", 2η έκδοση/2009, Εκδόσεις Κλειδάριθμος, ISBN: 978-960-461-230-7