Vous êtes sur la page 1sur 3

Fiche Module TLA

Théorie des Langages et Techniques de


Compilation
Code Cours Intégré Nombre de crédits Version

42 h 3 crédits 2

Responsable Module Walid Labbane

Unité pédagogique Algorithmique et programmation

Unité d’enseignement Théorie des Langages et Techniques de Compilation

Pré requis Programmation C, algorithmique

Mode d’évaluation :
La moyenne de ce module est calculée comme suit :

Moyenne = Contrôle Continu*40%+Examen Pratique*60%.

Le contrôle continu : Note Du Ds (20%)+ Note de contrôle continu ( 20%: tests , participation etc).

Acquis d’apprentissage :
Ce module est une initiation aux élèves ingénieurs pour la compréhension des notions de base de
la conception des langages formels.
Les objectifs de module peuvent être divisés en deux parties:
1. Familiarisation avec les langages formels: les notions d'alphabet, mots, langages et les
outils de validation des langages ( les automates) ainsi que les outils de génération des
langages ( grammaires)
2. Compréhension des mécanismes de compilation des langages formels.

Contenu détaillé
Partie I : Théorie des langages
Fiche Module TLA

Chapitre 1: Alphabet , mots et Langages


L'étudiant devrait être capable de :
- Comprendre la différence entre les notions d'alphabet, mots et langages.
- Appliquer les propriétés ensemblistes sur les langages.

Chapitre 2: Expressions Régulières


- Définition syntaxique et sémantique d'une expression régulière.
- Génération d'une expression régulière partir d'une description du langage.
- Comprendre la différence entre les différents opérateurs des RegEx.

Chapitre 3: Les automates finis


- Modélisation des automates: la représentation graphique .
- Automates finis et expressions régulières: liens entre langages, expressions régulières et
automates finis.
- Fonctionnement d'un automate à états finis: Définition formelle et reconnaissance d'un
langage par un automate.
- Différence entre automates finis déterministes ( AFD) et automates finis non déterministes
(AFN).
- Algorithme de déterminisation.
- Les automates finis avec epsilon-transitions: modélisation et déterminisation.
- Algorithme de minimisation.

Chapitre 4 : Les grammaires


- Définition formelle d'une grammaire.
- les types des grammaires et des langages générés ( hiérarchie de Chomsky): grammaires
contextuelles, hors contexte et régulières.
- les principes de dérivation d'une grammaire: dérivation droite et gauche et notion
d'ambigüité.
- les arbres syntaxiques
- Liens entre grammaires et langages: Déterminer le langage à partir d'une grammaire et
donner la grammaire génératrice à partir du langage.
Fiche Module TLA

Chapitre 5: Les automates à pile


- Langages reconnus par les automates à pile.
- Définition d'un automate à pile: représentation graphique et principes de reconnaissance.
- Modélisation d'un langage hors contexte par un automate à pile.
- Configuration des automates à pile.

Partie II: Compilation


Chapitre 1: Introduction à la compilation
- Historique.
- Processus de la compilation.
Chapitre 2: Analyse lexicale
- Rôle de l'analyseur lexical et son fonctionnement.
- Notions de bases: lexèmes, unités lexicales et modèles.
- Automates finis déterministes et reconnaissance des mots.
- Travaux pratiques: FLEX

Chapitre 2: Analyse syntaxique descendante.


- Rôle de l'analyseur syntaxique et son fonctionnement.
- Déroulement de l'analyse descendante.
- Les grammaires LL1: Factorisation, élimination de la récursivité à gauche.
- Calcul des premiers et des suivants.
- Construction de la table d'analyse.
- Exécution de l'analyse descendante avec une pile.

Textbook : Cours Témoin compilation

Références netographiques : www-igm.univ-mlv.fr


www.univ-orleans.fr
www.lix.polytechnique.fr
https://www.irif.univ-paris-diderot.fr