Το μάθημα θα εξεταστεί φέτος στην κανονική εξεταστική περίοδο σύμφωνα με συνδυασμό των τρόπων εξέτασης Α και Β2δ (βλ. απόφαση της 6ης/2020 συνεδρίασης της Συγκλήτου του ΕΜΠ, 29/5/2020, όπως δημοσιεύθηκε στη Διαύγεια: ΑΔΑ: ΡΟ8Τ46ΨΖΣ4-ΟΒΓ). Με την εξέταση θα απονεμηθεί βαθμός στη δεκαβάθμια κλίμακα.
Πιο συγκεκριμένα:
Θα δοθεί γραπτή εξέταση στο σπίτι με παράδοση εντός τριών (3) ωρών, σε χρόνο που θα καθοριστεί από τη γραμματεία της Σχολής. Η εξέταση αυτή θα καλύπτει όλη την ύλη του μαθήματος. Η ταυτοποίηση των εξεταζομένων θα γίνει με τη χρήση των ηλεκτρονικών κωδικών του ΕΜΠ και η υποβολή των απαντήσεων θα γίνει πάλι με χρήση κατάλληλου ηλεκτρονικού συστήματος με ταυτοποίηση.
Θα προσμετρηθεί ο βαθμός από την εργασία του μαθήματος σε ομάδες των 1-2 σπουδαστών (εργαστήριο), όπως κάθε χρόνο.
12/3/2020
ΠΡΟΣΟΧΗ: Κατόπιν της αναστολής εκπαιδευτικών δραστηριοτήτων του ΕΜΠ (προληπτικά μέτρα λόγω κορωνοϊού), οι διαλέξεις του μαθήματος και τα εργαστήρια θα γίνονται εξ αποστάσεως, μέχρι νεωτέρας. Παρακολουθήστε την ιστοσελίδα του μαθήματος για τις βιντεοσκοπημένες διαλέξεις και το αντίστοιχο υλικό.
11/3/2020
ΠΡΟΣΟΧΗ:Εγγραφείτε στο Moodle και δηλώστε τη σύνθεση της ομάδας σας για την εργασία που θα υλοποιήσετε, το συντομότερο δυνατό.
Τα βίντεο των διαλέξεων του τρέχοντος έτους και περασμένων βρίσκονται συγκεντρωμένα στα παρακάτω αποθετήρια. Σε κάποια από αυτά, είναι πιθανό να πρέπει να συνδεθείτε με τους κωδικούς σας του ΕΜΠ.
Για να εξοικειωθείτε με τη γλώσσα, προσπαθήστε να γράψετε μικρά και μεγαλύτερα προγράμματα σε Tony, είτε απευθείας είτε μεταφράζοντας υπάρχοντα προγράμματά σας από άλλες γλώσσες. Αν στερείστε από ιδέες, δείτε τις εκφωνήσεις των ασκήσεων των εισαγωγικών προγραμματιστικών μαθημάτων εδώ και εδώ (για κάποιες από αυτές, υπάρχουν και υποδειγματικές λύσεις).
Δημοσιεύστε τα προγράμματά σας μέσω του moodle, ώστε να είναι διαθέσιμα και στους υπόλοιπους. Έτσι θα δημιουργηθεί ένα σύνολο προγραμμάτων που αργότερα θα χρησιμεύσουν ως test suite για τους μεταγλωττιστές σας.
Βοηθητικά αρχεία που θα σας είναι χρήσιμα στην υλοποίηση:
Πηγαίος κώδικας, σε C (ZIP ή TGZ) και σε OCaml (ZIP ή TGZ). Περιεχόμενα του bonus pack:
Πίνακας κατακερματισμού για ονόματα αναγνωριστικών.
Απλός χειριστής σφαλμάτων.
Πίνακας συμβόλων. Για πληροφορίες σχετικές με τη χρήση του, δείτε το παράδειγμα (symbtest.c ή Symbtest.ml).
Ίσως βρείτε χρήσιμο το συλλέκτη σκουπιδιών (garbage collector) του Hans Boehm, διαθέσιμο από τη σελίδα του. Ίσως χρειαστείτε επίσης τη βιβλιοθήκη libatomic_ops.
Περιβάλλον συμβολομετάφρασης (ZIP) αποτελούμενο από τον Microsoft Macro Assembler 5.10, τον Microsoft Linker 5.10 και τον Microsoft Library Manager 3.17.
Εναλλακτικό περιβάλλον συμβολομετάφρασης (ZIP) αποτελούμενο από τον Microsoft Macro Assembler 6.11d, τον Microsoft Linker 5.31 και τον Microsoft Library Manager 3.20. Αυτή η έκδοση του συμβολομεταφραστή μετασχηματίζει αυτόματα τα relative jumps που είναι εκτός ορίων.
Πιθανώς χρήσιμα scripts (ZIP) για τον έλεγχο του μεταγλωττιστή σας σε Linux με dosbox.