Matière : Compilation

Unité d’enseignement fondamentale :UEF1

Crédits :5

Coefficient : 3

Objectifs de l’enseignement :

Comprendre comment les programmes sont compilés puis exécutés

Connaissances préalables recommandées : Théorie des langages

Contenu de la matière :

Chapitre 1: Introduction (objectifs …)

Chapitre 2 : Compilation

  • Définition d’un compilateur
  • Structure d’un compilateur

Chapitre 3 : Analyse lexicale

Chapitre 4 : Analyse Syntaxique

  • Dérivation la plus à gauche et arbre de dérivation
  • Grammaire ambiguë
  • Grammaire et langages de programmation
  • Analyseurs syntaxiques et leurs types
  • Outils en pratique

Chapitre 5 : Analyse descendante

  • Analyse LL(1) (principe)
  • Table d’analyse
  • Grammaire LL(1)

Chapitre 6 : Analyse ascendante

  • Analyse LR (principe)
  • Analyse LR(0)
  • Analyse SLR(1)
  • Analyse LR(1)Analyse LALR(1)

Chapitre 7 : Traduction dirigée par la syntaxe

Chapitre 8 : Contrôle de type

Chapitre 9: Environnement d’exécution

Chapitre 10 : Génération de code

Mode d’évaluation :Examen (60%) , contrôle continu (40%)

Références:
  • Alfred Aho, Ravi Sethi et Jeffrey Ullman « Compilers, Principles techniques and tools » Addison-Wesley 1986