Compilation
Cursus master ingénierie (CMI)Parcours Cursus master ingénierie (CMI) - Informatique, image, réalité virtuelle, interactions et jeux

Description

Cette UE présente les principes et techniques permettant de spécifier, de manipuler et de traduire les langages informatiques. Les différentes phases de traduction d'un programme par un compilateur y sont étudiées : - Analyse lexicale (expressions régulières, utilisation de l'outil Lex), - Analyse syntaxique (analyse ascendante et descendante, grammaires LL/SLR/LALR, utilisation de l'outil Yacc), - Génération de code intermédiaire (utilisation de grammaires attribuées), - Génération de code final (assembleur) et optimisation. Durant cette UE, les étudiants réalisent un mini-compilateur dans le cadre d'un projet.

Compétences visées

À l'issue de cette UE un étudiant saura : - Spécifier un langage informatique,
- Définir et exploiter des formats d'échange d'information,
- Traduire un flux d'information en un format exploitable par un système informatique,
- Créer des outils d'analyse et de compréhension de flux de données,
- Porter de l'information textuelle vers des structures de données,
- Utiliser des outils d'analyse lexicale et syntaxique,
- Programmer un compilateur,
- Écrire des programmes qu'un compilateur saura optimiser,

Modalités d'organisation et de suivi

Evaluation continuée intégrale :
Contrôle continu

Bibliographie

Références :
- A. Aho, M. Lam, R. Sethi, J. Ullman, Compilateurs : Principes, techniques et outils, Pearson Éducation France, 2007
- A. Appel, Modern Compiler Implementation in C, Cambridge University Press, 2004