Logo ESI
Bannière
ESI talents

Bienvenue



Retour - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Syllabus THP
Télécharger



Crédits : 4

THP
Théorie des langages de programmation et applications
Theory of Programming Languages and Applications

Coef : 4
VH Cours : 30.00
VH TD : 30.00
Pré-requis :
Algorithmique, programmation.

Ingénierie des Compétences

Familles de Compétences
  • CF4 : Concevoir, réaliser et maintenir des logiciels de qualité
Type de compétence: TEC : Technique, MET : Méthodologique, MOD : Modélisation, OPE : Opérationnel,
Niveau de compétence:
Base Intermédiaire Avancé


Famille de Compétence Compétence Elément de Compétence Type
CF4 C4.4: Analyser et concevoir un langage C44.1: Effectuer une analyse lexicale et syntaxique d'un langage MET
C44.2: Exploiter un outil de génération d'analyseur syntaxique et lexical en vue de concevoir un langage TEC

Description du programme de la matière

Objectifs:

Ce cours présente les fondements des langages de programmation et développe les phases d’analyse lexicale et syntaxique d’un compilateur. Les étudiants sauront, à l’issue du semestre, réaliser un analyseur lexical et un analyseur syntaxique.

Contenu:

I. Mots, Langages et Grammaires (24h)
1. Définitions, dérivations, langage engendré par une grammaire
2. Classification de Chomsky
3. Langages réguliers (grammaires, automates d’états finis, expressions régulières)
4. Langages algébriques (grammaires, automates à pile)
II. Analyse lexicale (12h)
1. Les expressions régulières dans l’analyse lexicale,
2. Générateur d’analyseur lexical (Lex, JCC).
III. Analyse syntaxique (24h)
1. Méthodes d’analyse syntaxique (ascendante, descendante),
2. Automates à pile dans l’analyse syntaxique,
3. Analyse descendante récursive,
4. Générateur d’analyseur syntaxique (Yacc, JCC).
IV. Travaux Pratiques
1. TP1 : Automates d’états finis
2. TP1 : Mise en œuvre d’un analyseur lexical (Lex, JCC),
3. TP2 : Mise en œuvre d’un analyseur syntaxique (JCC).

Travail Personnel:

TP (10h)

Bibliographie:

A. Aho, J.D. Ullman, « The Theory of Parsing, Translation, and Compiling », Prentice Hall, Inc., Englewood Cliffs, New Jersey, 1972.
P. J. Denning, J. B. Dennis, and J. E. Qualitz, “Machines, languages, and Computation”, Prentice-Hall, Inc. Englewood cliffs, New Jersey, 1978.
R. Floyd, R., Biegel, « Le Langage des Machines : Introduction à la calculabilité et aux langages formels », Thomson Publishing, France, 1994.
J.E. Hopcroft, J.D. Ullman, « Introduction to Automata Theory and Computation », Addison Wesley Publishing Company, 1979.
Wolper, Pierre, « Introduction à la calculabilité », InterEditions, Paris, 1991.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -