EE-IRM722
Atelier de compilation
Système d’évaluation |
---|
CC + Examen |
Crédits |
---|
2 ECTS |
Compétences Génériques (+) |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
. | . | . | . |
Compétences Spécifiques (+) |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |
. | . | . | . | . |
Liste des acquis d’apprentissage attendus :
- Comprendre les différents types d’analyse : lexicale, syntaxique et sémantique
- Comprendre le processus de synthèse d’un programme étant donné l’arbre syntaxique abstraite.
- Maîtriser les outils LEX et YACC
Pré-requis : Algorithmique et structures des données avancées (EE-IRM612), Théorie des langages (EE-IRM632).
Mots clés : Analyse lexicale, Analyse syntaxique, LEX, YACC.
Objectifs de l’enseignement : Ce cours permet à l’étudiant de cComprendre les phases de compilation d’un programme informatique. De plus, il lui permet de maîtriser les techniques et les outils nécessaires pour la mise en oeuvre d’un compilateur.
Contenu de l’enseignement :
- Leçon 1 : Introduction à la compilation
- Leçon 2 : Analyse lexicale
- Section 1 : Les expressions régulières
- Section 2 : Programmation avec C et LEX
- Leçon 3 : Analyse syntaxique
- Section 1 : Analyse syntaxique descendante
- Section 2 : Analyse syntaxique descendante
- Section 3 : Programmation avec C et YACC
- Leçon 4 : Analyse sémantique
- Leçon 5 : Génération de code
Eventuels projets à réaliser :
- Réalisation d’un calculateur
- Réalisation d’un mini-compilateur
Manuel(s) de base : condensé de cours & Cours interactif
Bibliograpie :
[ 1 ] Levine, J. “flex & bison Text Processing Tools”, Oreilly, 2009