Machine Virtuelle pour le langage Tree
Objectifs
L'objectif du stage est d'implémenter une machine virtuelle - en OCaml - pour le langage Tree décrit dans le livre "Modern Compiler Implementation". Le langage Tree est une représentation intermédiaire utilisée par des compilateurs "pédagogiques", adaptée à la transformation vers le code assembleur ainsi qu'à la génération à partir d'un langage haut niveau. L'implémentation issue du stage devant etre ré-utilisée par les étudiants dans le cadre de l'enseignement construction des compilateurs donné à l'EPITA, le stagiaire devra porter une attention particulière à la lisibilité des messages d'erreurs. Le stage pourra inclure une comparaison de correction, performance et utilisabilité avec les autres machines virtuelles existantes.
Tâches à réaliser
L'implémentation issue du stage devant etre ré-utilisée par les étudiants dans le cadre de l'enseignement construction des compilateurs donné à l'EPITA, le stagiaire devra porter une attention particulière à la lisibilité des messages d'erreurs. Le stage pourra inclure une comparaison de correction, performance et utilisabilité avec les autres machines virtuelles existantes.
Prérequis
- Connaissances de programmation en OCaml
Références
[1] Andrew Appel - Modern Compiler Implementation in Java/ML/C. Cambridge University Press, 1998. https://www.cs.princeton.edu/~appel/modern/
[2] implantations Tiger@Epita : https://www.lrde.epita.fr/wiki/Tiger
Le stagiaire devra être d'accord pour que ses contributions soient distribuées sous licence libre.
Contacts : ghiles.ziat@gmail.com,mael.cravero@epita.fr