Master informatique

COMP : Compilation

  • Mention du master : informatique
  • Parcours : « systèmes et réseaux » , « génie logiciel »
  • Semestre : (de 1 à 4) : 1

Savoir et savoir-faire associés

Cette unité d'enseignement présente les composants fondamentaux d'un compilateur et les principales techniques de compilation utilisées dans ces composants. Une attention particulière est portée sur la face arrière (back-end) du compilateur. Les travaux dirigés et travaux pratiques ont pour but la construction d'un compilateur pour un langage impératif.

À l'issue de ce module, l'étudiant saura conduire un projet de programmation dirigée par la syntaxe et dans le cas de traduction dirigée par la syntaxe, il saura distinguer ce qui relève des langages source et cible et du langage de programmation de la traduction. Dans le cas de traduction de langage de programmation (commande, script, etc.), l'étudiant saura prévoir le comportement dynamique du programme cible et conduire des analyses élémentaires de ce comportement.

Prérequis

Une bonne connaissance des langages impératifs ainsi que des fondements de l'architecture des ordinateurs. Connaissances élémentaires en théorie des langages, analyse syntaxique et schémas d'exécution.

Contenu

  • Introduction à la compilation : rappel d'analyse lexicale et analyse syntaxique
  • Deux schémas de calcul : calcul dirigé par la syntaxe et calcul de point-fixe
  • Vérification de types
  • Environnement d'exécution
  • Génération de code intermédiaire
  • Introduction à la compilation optimisante
  • Analyse de flots de données

Bibliographie

  • Compilateurs : principes, techniques et outils, A. Aho, R. Sethi et J. Ullman
  • Les compilateurs : théorie, construction, génération, R. Wilhelm et D. Maurer
  • Modern compiler design, D. Grune, H.E. Bal, C.J.H. Jacobs et K.G. Langendoen
  • Programming language pragmatics, M. Scott
  •  

Informations pratiques

  • Responsable U E : Olivier Ridoux
  • Equipe pédagogique U E : André Couvert, Olivier Ridoux, Sophie Robin et Frédéric Tronel
  • Composante : ISTIC
  • Crédits U E : 5
  • Capacité d'accueil : 100 étudiants
  • Langue d'enseignement : français
  • Forme de l'enseignement : (présentiel, visio, à distance,....) : présentiel
  Cours T.P. T.D Projet Stage
Présentiel par étudiant 16h 16h 16h    
Travail personnel par étudiant 4h 16h 4h