Département d'Informatique
Laboratoire des Méthodes de Programmation
(LAMP)
École Polytechnique Fédérale de Lausanne
Compilation semestre d'hiver 2001/2002

Partie III : Analyse syntaxique

06/11/2001


Démarrer ici


Table des matières

Partie III : Analyse syntaxique

Des grammaires régulières aux grammaires non contextuelles

Des grammaires régulières aux grammaires non contextuelles (2)

Dériver un analyseur syntaxique d'une grammaire non contextuelle

Dériver un analyseur syntaxique d'une grammaire non contextuelle (2)

Analyseurs lexicaux et syntaxiques

Un analyseur syntaxique pour la notation EBNF

Un analyseur syntaxique pour la notation EBNF (2)

Un analyseur syntaxique pour la notation EBNF (3)

Un analyseur syntaxique pour la notation EBNF (4)

Grammaires analysables par la gauche

De l'EBNF à la BNF simple

Définition de first, follow et nullable

Définition formelle de first, follow et nullable

Algorithme pour calculer first, follow et nullable

Grammaires LL(1)

Convertir en LL(1)

Techniques :

Limitations

Résumé : Analyse syntaxique descendante

Analyse syntaxique ascendante

Réponse simple : Priorité des opérateurs

Réponse plus générale : analyse LR(0)

Réponse plus générale : analyse LR(0) (2)

Analyse SLR

Analyse LR(1)

Analyse LALR(1)

Une hiérarchie des classes de grammaires

Exemple de spécification d'un analyseur syntaxique

Pragmatisme

Pragmatisme (2)

Avantages relatifs des approches ascendantes et descendantes :

Diagnostiques d'erreur

Reprise après erreur

Reprise après erreur lors d'une descente récursive

Une procédure pour "passer"

Dépiler la pile

Récupérer les erreurs de syntaxe

Reprise après erreur avec l’analyse ascendante

Reprise après erreur avec l’analyse ascendante (2)

Auteur: Martin Odersky

Contact: Martin.Odersky@epfl.ch

Téléchargement: version Postscript (version .gz)

Version pour Internet Explorer


Compilation
Enseignement
Dernière modification: 06/11/2001, Michel Schinz <Michel.Schinz@epfl.ch>