Σε αυτήν τη διπλωματική εργασία διερευνάται η αλληλεπίδραση ενός γραμμικού συστήματος τύπων
που υποστηρίζει την προσωρινή μετατροπή γραμμικών σε μη-περιορισμένους τύπους και του στυλ
περάσματος συνεχειών (continuation-passing style, CPS). Για το σκοπό αυτό ορίζεται η σύνταξη και η
σημασιολογία της γλώσσας LetbangCPS, μίας γλώσσας προγραμματισμού χαμηλού επιπέδου η οποία
χρησιμοποιεί ένα τέτοιο σύστημα τύπων, υποστηρίζει αναφορές στο στυλ της ML και έχει μορφή
συμβατή με το στυλ περάσματος συνεχειών. Επιπλέον, ορίζεται ένας μετασχηματισμός περάσματος
συνεχειών που μεταφράζει κάθε έγκυρο πρόγραμμα της συγγενικής γλώσσας Letbang σε ένα έγκυρο
πρόγραμμα LetbangCPS.
Στο πλαίσιο της εργασίας αυτής υλοποιήθηκαν ένας πειραματικός ελεγκτής τύπων και ένας διερ-
μηνέας για τη γλώσσα LetbangCPS, καθώς και ο μετασχηματισμός περάσματος συνεχειών από τη
Letbang στη LetbangCPS.
This diploma dissertation investigates the interaction between a linear type system supporting the temporary
conversion of linear to unrestricted types and the continuation-passing style (CPS). To this goal,
we define the syntax and semantics of LetbangCPS, a low-level programming language which uses
such a type system, supports ML-style references and its form is compatible with the continuationpassing
style. Moreover, we define a continuation-passing style transformation, which transforms every
valid program written in the related language Letbang to a valid LetbangCPS program.
Within the scope of this work, an experimental type checker and an interpreter for the language LetbangCPS
have been implemented, alongside with the continuation-passing style transformation from
Letbang to LetbangCPS