Please use this identifier to cite or link to this item:
http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/17053
Title: | Destructive Update με γραμμικούς τύπους |
Authors: | Μόσχος, Αλέξανδρος-Πέτρος Παπασπύρου Νικόλαος |
Keywords: | συναρτησιακός προγραμματισμός γραμμικοί τύποι Linear types Linear logic destructive update imperative functional programming let! letbang letdo Type Inference Συμπερασμός τύπων |
Issue Date: | 29-Aug-2018 |
Abstract: | Σκοπός της παρούσας εργασίας είναι η χρήση των γραμμικών τύπων για τον ορισμό και την υλοποίηση μιας γλώσσας που υλοποιεί τις εγγραφές σε πίνακα καταστροφικά με ασφαλή τρόπο. Θέλουμε ο προγραμματιστής να γράφει κώδικα χωρίς επισημειώσεις τύπων με πίνακες χρησιμοποιώντας ένα αγνά συναρτησιακό interface, και ο μεταγλωττιστής, εφόσον είναι ασφαλές, να υλοποιεί τις εγγραφές in-place. Στο πλάισιο της εργασίας ορίστηκε τυπικά, η σύνταξη, το σύστημα τύπων και η λειτουργική σημασιολογία της ενδιάμεσης γλώσσας letdo η οποία βασίζεται σε ένα γραμμικό σύστημα τύπων. Οι γραμμικοί τύποι προσφέρουν την ιδιότητα ότι κάθε πίνακας θα χρησιμοποιηθεί ακριβώς μία φορά. Για να προσαρμόσουμε την γλώσσα στο ζητούμενο συναρτησιακό interface, προσθέτουμε στην γλώσσα το letdo construct που υποστηρίζει πρόσβαση μόνο για ανάγνωση στον πίνακα χωρίς όμως να προσθέτει περιορισμούς στην γλώσσα. Ορίζουμε έναν semantics-preserving μετασχηματισμό που λαμβάνει κώδικα στην αρχική γλώσσα και τον μετασχηματίζει σε κώδικα letdo. Έπειτα, ορίσαμε και υλοποιήσαμε έναν αλγόριθμο συμπερασμού τύπων για την γλώσσα letdo που λειτουργεί παράγωντας και επιλύοντας περιορισμούς σε δύο στάδια. Έχουμε κατασκευάσει έναν μεταγλωττιστή που λαμβάνει κώδικα στην αρχική γλώσσα τον μετασχηματίζει στην γλώσσα letdo και έπειτα γίνεται συμπερασμός των τύπων. Εάν το πρόγραμμα περάσει τον έλεγχο τύπων είναι ασφαλές οι εγγραφές σε πίνακες να γίνουν destructively. |
URI: | http://artemis.cslab.ece.ntua.gr:8080/jspui/handle/123456789/17053 |
Appears in Collections: | Διπλωματικές Εργασίες - Theses |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
AlexandrosMoschosDestructiveUpdate.pdf | 295.78 kB | Adobe PDF | View/Open |
Items in Artemis are protected by copyright, with all rights reserved, unless otherwise indicated.