Please use this identifier to cite or link to this item: http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/13876
Title: Σχεδίαση, Σημασιολογική Περιγραφή Και Υλοποίηση Της Γλώσσας Προγραμματισμού Cantor
Authors: Κυριάκος Γ. Γκίνης
Παπασπύρου Νικόλαος
Keywords: σημασιολογία γλωσσών προγραμματισμού
συναρτησιακός προγραμματισμός
haskell
μονάδες
διερμηνέας
μεταγλωττιστής
ελεγκτής τύπων
g-machine
Issue Date: 25-Jul-2003
Abstract: Ο σκοπός της εργασίας ήταν η σχεδίαση μιας μικρής αλλά ιδιαίτερα εκφραστικής συναρτησιακής γλώσσας προγραμματισμού, η τυπικήπεριγραφή της σημασιολογίας της και η κατασκευή ενός διερμηνέακαι ενός μεταγλωττιστή για αυτήν. Συγκεκριμένα, σχεδιάστηκε ηγλώσσα Cantor, τα κυριότερα χαρακτηριστικά της οποίας είναι οισυναρτήσεις υψηλής τάξης με δυνατότητα κλήσης με όνομα και μετιμή, οι τοπικές μεταβλητές με δυνατότητα ανάθεσης, οι εγγραφές(records) των οποίων τα πεδία μπορούν να έχουν τύπο συνάρτησης,και η αναδρομή. Τα χαρακτηριστικά αυτά έχουν ενσωματωθεί στηγλώσσα Cantor με τέτοιο τρόπο ώστε να είναι κατά το δυνατόορθογώνια.Αφού ορίστηκε η σημασιολογία τύπων της Cantor, το σύστημα τύπωντης οποίας επιτρέπει τον πλήρη στατικό έλεγχο των προγραμμάτων,υλοποιήθηκε ο ελεγκτής τύπων. Η υλοποίηση αυτή όπως και οιυλοποιήσεις των υπόλοιπων τμημάτων της εργασίας, έγινε στη γλώσσαHaskell και βασίζεται στη χρήση μονάδων. Στη συνέχεια ορίστηκε ηδυναμική σημασιολογία της Cantor με τη βοήθεια μονάδων καιυλοποιήθηκε ένας διερμηνέας μέσω απλής κωδικοποίησης τηςσημασιολογίας αυτής σε Haskell. To επόμενο στάδιο της εργασίαςήταν η κατασκευή ενός μεταγλωττιστή για την Cantor. Ομεταγλωττιστής που κατασκευάστηκε παράγει κώδικα για μια παραλλαγήτης αφηρημένης μηχανής υπολογισμού G-machine. Προκειμένου ναδοκιμαστεί η ορθότητα του μεταγλωττιστή, κατασκευάστηκε και έναςδιερμηνέας για τον κώδικα G-machine.Κατά τη διάρκεια της εργασίας έγινε φανερή αφενός η χρησιμότητατων μονάδων τόσο στη φάση του ορισμού της δυναμικήςσημασιολογίας όσο και στη φάση της υλοποίησης μιας γλώσσαςπρογραμματισμού, αφετέρου το γεγονός ότι μια συναρτησιακή γλώσσαόπως η Haskell που υποστηρίζει μονάδες είναι ιδιαίτερα κατάλληληγια την υλοποίηση διερμηνέων και μεταγλωττιστών.
URI: http://artemis-new.cslab.ece.ntua.gr:8080/jspui/handle/123456789/13876
Appears in Collections:Διπλωματικές Εργασίες - Theses

Files in This Item:
File SizeFormat 
DT2003-0101.ps837.13 kBPostscriptView/Open


Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.