Semestre 8‎ > ‎

ISS8AA - Semantics

Semantics
Responsable :    Guillaume BONFANTE, Maître de Conférences
                        Guillaume.Bonfante@univ-lorraine.fr
Durée du module :   21 heures  
Crédits ECTS :    2

Objectif général : appréhender les notions de sémantiques des langages de programmation

Syllabus : Sémantique

Contenu
  • sémantique opérationnelle
  • sémantique axiomatique, invariants de boucle
  • notion d'arbre de syntaxe abstraite
  • transformation de code
  • compilation
Support

Nous utilisons un livre comme support de cours :
  • Compilateurs, principes, techniques et outils
    A. Aho, R.Sethi, J.Ullman
Programme
  1. Sémantique opérationnelle
    • Notions abordées : mini-C, un langage à boucle, sémantique opérationnelle
    • TD : programmation en mini-C
  2. Etude du langage Mini-C
    • Notions abordées : équivalence de langages de programmation, complétude pour la machine de Turing, boucle for
    • TD  : compilation de la récursion primitive vers mini-C
  3. Sémantique axiomatique
    • Notions abordées : chaîne de compilation, arbre de syntaxe abstraite, conception générale d'un compilateur
    • TD : mise en oeuvre de l'analyse lexicale
  4. Conception de grammaire pour un langage de programmation
    • Notions abordées : langage, grammaire
    • TD : construction de l'arbre de syntaxe abstraite
  5. Compilation
    • Notions abordées : X86, modèle de la mémoire, instructions, transformation de l'arbre de syntaxe abstraite
    • TD : génération de code X86
  6. Suivi de projet
    • Extension du langage mini-C
  7. Evaluation finale
    • Présentation générale
    • et des sous-projets par groupe
Niveau requis
Une aisance en programmation est nécessaire : maîtrises des notions de collection, de généricité, d'héritage, de classe, d'objets

Niveau à atteindre
Connaitre la notion de sémantique opérationnelle
Comprendre la chaîne de compilation
Être capable de définir une syntaxe, et le mécanisme d'analyse
Être capable de construire un compilateur


Modalité d'évaluation
Contrôle continu en séance de TD
Évaluation par groupe de projet à la fin du semestre

Comments