Advanced Compilation

7KUAJN50

ECTS2SEMESTRES7
CMTDTPEITravail personnel
7h14h0h0h

7h

Langues d'enseignementFrançais


Responsable(s)

 Bonfante Guillaume

Mots clefsarbre de syntaxe abstrait, assembleur, x86
Prérequislangage C et python
Objectif pédagogique

A l’issue du module, les étudiants seront en mesure de construire un compilateur entre un langage de haut niveau et un langage de bas niveau. Plus généralement, le cours aborde la notion de transformation de données.

Organisation et contenus

A partir d'un langage de haut niveau (de type impératif, e.g. C), on produit un compilateur vers le langage X86.

Séance 1 : mise en place du langage de haut niveau. Notion de sémantique,

Séance 2 : extraction d'un AST à l'aide de Lark

Séance 3 : présentation de X86, construction du plan du compilateur

Séance 4 : implémentation du compilateur

Séance 5 : mise en route de l'extension, syntaxe

Séance 6 : mise en route de l'extension, sémantique

Séance 7 : évaluation orale

Compétences

Niveaux Description et verbes opérationnels
Connaître  identifier la structure du langage source, identifier la structure du langage cible, décrire la sémantique associées aux langages
Comprendre décrire la transformation du langage source vers le langage cible en respectant les sémantiques
Appliquer  extraire de l'information à partir de bibliothèque comme Lark, écrire un programme en nasm, débug à bas niveau
Analyser 
Synthétiserimplémenter un compilateur
Évaluertester la correction d'un compilateur, tester la couverture d'un langage
Contributions aux Objectifs de Développement Durable des Nations Unis
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Modalités de contrôle des connaissances et compétences
Contrôle Continu
  •  
Examen écrit
  •  
Oral / Soutenance
  •  
Rapport / Projet
  •  
  • Aucune étiquette