Εγχειρίδιο Σχεδίασης και Ανάπτυξης Μεταγλωττιστών
Σκοπός του παρόντος συγγράμματος είναι η εισαγωγή του αναγνώστη στην επιστήμη των μεταγλωττιστών. Η προσέγγιση που επιλέγεται είναι αυτή της καθοδήγησης της γνώσης μέσα από τη διαδικασία ανάπτυξης. Σε αντίθεση με άλλα βιβλία που είναι διαθέσιμα στα ελληνικά και στα οποία δίνεται το βάρος στο θεωρητι...
Κύριοι συγγραφείς: | , |
---|---|
Μορφή: | 1 |
Γλώσσα: | Greek |
Έκδοση: |
2023
|
Θέματα: | |
Διαθέσιμο Online: | http://dx.doi.org/10.57713/kallipos-372 http://repository.kallipos.gr/handle/11419/11371 |
Περίληψη: | Σκοπός του παρόντος συγγράμματος είναι η εισαγωγή του αναγνώστη στην επιστήμη των μεταγλωττιστών. Η προσέγγιση που επιλέγεται είναι αυτή της καθοδήγησης της γνώσης μέσα από τη διαδικασία ανάπτυξης. Σε αντίθεση με άλλα βιβλία που είναι διαθέσιμα στα ελληνικά και στα οποία δίνεται το βάρος στο θεωρητικό υπόβαθρο, εδώ το θεωρητικό υπόβαθρο γίνεται όχημα και η ανάπτυξη το κίνητρο και ο οδηγός. Η πορεία του βιβλίου συμπίπτει με αυτή της ανάπτυξης του μεταγλωττιστή. Η ανάπτυξη ενός μεταγλωττιστή χωρίζεται σε φάσεις. Οι φάσεις της ανάπτυξης είναι η λεκτική ανάλυση, η συντακτική ανάλυση, η παραγωγή ενδιάμεσου κώδικα, η κατασκευή του πίνακα συμβόλων και η παραγωγή τελικού κώδικα. Για καθεμία από αυτές το βιβλίο αφιερώνει ένα ή δύο κεφάλαια, ενώ συμπληρώνεται με εισαγωγικά κεφάλαια για τις γραμματικές και τον ρόλο τους, ένα κεφάλαιο για θέματα βελτιστοποίησης κώδικα και ένα κεφάλαιο για εργαλεία αυτοματοποιημένων διαδικασιών ανάπτυξης μεταγλωττιστών. Στο βιβλίο ορίζεται μία εκπαιδευτική γλώσσα προγραμματισμού για την οποία υλοποιείται ένας πλήρως λειτουργικός μεταγλωττιστής, ο οποίος δέχεται ως είσοδο προγράμματα συνταγμένα στη γλώσσα αυτή και παράγει τον αντίστοιχο κώδικα σε γλώσσα μηχανής. Πρόκειται για μια γλώσσα προγραμματισμού που αντλεί ιδέες και δομές από τη C, αλλά είναι πιο μικρή τόσο στις υποστηριζόμενες δομές, όσο και σε προγραμματιστικές δυνατότητες. Παρόλο που οι προγραμματιστικές της δυνατότητες είναι μικρές, η εκπαιδευτική αυτή γλώσσα προγραμματισμού περιέχει πλούσια στοιχεία και η κατασκευή του μεταγλωττιστή της έχει να παρουσιάσει αρκετό ενδιαφέρον, αφού περιέχονται σε αυτήν πολλές εντολές που χρησιμοποιούνται από γνωστές γλώσσες προγραμματισμού, όπως είναι οι δημοφιλείς while και if-else, καθώς και κάποιες πρωτότυπες. Υποστηρίζει συναρτήσεις και διαδικασίες, μετάδοση παραμέτρων με αναφορά και τιμή, αναδρομικές κλήσεις, ενώ επιτρέπει φώλιασμα στη δήλωση συναρτήσεων και διαδικασιών. |
---|