METWODES ASCENDANTES.
GHAPITRE 4
Méthodes Ascendantes
T. ANALYSE PAR PRECEDENCE p'opERATEURS:
~ Petite classe de grdmmaire ,
~ Construction & lo main des analyseurs etficaces par — @Méme precedence
décalage | reduction «2?
= Cet grtmmaires ont Ia proptield’ dene eas avoir de
production vide, ni dvavcir deur non-terminaux — @ ach “Céder le precedence” : | < premieeC®)
adjacents; Une Qrammaire erifisnt bb demiere C ¢ +
propriehé es une grammaire A’ gecreseuns . 2s aie Ot a
* Spree (F) yp Tato F
Exemple CS Premio? CE) 1 Fy CE)
EAE | ce) | -E Lid @ Arb "Prendce la precedence”
Aaaieleis .
Sr eer Berner CE) > + ges
Chtte qrammaire n'est pas une grammars dopérateurs = ashi elated
car GRE A Yeon oon teeninaun eensecutls Dernies"CT) DoW Ta Tek
E mer" CE) > > Fs Ce)
La qrammaire Ey Ex€ Lee EVE! E/E I-€ Lidice) Ren -
eS Une Grammaire d’opérsteurs -
Relations de precedence : Premiere): 9 6, 18 5
On definik trois relations de precedence <, =, > Prenmev CTY = $C, iy of
entre certzing Couples de terminaux. ah ¥
Ces relahions de precedence quident ta section des Premio =f Cy 187
msches tk Ont la signification suivante + Demier CE) = § >, dy ey eZ
Ac b a" eederta precedence af b Rersien OT) “a§ 9,48 a9
azb a le wren peccedence que” b Dernier CF) 2 4 5) aj
2 > ba “prend la precedence 30° " bs
Table d’anatyse de precedence +
arb ak Aspaabp ov Any aabhg
A A +
\ e
LN, og JOR +]>
+ wee
A
\ “A
LL Sy ooo Tee ia} >
o® ae o[<
arb si AaaBp BSta ew BS vac
A Bin
oN = «ae
weES
Froceide" de determination da manche :
4) Parcourir ta chdine & partir de \ertremité gauche
Josqu’& rencontrer le premier >
2) Parcourir alors en Sens ftwerse (vers 1a qqauche )
en sautant te = jusqu’d rencontre un <
3 le manche contient toot ce que sehrooue &
gauche du premier > et & droite du dercier <
Fencontre’ en (8), y compris les non-terminaux
ioterieurs ov Sitves aux exhremiter.
T. ANALySeuR LR:
4, Pigorithme d’anslyse LR:
(atsTetf- Sole
TAMPON D'ENTREE
Pengra meme
Sranalyse ug fo? PLOT DE SoRTIE
[Aenion [Secesseu] tases o/antaLyr es
+ Medile da analyseur LR
Le programme dvanalyse vit les unites lexicales !'une
apres Vautee dans le tampon entrée Tl uttiise
ne pile pour y ranger les chdines dela Ferme
Seo Yas Sma %m Sm 1 OX Sq eh GU sommet .
Chaque X, st un symbele de la grammaire e chaque
Se est in Symbole appelé grat.
Chaque chat césume résume \* information contenue
dans la pile en dessous de lui; ta combinaisen du
numere de 1° état en sommet de la pile ef du
symbole déentrée Courant cit ulitise pour thdicer
les tables et determiner ‘action d analyte aealer
ou réduire a effectuer .
Remargue:
dani one implantation, Wolert pas neesisire que
let sumbeles gramma he avx apparescent en pile
mais on supovera qui ile y sont povs plos de
elacté.
Le pragramme d’ analyse se comporte ainsi
Conmaissant 1° ehat Sm et ay le symbole dventrée
courant ,W comutke 12 table Action (Sm, az 3.
Quatees’ valeuw sont pasibles :
a. décsler $ du 5 ent un état.
2 rédvice par une production dele grammaice As
3. Accepter
W Ereora
odsies EY camp | Smee! W.mETHODE: ALCENDANTES.
De ee
Le foschion Successeur prend comme argument
un ttat ¢ uN Symbole non terminal et
Tetourne un ébat .
Contiguration de I‘artusesr. LR:
= contenu dele pile CoyX.8,%455 -- Xabi Ae Meq3 Sab
= chains rabnte 2 analyser
Res Confrgurahions réduttanks aprés chacune des
operons.
4, Action ESq ,073 = “deeater 5*
“Ve
nalyseur execute une achon décaler 7
ampiter le symbde d’eniie pai S «
CQK SiH Hnbn EE, Megs ab)
nd
n
2. Aebion CSq, A532" aédurte par Aag*
“Vanalyseur éxeuuke une action eeduire”
Caxgxso. My gma PS, a egg
eas ss Successeor{3, AI
"= pl:
3. Si. Retion T5q,a¢] =" acceprer”
Lianalyse ess teconing
Ys St Ackon Cs—_, ac) =" erreur”
SLranalyseur & découucer ype errear el appelie.
une revkine de recuperation d’erreus #
Rigorithme de Vanalyserr LR:
Donage : Une cndine di’ ented w et des taller
analyse LR pour ont geammaire G
Résultat + Si WE LCG), Une analyse ascendante
de Ww Sinen one indication A'erreur.
Méthode: Initislement, tanalyseur a 5 en pile
Cera wos” Dek Asg dans fon
Anitialiser le pointeur source ps Sur le premier
Symbole de WB . ™
Repeter indefihement
debut
Soit $ état en Sommet de pile ct a le symbole
pointe’ par...
Action £6, a) z"decaler 6" alors
JF Empiier pois
avancee PS
lesa simon> Staple: ETHODES ASCENDANTES «
aS corte eV TETHODES PLCENGANTES mall
| Si ActionL s,3=“reduire par Aap" alors
| Depiter Ze II Symboles , soit $!
le nouvel état Sommet de pile.
Empiter A puis Succaueur [5,82
Emetire en Sortie une ideatiication de Ro
hSinon
Action [5 ,a}:*accepter™ alors
| rebourner() ;
Sinon
Erreur) ;
einse
apse
Gas
en
fon repeter.
2. Construction des tables dvanalyse SLR:
"Simple LR” ou SLR
~ lechnigue la moins puisante mais le plus facile
@ implementer:
= Les table: d’analyses conshuiles par tebe
mithede sonb appelées ” tabler SUR“
= Un analyseur UR callisant les tables SLA av
appeleer analyseur SLR”
= Une grammaire pour laquelle test pessible de
Constroire un analyseur SLR est appeléc
“grammaire suk".
Un item Rte) Cit) dune geammnire G ast
lune production de G avec un on@tY point replerant
wne positien de sa pache devite
exeonple:
As XYZ —_Sournit items
Ro. XYZ,
BRE
Bo Ky?
Ay KY2
Intuitivernent un iter indique 1a “quantité de
parhe dreite“ quia él reconnu “a uy mement
donnée au cour de Vanalyse: ainsi Iie
By. XYZ indique ave l'on. espere voir en entree
une cheithe drivable depuis xy2 .
Litem fig X92 indique que Wen vient de
voir une Chathe déivee deX eb on Vespere voir
une chdine derivee de ¥2.
_ _Liidée centvale de ta méthode eb de conslviier
& parhr de la grammaire G un automate fini
de Ferministe (faa cecopnaitees les prefixes
Viables (prelixe 8’ une proto- phraie’ decrite
Pouvant apparaltre cur (a pile svn.
d
Les itemes sont regroupés en ensemble qui
conshhe ler fats de \/analyseor SUR
{73/017 2008 H)
nearest
Une collection dv ensemble d' item LR(0) qu'on
pee!" Collection LRCe) canonique” fourni
Ja base de 1A construchon des tables SLR.
Pevr conihwire Ja collection LRCe}
Sune grammaire Gon définie une grammaint
ugmente ct deux fonehions fermeture) et
bransiben 0»
GCremmaire augmentee :
Soit G une Grammaire d’axiome &, alott G
est la Grammaire augmentie de G avec ure
howvelle axiome $' 2 une novvelle production
S35 -,
Le bat de cette novvelle production ct Sindique
& Vanalyseur \Varret de 'ianalyse eb
Vacceptation de 18 chdine d’eniée ainsi ta
chaine sera acceptéc Quand eat sevlement
quand \’analyseor ef Sur le pomt de necuie
S38.
Fermeture:
Si TL Git un ensemble dikes poor & 5
feemetore (1) er Vensemble 4’ items consimit
@ pare de Lar. ws deux negler :
4. Tnihalement , placer chaque iiem de T dans
Fermeture (CT);
& SF Aye. Bp ext dans Fermelire@®) eb sit
he Se Wouve pas déj@ ; on applique cate
Aagle josqu’d que aucune nouvel item
ne puisse plas @he ajouke
Imibalement ,
Ris a.Bp at dann fermebvecs)
cela indique qo’ un Certain bape de Vanalyse
on pect awir dant 1’enhee une soos chéine
derivable depyi BB Comme ence, $i Boe
est une production on pourra avssi voir une
cheline derivable de ft; pour ceNe ratisen on
Gjovte également Bk dann fecmetyre CT)
v
Pat
Ef+T Tt
TOFeP iF
Fo Ue) hid
Sit Te $ CE 4-634
feemelure (1) =f
E4-E
Ens. Est
e—-T
To teF
To-F
FF .ue)
Fo eid