Parisian Master of Research in Computer Science
Master Parisien de Recherche en Informatique (MPRI)

This is an old revision of the document!


Compilation

Resp.: Vincent Balat

Objectifs

Étude des techniques de compilation. L'application de ces techniques consiste en la réalisation d'un mini compilateur sous forme de projet, en s'appuyant sur la méthode d'analyse ascendante et les outils Lex et Yacc sous Unix. On suppose connue l'analyse lexicale et syntaxique, et on se concentre sur les parties propres d'un compilateur, de l'arbre de syntaxe abstraite à la génération de code pour une machine cible.

Plan du cours

  • Représentation de code source (syntaxe abstraite). Structures de données pour les syntaxes abstraites.
  • Analyse statique : construction de tables d'environnements et typage.
  • Environnements dynamiques, modèle d'exécution utilisant une pile, mécanismes d'appels de procédures.
  • Production de code intermédiaire.
  • Transformation de code intermédiaire, production de code assembleur.
  • Techniques d'allocation des registres.
  • Techniques d'optimisation.
  • Allocation de mémoire, aspects statiques et dynamiques.
  • Garbage collection.
  • Machines virtuelles, exemple de la machine JAVA.
  • Traitement des langages à objets : représentation dynamique de la hiérarchie de classes, interprétation dynamique des messages.

Pré-requis

Langages formels, analyse syntaxique, une bonne connaissance du langage Ocaml.

Bibliographie

  • Aho, Sethi, Ullman : Compilateurs : Principes, techniques et outils, Interéditions, 1989.
  • Appel: Modern Compiler Implementation in ML, Cambridge University Press, 1998
  • Levine, Mason, Brown : Lex et Yacc (Traduction), Editions O'Reilly Internationnal Thomson, 1994.

Équipe pédagogique

V. Balat MC Univ. Paris 7 PPS
R. Di Cosmo PU Univ. Paris 7 PPS
G. Cousineau PU Univ. Paris 7 PPS
A. Bucciarelli MC Univ. Paris 7 PPS
A. Miquel MC Univ. Paris 7 PPS
J. Chroboczeck MC Univ. Paris 7 PPS

 
Universités partenaires Université Paris-Diderot
Université Paris-Saclay
ENS Cachan École polytechnique Télécom ParisTech
ENS
Établissements associés Université Pierre-et-Marie-Curie CNRS INRIA CEA