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