|
|
Σχεδίαση και υλοποίηση ενός μεταγλωττιστή για τη γλώσσα Nerd2008.
Τμήμα του μεταγλωττιστή | Μονάδες | Bonus | Προθεσμία παράδοσης |
Λεκτικός αναλυτής | 0.5 | - | 27/3 |
Συντακτικός αναλυτής | 1 | - | 18/4 |
Πίνακας συμβόλων | 0.5 | - | - |
Σημασιολογικός αναλυτής | 1.5 | - | - |
Ενδιάμεσος κώδικας | 1.5 | - | 6/6 |
Τελικός κώδικας | - | 2.0 | σε συννενόηση με το διδάσκοντα |
Συνολική εργασία και έκθεση (50% του βαθμού) | 5.0 | 2.0 | |
Για τα διάφορα τμήματα της εργασίας πρέπει να παραδίδεται εμπρόθεσμα από κάθε ομάδα ο αντίστοιχος κώδικας σε ηλεκτρονική μορφή, με βάση
τις οδηγίες που θα αναγράφονται στη σελίδα του μαθήματος.
Η πρώτη φάση της εργασίας θα πρέπει να παραδοθεί στο λογαριασμό compilers.thp06[[[ at ]]]gmail.com (αφαιρώντας τις αγκύλες τα κενά
και το αλφαριθμητικό "at" και αντικαθιστώντας τα με το χαρακτήρα @) μέχρι τις 23:59 της 27/03/2008. Θα πρέπει να παραδοθεί υποχρεωτικά το αρχείο του
flex/lex με κατάληξη .l. Προαιρετικά, μπορείτε να συμπεριλάβετε
ένα αρχείο κειμένου, όπου πιθανώς θα θέλατε να αναφέρετε κάτι το οποίο δεν έχει υλοποιηθεί, ίσως κάποια σχόλια σχετικά με τον τρόπο υλοποίησης
συγκεκριμένων λειτουργιών που χρήζουν προσοχής από μέρους μας ή ό,τι άλλο έχετε κάνει επιπλέον της εκφώνησης. Προαιρετικά, επίσης, μπορείτε
να παραδώσετε και παραδειγματικές εκτελέσεις της υλοποίησης του λεκτικού αναλυτή σας (σε αυτή την περίπτωση να συμπεριλάβετε στα παραδοτέα
και τα αρχεία εισόδου που χρησιμοποιήσατε). Καλό θα ήταν να υπάρχει μία υποτυπώδης συνάρτηση main, ώστε να επιδεικνύει το σκοπό της υλοποίησής σας. Τέλος,
ό,τι αρχεία παραδώσετε θα πρέπει να τα αποστείλετε συμπιεσμένα μέσω ενός .zip αρχείου, το όνομα του οποίου θα αποτελείται από τον αριθμό μητρώου (στη μορφή
που είναι και το username στα μηχανήματα της σχολής) του φοιτητή
ή από τους αριθμούς μητρώου διαχωρισμένους με κόμμα, αν πρόκειται για ομάδα φοιτητών. Παρακαλείστε να τηρήσετε πιστά τον τρόπο παράδοσης της πρώτης φάσης.
Η δεύτερη φάση της εργασίας θα πρέπει να παραδοθεί στο λογαριασμό compilers.thp06[[[ at ]]]gmail.com (αφαιρώντας τις αγκύλες τα κενά
και το αλφαριθμητικό "at" και αντικαθιστώντας τα με το χαρακτήρα @) μέχρι τις 23:59 της 18/04/2008. Θα πρέπει να παραδοθεί υποχρεωτικά το αρχείο του
bison/yacc με κατάληξη .y και η διορθωμένη έκδοση του λεκτικού αναλυτή (nerd2008.l). Προαιρετικά, μπορείτε να συμπεριλάβετε
ένα αρχείο κειμένου, όπου πιθανώς θα θέλατε να αναφέρετε κάτι το οποίο δεν έχει υλοποιηθεί, ίσως κάποια σχόλια σχετικά με τον τρόπο υλοποίησης
συγκεκριμένων λειτουργιών που χρήζουν προσοχής από μέρους μας ή ό,τι άλλο έχετε κάνει επιπλέον της εκφώνησης. Προαιρετικά, επίσης, μπορείτε
να παραδώσετε και παραδειγματικές εκτελέσεις της υλοποίησης του συντακτικού αναλυτή σας (σε αυτή την περίπτωση να συμπεριλάβετε στα παραδοτέα
και τα αρχεία εισόδου που χρησιμοποιήσατε). Καλό θα ήταν να υπάρχει μία υποτυπώδης συνάρτηση main, ώστε να επιδεικνύει το σκοπό της υλοποίησής σας. Τέλος,
ό,τι αρχεία παραδώσετε θα πρέπει να τα αποστείλετε συμπιεσμένα μέσω ενός .zip αρχείου, το όνομα του οποίου θα αποτελείται από τον αριθμό μητρώου (στη μορφή
που είναι και το username στα μηχανήματα της σχολής) του φοιτητή
ή από τους αριθμούς μητρώου διαχωρισμένους με κόμμα, αν πρόκειται για ομάδα φοιτητών. Παρακαλείστε να τηρήσετε πιστά τον τρόπο παράδοσης της δεύτερης φάσης.
Η τρίτη φάση της εργασίας θα πρέπει να παραδοθεί στο λογαριασμό compilers.thp06[[[ at ]]]gmail.com (αφαιρώντας τις αγκύλες τα κενά
και το αλφαριθμητικό "at" και αντικαθιστώντας τα με το χαρακτήρα @) μέχρι τις 23:59 της 13/06/2008. Θα πρέπει να παραδοθούν τα αρχεία του bison/yacc με κατάληξη .y και του λεκτικού αναλυτή (nerd2008.l). Είναι υποχρεωτική η συμπερίληψη ενός αρχείου κειμένου, όπου θα αναφέρετε λειτουργίες που δεν έχουν υλοποιηθεί ή δεν υποστηρίζονται, σχόλια σχετικά με θέματα σχεδιασμού και υλοποίησης (π.χ. πώς υλοποιήθηκε ο πίνακας συμβόλων) και αναφορά συγκεκριμένων λειτουργιών που χρήζουν προσοχής από μέρους μας ή ό,τι άλλο έχετε κάνει επιπλέον της εκφώνησης. Θα πρέπει επίσης να παραδώσετε παραδειγματικές εκτελέσεις της υλοποίησης του front-end μεταγλωττιστή σας (σε αυτή την περίπτωση να συμπεριλάβετε στα παραδοτέα και τα αρχεία εισόδου που χρησιμοποιήσατε, τα οποία θα πρέπει να είναι τέτοια ώστε να ελέγχεται η συμπεριφορά του μεταγλωττιστή τόσο σε έγκυρες όσο και σε άκυρες εισόδους). Τέλος, ό,τι αρχεία παραδώσετε θα πρέπει να τα αποστείλετε συμπιεσμένα μέσω ενός .zip αρχείου, το όνομα του οποίου θα αποτελείται από τον αριθμό μητρώου (στη μορφή που είναι και το username στα μηχανήματα της σχολής) του φοιτητή ή από τους αριθμούς μητρώου διαχωρισμένους με κόμμα, αν πρόκειται για ομάδα φοιτητών. Παρακαλείστε να τηρήσετε πιστά τον τρόπο παράδοσης της δεύτερης φάσης.
|
|
|
|