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)
Contact: Martin.Odersky@epfl.ch
Téléchargement: version Postscript (version .gz)
Version pour Internet Explorer