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

TD2 Analyse Syntaxique Sémantique

Le document traite de l'analyse syntaxique dans le cadre d'un TD sur la compilation, en se concentrant sur une grammaire d'expressions arithmétiques additives. Il aborde la récursivité à gauche, la possibilité d'être LL(1), et fournit une grammaire équivalente ainsi que des calculs des ensembles PREMIER et SUIVANT. Enfin, il présente une table d'analyse et simule l'analyseur pour des entrées spécifiques.

Transféré par

Rouâa Ben Hammouda
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)
28 vues2 pages

TD2 Analyse Syntaxique Sémantique

Le document traite de l'analyse syntaxique dans le cadre d'un TD sur la compilation, en se concentrant sur une grammaire d'expressions arithmétiques additives. Il aborde la récursivité à gauche, la possibilité d'être LL(1), et fournit une grammaire équivalente ainsi que des calculs des ensembles PREMIER et SUIVANT. Enfin, il présente une table d'analyse et simule l'analyseur pour des entrées spécifiques.

Transféré par

Rouâa Ben Hammouda
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
Vous êtes sur la page 1/ 2

Département Génie Année Universitaire : 2016/2017

Logiciel et Systèmes Matière : Compilation


d’Information GLSI Enseignant TD : Mlle.Roua Ben Hamouda
Niveau : LFSI

TD2 : Analyse syntaxique

Partie I : Analyse descendante


L’opération de base d’un analyseur descendant consiste à prendre un symbole non terminal et de le faire
remplacer par la partie droite de la production correspondante.

Soit la grammaire G suivante d'expressions arithmétiques additives, avec un "-" unaire et un "-" binaire,
associant à droite.
E→F+E|F-E|F
F → - F | ( E ) | id
N.B : G est non ambiguë.

1) G est-elle récursive à gauche ?


2) G a-t-elle une chance d’être LL(1) ? Sinon, donner une grammaire G' équivalente qui le soit (peut-être).
3) Définir les fonctions PREMIER et SUIVANT et la table d'analyse pour G'- Simuler l'analyseur
déterministe pour : - id - id et - id - + id

Exercice 1 (correction)
1) Non, G n’est pas récursive à gauche.
2) G n'est pas LL(1) : Premier (F+E) = Premier (F-E) = Premier (F) = { id, -, ( }. Donc on aura les trois
règles pour E dans M(E,x), pour x égal à un de ces 3 terminaux { id, -, ( }.

Solution: Factorisation -> G' :


E → F E'
E' → + E | - E | ε
F → - F | ( E ) | id
(Où l'on fait apparaître un ε production)

3) Calcul des premiers :


Premier (E) = Premier (F) = {-, (, id}
Premier (E') = {+, - , ɛ}

Calcul des suivants :


Suivant (E’) = Suivant (E)
Suivant (E) = {$,)} Ս Suivant (E’) = {$,)} Ս Suivant (E) = {$,)}
Suivant (F) = Premier (E') - ɛ Ս Suivant (E) = {+, -,), $}

Table d’analyse
NT T + - ( ) id $
E E → F E' E → F E' E → F E'
E’ E' → + E E' → - E E' → ε E' → ε
F F→-F F → (E) F → id

Analyse de : - id – id
Pile Entrée Sortie
$E - id – id$

Analyse de : - id - + id

Partie II : Analyse ascendante


L’opération de base d’un analyseur ascendant consiste à remplacer une suite de symboles, identiques à une
partie droite d’une règle, par sa partie gauche. Cette opération porte le nom de réduction

Vous aimerez peut-être aussi