Rechercher Se connecter FR EN

CompilationDéveloppement et Mathématiques pour l'ingénieur (STI)

FISEFISA STI Semestre 6 Tronc Commun

Compilation

Unité d'enseignement Développement et Mathématiques pour l'ingénieur · S06T_SMI2  |  Code EC S06T_SMI2-2
10ECTS (UE)
1Coefficient
21:20Heures

Séquencement

C 3TD C 3TD C 3TD C 3TD C 3TD C 3TD C 3TD C 3TD
↳ Alias Christophe
C TD C TD C TD C TD C TD C TD C TD C TD
↳ Berthome Pascal
TD TD TD TD TD TD TD TD
↳ Hugot Vincent
TD TD TD TD TD TD TD TD

Bloc incomplet : le nombre de séances planifiées ne correspond pas à la fiche.

Objectifs pédagogiques

Ce cours présente les diverses composantes d’un compilateur pour un langage impératif et les concepts associés.

Pré-requis

ModuleUnité d'enseignementSemestre
Théorie des LangagesPrincipes de la programmationS5

Programme

  1. Introduction
  • Compilateur, interpréteur, machines virtuelles
  • Organisation d’un compilateur
  1. Organisation de la pile
  • Activations
  • Organisation des données
  1. Traduction dirigée par la syntaxe
  • Schémas de traduction
  • Schémas complets pour expressions, contrôle, fonctions
  1. Représentations intermédaires
  • Flot de contrôle, flot des données, forme SSA
  • Optimisation du code intermédiaire
  1. Production de code machine
  • Sélection, ordonnancement
  • Allocation de registres

Modalités d'évaluation

  • Examen final
  • Rendu de TD/Projet

Références bibliographiques

  • Compilateurs : principes, techniques et outils. A. Aho, M. Lam, R. Sethi, J. Ullman, Addison-Wesley, 2007.

Compétences

2
Réf.VerbeDescriptionNiveau
C2_1reconnaîtrela structure générale d’un compilateur et l’organisation des données lors de l’exécution des programmes1
C2_3concevoirun compilateur pour un langage impératif3