Η βαθμολογία της τελευταίας εξεταστικής περιόδου είναι διαθέσιμη. Εντός της εβδομάδας θα τελειώσω με τη βαθμολόγηση των εργασιών που μου έχουν παραδοθεί. Αν δεν έχετε ακόμη παραδώσει την εργασία σας, παρακαλώ στείλτε μου ένα e-mail με ένα ενδεικτικό χρονοδιάγραμμα.
7/9/2014
Η βαθμολογία των τελευταίων εξεταστικών περιόδων είναι διαθέσιμη. Εκκρεμεί η βαθμολογία των εργασιών (κυρίως όσων δεν έχουν ακόμη παραδοθεί).
28/4/2014
ΠΡΟΣΟΧΗ:Εγγραφείτε στο Moodle και δηλώστε τη σύνθεση της ομάδας σας για την εργασία που θα υλοποιήσετε, απαντώντας
σε αυτό το μήνυμα το συντομότερο δυνατό.
10/4/2014
Το μάθημα άρχισε σήμερα με την πρώτη διάλεξη. Η πρώτη παράδοση εργαστηρίου θα γίνει τη Δευτέρα 28/4 στην Αίθουσα 001 του Νέου Κτιρίου.
Για να εξοικειωθείτε με τη γλώσσα, προσπαθήστε να γράψετε μικρά και
μεγαλύτερα προγράμματα σε Pazcal, είτε απευθείας είτε μεταφράζοντας υπάρχοντα
προγράμματά σας από άλλες γλώσσες. Αν στερείστε από ιδέες, δείτε τις εκφωνήσεις
των ασκήσεων των εισαγωγικών προγραμματιστικών μαθημάτων εδώ και εδώ (υπάρχουν και υποδειγματικές λύσεις).
Δημοσιεύστε τα προγράμματά σας μέσω του Moodle,
ώστε να είναι διαθέσιμα και στους υπόλοιπους. Έτσι θα δημιουργηθεί ένα
σύνολο προγραμμάτων που αργότερα θα χρησιμεύσουν test suite για τους μεταγλωττιστές
σας.
Βοηθητικά αρχεία που θα σας είναι χρήσιμα στην υλοποίηση
Πίνακας κατακερματισμού για ονόματα αναγνωριστικών.
Απλός χειριστής σφαλμάτων.
Πίνακας συμβόλων. Για πληροφορίες σχετικές με τη χρήση του, δείτε το παράδειγμα (symbtest.c ή Symbtest.ml)
Ίσως βρείτε χρήσιμο το συλλέκτη σκουπιδιών (garbage collector) του Hans
Boehm, διαθέσιμο από τη
σελίδα του ή από το τοπικό αντίγραφο (TGZ, 1037KB), version 7.4.0, ίσως χρειαστείτε επίσης τη βιβλιοθήκη libatomic_ops (TGZ, 445KB), version 7.4.0.
Περιβάλλον συμβολομετάφρασης (ZIP, 181KB) αποτελούμενο από τον Microsoft Macro Assembler 5.10, τον Microsoft Linker 5.10 και τον Microsoft Library Manager 3.17.
Εναλλακτικό περιβάλλον συμβολομετάφρασης (ZIP, 542KB) αποτελούμενο από τον Microsoft Macro Assembler 6.11d, τον Microsoft Linker 5.31 και τον Microsoft Library Manager 3.20. Αυτή η έκδοση του συμβολομεταφραστή μετασχηματίζει αυτόματα τα relative jumps που είναι εκτός ορίων.
Πιθανώς χρήσιμα scripts (ZIP, 3KB) για τον έλεγχο του μεταγλωττιστή σας σε Linux με dosbox.
Βιβλιοθήκη χρόνου εκτέλεσης (LIB, 10 KB) και ο κώδικας των συναρτήσεων σε x86 assembly (ZIP, 27 KB) που περιέχει όλα τα παραπάνω. Η βιβλιοθήκη αυτή είναι για τη γλώσσα PCL, ίσως χρειαστεί να αλλάξετε τα ονόματα των συναρτήσεων και άλλες μικρές τροποποιήσεις.
Εγχειρίδια χρήσης εργαλείων που θα σας είναι χρήσιμα στην
υλοποίηση
Για υλοποίηση με C/C++: flex (PDF, 541KB), bison (PDF, 849KB).
Για υλοποίηση με OCaml: ocamllex (PDF, 185KB), ocamlyacc (PDF, 449KB).
Διαφάνειες
Οι διαφάνειες που θα χρησιμοποιούνται στις διαλέξεις είναι διαθέσιμες από την παρούσα σελίδα για τη διευκόλυνση των σπουδαστών, ώστε αυτοί να μη χρειάζεται να κρατούν εκτενείς σημειώσεις κατά τη διάρκεια των μαθημάτων. Μη βιαστείτε να εκτυπώσετε όλες τις διαφάνειες! Θα αλλάζουν κατά τη διάρκεια του εξαμήνου. Η ύλη των διαφανειών παρουσιάζεται αναλυτικά στις σημειώσεις του μαθήματος.