ATTENTION/WARNING - NE PAS DÉPOSER ICI/DO NOT SUBMIT HERE

Ceci est la version de TEST de DIAL.mem. Veuillez ne pas soumettre votre mémoire sur ce site mais bien à l'URL suivante: 'https://thesis.dial.uclouvain.be'.
This is the TEST version of DIAL.mem. Please use the following URL to submit your master thesis: 'https://thesis.dial.uclouvain.be'.
 

Incremental compiler development

(2019)

Files

Mouton_07461600_2019.pdf
  • Open access
  • Adobe PDF
  • 746.28 KB

Details

Supervisors
Faculty
Degree label
Abstract
Popular programming languages are ever growing projects, evolving as new features are implemented and issues are fixed. Some projects even rewrite their compiler when needed, for example the PHP project when they released the seventh version. We try to explore whether and how programming language interpreter development can be achieved in an incremental way to avoid rewrites, critical to making compiler development better. We first analyse and motivate the choice of Truffle and GraalVM as tools for compiler development. We then find a case study that allows us to showcase the incremental nature of our work. We then dive deeper into the details of the implementation of the desired features we discussed in the case study. We illustrate how we tried to write an interpreter for a modern dynamic object-oriented language with metaprogramming features in an incremental fashion. Finally we reflect on the development process and whether the objective of this dissertation has been achieved, including a discussion of the hard challenges and the lessons learned from the point of view of the proposed methodology.