0% ont trouvé ce document utile (0 vote)
140 vues2 pages

Analyse Syntaxique LR Avancée

Transféré par

Achraf Debailia
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
140 vues2 pages

Analyse Syntaxique LR Avancée

Transféré par

Achraf Debailia
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Dans la méthode d’analyse syntaxique ascendante, ils existent trois

techniques pour la construction de la table d’analyse LR pour une grammaire.


(L : Left to right scanning, R : Rightmost derivation)

SLR (Simple LR) : La plus facile à implémenter, mais la moins puissante

des trois. (la table précédemment construite est une table d’analyse SLR)

LR canonique : La plus puissante, mais la plus couteuse.

LALR (Look-Ahead LR) : a une puissance et un cout intermédiaire ( c’est la

table utilisée par la majorité des compilateurs)

L’Algorithme d’analyse LR :

Un modèle d’analyseur LR est présenté dans la figure suivante, le


programma d’analyse LR est le même pour tous les analyseurs syntaxiques
ascendants (LR). Seules les tables d’analyses changent d’un analyseur à l’autre.

Tampon d’entrée
a1 ……….. ai …………. an $

Pile

em Programme d’analyse LR
Flot de sortie
Xm
…..
X1
e0

Action Successeur
Données  : Une chaine en entrée et la table d’analyse LR

Résultats : Chaine Acceptée (Acc) ou Erreur syntaxique (case vide) .

Méthode : Initialiser la pile avec l’état e0 et le Tampon avec la chaine suivi par $

Répéter

Soit ei l’état en sommet de pile et a le symbole pointé par ps

Si Action [ei , a] = dej Alors empiler a suivi par ej et avancer ps

Sinon

Si Action [ei , a] = r par A∝ Alors Emettre en sortie A∝

dépiler 2* |∝| symboles

Empiler A suivi par Succ [ek , A]

(tel que ek en sommet de pile)

Sinon

Si Action [ei , a] = Acc Alors sortir (Chaine Accéptée)

Sinon erreur ()

Finsi

Finsi

Finsi

Finrépéter

Vous aimerez peut-être aussi