Compilation Partie III
Compilation Partie III
Compilation Partie III
Partie III
●
Élimination de la récursivité à gauche
●La récursivité gauche pose divers problèmes en
analyse, et dans l’application de certains algorithmes
de transformation de grammaire.
●C’est la raison pour laquelle on cherche à éliminer
cette récursivité
●Ce qui est toujours possible, car on dispose d’un
théorème : « Tout langage algébrique peut être généré
par une grammaire algébrique non récursive gauche »
Élimination de la récursivité à gauche -
Procédure
●La démonstration de ce théorème, comme souvent en
pareil cas, repose sur un algorithme qui, étant donnée
une grammaire algébrique récursive gauche, produit
une grammaire non récursive gauche qui reconnait le
meme langage.
●Il faut procéder en deux temps : d’une part, on va
éliminer la récursivité directe (ou immédiate), puis
éliminer la récursivité indirecte.
Élimination de la récursivité à gauche -
Procédure
Élimination de la récursivité à gauche -
Procédure
Élimination de la récursivité à gauche –
Exercice
Soit la grammaire G : {S→S0|S1|0|1}
●
A → αβ1 | αβ2
●
devient :
●
Factorisation à gauche
Exemple : soit la grammaire :
●
TD 4
Compilation
Partie III
Premier(A) = a.
A→ Ba et B→bC , Premier(A) = Premier (B) = b.
●
–Proposer G(L).
–Nettoyer G(L)
–Calculer les premiers.
–Calculer les suivants.
–Calculer la table d’analyse.
TD 5