Ανακοινώθηκε η βαθμολογία
της κανονικής εξεταστικής περιόδου (Φεβρουάριος 2004).
19/2/2004
ΠΡΟΣΟΧΗ: Κατόπιν αιτήματος
των σπουδαστών, η εξέταση του μαθήματος που είχε προγραμματισθεί
για την Παρασκευή 20/2 αναβάλλεται για την Τετάρτη
24/3, σε ώρα και τόπο που θα ανακοινωθούν.
19/10/2003
Η διάλεξη της Πέμπτης 20/10 αναβάλλεται για την Παρασκευή
21/10, ώρα 12:00, στο Εργαστήριο Υπολογιστών της ΣΗΜΜΥ/ΕΠΙΣΕΥ
(ΜΟΠ), λόγω ασθένειας του διδάσκοντα
31/10/2003
Οι διαλέξεις του μαθήματος θα διεξάγονται από την
Πέμπτη 6/11 και κάθε Πέμπτη, ώρα 08:45-11:30, στην Αίθουσα
Β103 των Γενικών Εδρών.
Υλικό
Γενικά
Το μάθημα χωρίζεται σε δύο μέρη ως ακολούθως. Το ίδιο και η βαθμολογία (αν
και το ποσοστό κάθε μέρους δεν είναι αυστηρά 50%, προκειμένου να πριμοδοτηθούν
σπουδαστές με κλίση/ενδιαφέρον σε κάποιο από τα δύο μέρη)
Επεξεργασία φυσικής γλώσσας, Γιάννης Μαΐστρος
Η βαθμολογία θα προκύψει αποκλειστικά από μια σειρά ασκήσεων που οι
σπουδαστές θα πρέπει να παραδώσουν στο διδάσκοντα.
Θεωρία γλωσσών προγραμματισμού, Νίκος Παπασπύρου
Η βαθμολογία θα προκύψει από μια εξέταση, διάρκειας 1.5 με 2.0 ωρών, που
θα γίνει στο τέλος του εξαμήνου με ανοιχτά βιβλία και σημειώσεις.
Οι σπουδαστές μπορούν να βελτιώσουν τη βαθμολογία τους σε αυτό το μέρος,
παραδίδοντας στο διδάσκοντα μια σειρά ασκήσεων (bonus)
Χρήσιμο υλικό από τις παραδόσεις του κ. Μαΐστρου, για το μέρος του μαθήματος
που σχετίζεται με την επεξεργασία φυσικής γλώσσας, είναι διαθέσιμο
στη σελίδα:
ΠΡΟΣΟΧΗ: Τα παρακάτω αφορούν
μόνο στο μέρος του μαθήματος που σχετίζεται με τη θεωρία γλωσσών
προγραμματισμού.
Διαφάνειες
Οι διαφάνειες πρόκειται να τροποποιηθούν κατά τη διάρκεια του εξαμήνου.
Σε μορφή για παρουσίαση: ps.gz (254KB), pdf
(535KB), μία διαφάνεια ανά σελίδα.
Σε μορφή για εκτύπωση: ps.gz (256KB),
pdf (462KB), έξι διαφάνειες ανά σελίδα.
Τελευταία
ενημέρωση των διαφανειών: 11/12/2003.
Προγραμματιστική άσκηση
Παραδώστε τα παρακάτω με e-mail στο
διδάσκοντα το αργότερο τρεις ημερολογιακές μέρες μετά το τέλος της εξεταστικής
περιόδου. Η άσκηση είναι προαιρετική και μετράει θετικά μέχρι
του 20% της βαθμολογίας του μέρους του μαθήματος που σχετίζεται με τη θεωρία
γλωσσών προγραμματισμού.
Προδιαγράψτε μια γλώσσα εκφράσεων συνδυάζοντας χαρακτηριστικά
που παρουσιάστηκαν στις παραδόσεις με τίτλο Συστήματα Τύπων (27/11
και 11/12, βλ. σχετικές διαφάνειες). Η γλώσσα
σας θα πρέπει να περιέχει τουλάχιστον: τους βασικούς τύπους,
τον τύπο συναρτήσεων και μία ακόμα επέκταση. Για τη γλώσσα αυτή δώστε:
τη σύνταξη,
τη λειτουργική σημασιολογία, και
τους κανόνες τύπων.
Στη γλώσσα προγραμματισμού της αρεσκείας σας, υλοποιήστε έναν ελεγκτή
τύπων (type checker) και ένα διερμηνέα (interpreter)
βασισμένο στη λειτουργική σημασιολογία της παραπάνω γλώσσας. Μην ασχοληθείτε
με τη λεκτική και συντακτική ανάλυση των εκφράσεων, αλλά θεωρήστε ότι ο αρχικός
κώδικας δίνεται σε κατάλληλη αφηρημένη μορφή.
Ελέγξτε την ορθότητα της υλοποίησής σας με κατάλληλα παραδείγματα εκφράσεων.