Vous êtes ici :

Master

Information importante

La page que vous consultez correspond à l'offre de formation 2023-2024.

Trouvez votre formation pour l'année universitaire 2024-2025

Compilation

  • 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,

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

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)

Contact

UFR de mathématique et d'informatique

7, rue René Descartes
67084 STRASBOURG CEDEX
0368850200

Formulaire de contact

Responsable

Pascal Schreck


MASTER - Informatique

Partenaires

Logo du CNRS
Logo Établissement associé de l'Université de Strasbourg
Logo du réseau Epicur
Logo de EUCOR, Le Campus européen
Logo de l'Inserm Grand Est
Logo de l'Inria

Labels

Logo du label Bienvenue en France
Logo du programme HRS4R
Logo du programme France 2030
Logo de Service Public+

Réseaux

Logo de France Universités
Logo de la Ligue européenne des universités de recherche (LERU)
Logo du réseau Udice
Logo de l'Université franco-allemande