Théorie des langages de programmation et applications

ESI > Développement Logiciel > Théorie des langages de programmation et applications

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.

ID Cours
THP
Niveau
1ère année CS
Semestre
Semestre 1
Crédit
4
Volumes Horaires Cours
30.00
Coef
4
Volumes Horaires TD
30.00
Domaine
Développement Logiciel

Pré-requis:

Algorithmique, programmation.

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

Contenu

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

Travail personnel

TP (10 Heures)

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.

We are using cookies to give you the best experience. You can find out more about which cookies we are using or switch them off in privacy settings.
AcceptPrivacy Settings

GDPR