Ο ρόλος του μεταγλωττιστή. Λεξικογραφική ανάλυση, κανονικές εκφράσεις, αιτιοκρατικά και μη αιτιοκρατικά αυτόματα, μέθοδοι κατασκευής λεξικογραφικού αναλυτή, γεννήτριες λεξικογραφικών αναλυτών. Συντακτική ανάλυση, γραμματικές ανεξάρτητες συμφραζομένων, παραγωγές, δέντρα συντακτικής ανάλυσης, διφορούμενη γραμματικές, εξάλειψη διφορούμενης ανάλυσης. Κατασκευή συντακτικών αναλυτών, καθοδική ανάλυση, αναδρομική καθοδική ανάλυση, καθοδική ανάλυση με πρόβλεψη, LL(k), LL(1) αναλυτές και γραμματικές. Αφηρημένα συντακτικά δέντρα, ανοδική συντακτική ανάλυση, ασυμφωνίες στην ανοδική ανάλυση, LR(k), LR(1) αναλυτές και γραμματικές. Κατασκευή του SLR πίνακα ανάλυσης, βελτιώσεις. Γραμματικές γνωρισμάτων, συντακτικά οδηγούμενη μετάφραση, υλοποίηση σε LL και LR αναλυτές. Eνδιάμεσος κώδικας, η γλώσσα alpha, χρήση κρυφών μεταβλητών, παραγωγή ενδιάμεσου κώδικα. Η εικονική μηχανή alpha, αρχιτεκτονική, σύνολο εντολών, δυναμικές γλώσσες, περιβάλλον εκτέλεσης και οργάνωση μνήμης, παραγωγή τελικού κώδικα μηχανής, κατασκευή της εικονικής μηχανής, υλοποίηση και σύνδεση συναρτήσεων βιβλιοθήκης. Θέματα βελτιστοποίησης. Εργαστήριο προγραμματισμού: κατασκευή ενός πλήρους μεταγλωττιστή με χρήση Lex και Yacc τύπου εργαλείων, κατασκευή της εικονικής μηχανής, κατασκευή συναρτήσεων βιβλιοθήκης.
Μαθησιακά Αποτελέσματα:
Οι φοιτητές, μετά την επιτυχή ολοκλήρωση του μαθήματος
θα κατέχουν τις βασικές έννοιες των γλωσσών και μεταφραστών
θα μπορούν να κατασκευάσουν ένα πλήρη μεταγλωττιστή με χρήση Lex και Yacc τύπου εργαλείων
κατασκευή της εικονικής μηχανής,
κατασκευή συναρτήσεων βιβλιοθήκης
Αξιολόγηση:
Λεπτομέρειες για την βαθμολόγηση του μαθήματος περιέχονται στην ιστοσελίδα του μαθήματος
Τα μαθήματα του Τμήματος Επιστήμης Υπολογιστών κωδικοποιούνται με τα γράμματα "ΗΥ" και με τρία ψηφία. Το πρώτο ψηφίο δηλώνει το έτος κατά το οποίο συνήθως παρακολουθείται το μάθημα, το δε δεύτερο την επιστημονική περιοχή του μαθήματος:
Πρώτο Ψηφίο
Κανονικό Έτος Παρακολούθησης
1,2,3,4
Πρώτο, Δεύτερο, Τρίτο, Τέταρτο
5,6
Μεταπτυχιακά μαθήματα
7,8,9
Ειδικά θέματα
Δεύτερο Ψηφίο
Επιστημονική Περιοχή
0
Εισαγωγικά - Γενικά
1
Υπόβαθρο (Μαθηματικά, Φυσική)
2
Υλικό και Συστήματα Υπολογιστών
3
Τηλεπικοινωνίες και Δίκτυα
4,5
Συστήματα Λογισμικού και Εφαρμογές
6
Πληροφοριακά Συστήματα
7
Υπολογιστική Όραση και Ρομποτική
8
Αλγοριθμική και Θεωρία Υπολογισμού
9
Ειδικές Εργασίες
Ακολουθούν συνοπτικοί κατάλογοι κατά κατηγορίες των μαθημάτων του προγράμματος βασικών σπουδών του Τμήματος Επιστήμης Υπολογιστών του Πανεπιστημίου Κρήτης. Μαθήματα των οποίων οι κωδικοί αρχίζουν με "ΜΕΜ" ή "ΦΥΣ" διδάσκονται από το Τμήμα Μαθηματικών Εφαρμοσμένων Μαθηματικών ή το Φυσικό αντιστοίχως και αναφέρονται με τους οικείους κωδικούς. Τα προαπαιτούμενα που αναφέρονται μέσα σε παρενθέσεις συνιστώνται έντονα, αλλά δεν είναι υποχρεωτικά.