Εαρινό Εξάμηνο 2008  
line decor
  
line decor
 
 

 
 


 

Σχεδίαση και υλοποίηση ενός μεταγλωττιστή για τη γλώσσα Nerd2008.

Τμήμα του μεταγλωττιστήΜονάδεςBonusΠροθεσμία παράδοσης
Λεκτικός αναλυτής0.5-27/3
Συντακτικός αναλυτής1-18/4
Πίνακας συμβόλων0.5--
Σημασιολογικός αναλυτής1.5--
Ενδιάμεσος κώδικας1.5-6/6
Τελικός κώδικας-2.0σε συννενόηση με το διδάσκοντα
Συνολική εργασία και έκθεση (50% του βαθμού)5.02.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 στα μηχανήματα της σχολής) του φοιτητή ή από τους αριθμούς μητρώου διαχωρισμένους με κόμμα, αν πρόκειται για ομάδα φοιτητών. Παρακαλείστε να τηρήσετε πιστά τον τρόπο παράδοσης της δεύτερης φάσης.