Print Email Facebook Twitter Dynamix on the Frame VM Title Dynamix on the Frame VM: Declarative dynamic semantics on a VM using scopes as frames Author Bruin, Chiel (TU Delft Electrical Engineering, Mathematics and Computer Science) Contributor Poulsen, Casper (mentor) Visser, Eelco (mentor) Mosses, Peter (graduation committee) Rellermeyer, Jan (graduation committee) Degree granting institution Delft University of Technology Programme Computer Science Date 2020-04-29 Abstract Over the years virtual machines (VMs) have been created to abstract over computer hardware. This simplified code generation and allowed for easy portability between hardware platforms. These VMs are however highly tailored to a particular runtime model. This improves the execution speed, but places restrictions on the types of languages that the VM supports. In this thesis the Frame VM was developed as a VM that supports many different types of languages in a principled way. Achieving this is done by basing the VM on language independent models of memory and control flow. Usage of the scopes-as-frames paradigm and control frames resulted in an instruction set that is relatively small at its core, but does allow for the construction of complex control flow. As an effect, many different programming languages can be compiled to the Frame VM. In addition to this VM, a Domain Specific Language (DSL) for executable semantics of programming languages was created. This language, Dynamix, allows for a modular approach to writing the semantics of a language. Additionally, Dynamix provides a meta-compiler that uses these semantics of a language to compile programs to the Frame VM. To validate the Frame VM, direct compilers for Rust and Prolog have been created in a student project and compilers for Scheme and Tiger were created using Dynamix. Using these semantics of Scheme and Tiger, it was possible to execute programs containing usage of call/cc and a suite of Tiger benchmark programs. Furthermore, the control flow of Tiger was extended with exceptions and generator functions. This extension did not require any changes to the existing semantics, showing the modularity of control achieved when using Dynamix and the Frame VM. Subject Scopes-as-framesDynamic semanticsFrame VMDynamix To reference this document use: http://resolver.tudelft.nl/uuid:ddedce14-65ad-4f16-912e-6b0658eaecc0 Part of collection Student theses Document type master thesis Rights © 2020 Chiel Bruin Files PDF Dynamix_on_the_Frame_VM.pdf 2.32 MB Close viewer /islandora/object/uuid:ddedce14-65ad-4f16-912e-6b0658eaecc0/datastream/OBJ/view