Accueil
Connexion
DENIF –
Documents d’Enseignement Numériques en Informatique Fondamentale
Thèmes
Cursus
Enseignants
Compilation
Thème :
Programmation
–
Cursus :
MPRI - M1
2005 - 2006
Cours
Roberto Di Cosmo
Introduction et survol
Présentation de la machine cible: assembleur MIPS
Appels de fonctions dans la machine assembleur
Rappels OcamlLex, OcamlYacc, Arbres de Syntaxe Abstraite et Tables des Symboles
Compilation des langages à blocs: bloc d'activation, lien statique
Code intermediaire: production et transformation
Assembleur: production, allocation naïve des régistres et émission
Analyse de durée de vie des variables
Allocation de registres par coloriage de graphes
Un exemple complet en détail
Description du projet
TDs
Juliusz Chroboczek
,
Pierre Letouzey
TD 1 : Assembleur MIPS
TD 2 : Assembleur MIPS (suite)
TD 3 : Pretty-printer
TD 4 : Arbre de syntaxe décoré
TD 5 : Génération de code intermédiaire
Informations complémentaires
2004 - 2005
Cours
Livre approximativement suivi par le cours : Modern Compiler Implementation in ML (Andrew W. Appel, Cambridge University Press, 1998)
Roberto Di Cosmo
,
Alexandre Miquel
,
Juliusz Chroboczek
Introduction et survol
Présentation de la machine cible : assembleur MIPS
Appels de fonctions dans la machine assembleur
Rappels OcamlLex, OcamlYacc, Arbres de Syntaxe Abstraite et Tables des Symboles
Compilation des langages à blocs : bloc d'activation, lien statique
Code intermediaire : production et transformation
Assembleur : production, allocation naïve des régistres et émission
Analyse de durée de vie des variables (2 pages par feuilles)
Allocation de registres par coloriage de graphes
Optimisation du code
Analyse Statique : typage avec types recursifs (non disponible)
Description du projet