IRILL - Research and Innovation on Free Software
IRILL, Paris

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