- Cours (CM) 24h
- Cours intégrés (CI) -
- Travaux dirigés (TD) 24h
- Travaux pratiques (TP) 12h
- Travail étudiant (TE) -
Langue de l'enseignement : Français
Niveau de l'enseignement : B2-Avancé - Utilisateur indépendant
Description du contenu de l'enseignement
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 à acquérir
À 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
- 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
Bibliographie, lectures recommandées
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
- 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
Pré-requis obligatoires
À l'entrée de cette UE, un étudiant devrait savoir :
- manipuler les abstractions classiques de théorie des langages (expressions régulières, grammaires, automates)
- utiliser des structures de données avancées (listes, arbres, graphes)
- écrire des programmes simples en assembleur
- écrire des programmes complexes dans un langage impératif (les séances de TP et le projet sont en C)
- manipuler les abstractions classiques de théorie des langages (expressions régulières, grammaires, automates)
- utiliser des structures de données avancées (listes, arbres, graphes)
- écrire des programmes simples en assembleur
- écrire des programmes complexes dans un langage impératif (les séances de TP et le projet sont en C)
Contact
UFR de mathématique et d'informatique
7, rue René Descartes67084 STRASBOURG CEDEX
0368850200
Formulaire de contact