50% ont trouvé ce document utile (2 votes)
356 vues2 pages

Analyse des grammaires et analyseurs

Transféré par

Younes Boucherif
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 PDF, TXT ou lisez en ligne sur Scribd
50% ont trouvé ce document utile (2 votes)
356 vues2 pages

Analyse des grammaires et analyseurs

Transféré par

Younes Boucherif
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 PDF, TXT ou lisez en ligne sur Scribd

Université A/Mira Bejaia Nom :

Département d’Informatique
Prénom :
Licence Académique (L3)
Année Universitaire 2019/2020 20 Groupe :

EMD Compilation
NB : Documentation non autorisée, l’utilisation du crayon est interdite.
Questions de cours
Partie 1 (6 points) : Cocher la ou les bonnes réponses.

1. Les analyseurs LL(1) peuvent reconnaître précisément les langages dans lesquels :
 Un seul symbole suffit pour déterminer l’action à réduire ou à décaler.
 Un seul symbole suffit pour déterminer la règle à appliquer.
 Les mots sont factorisés et non récursifs à gauche.
 Aucune réponse n’est correcte.

2. La classe des grammaires LR est :


 Plus large que la classe des grammaires LL.
 Egale à la classe des grammaires LL.
 Moins large que la classe des grammaires LL.
 Aucune réponse n’est correcte.

3. Un item de la forme 𝑨 → 𝜶. 𝜷 représente une situation d’analyse où :


 On a analysé la chaine 𝛼 et on s’attend à reconnaitre 𝐴.
 On a analysé la chaine 𝛽 et on s’attend à reconnaitre 𝛼.
 On décale 𝛼 et on réduit 𝛽 par A.
 Aucune réponse n’est correcte.

4. Les fonctions de l'analyseur lexical sont :


 Suppression des espaces blancs.
 Contrôle de type.
 Suppression des commentaires.
 Construction de l’arbre de dérivation.

5. Assurer qu’un nom n’est pas associé à plus d’une variable est le rôle :
 De l’analyse prédictive avec retour arrière.
 De l’analyse descendante.
 De l’analyse lexicale.
 Aucune réponse n’est correcte.

6. La génération du code intermédiaire permet :


 D’abaisser le niveau d’abstraction.
 D’ajuster le niveau d’abstraction.
 De traduire le code sous une forme de haut niveau, afin de faciliter les optimisations selon
l’architecture demander.
 Aucune réponse n’est correcte.

1/4
Partie 2 (7 points) : Question1 : Soient les trois grammaires suivantes
𝑺 → 𝒅𝑨𝒂 / 𝑩𝒄 𝑺 → 𝒅𝑨𝒂 / 𝑩𝑨𝒄 𝑺 → 𝒅𝑨𝒂 / 𝑩𝒄
𝑮𝟏 = {𝑨 → 𝒂/𝑩𝒅 𝑮𝟐 = { 𝑨 → 𝒂/𝑩𝒅 𝑮𝟑 = {𝑨 → 𝒂/𝑩𝒅/𝜺
𝑩 → 𝒄𝑩/𝒅𝒄 𝑩 → 𝒄𝑩/𝒅𝒄 /𝜺 𝑩 → 𝒄𝑩/𝒅𝒄 /𝜺
1- Pour chacun des ensembles Débuts et Suivants, indiquez-la les grammaires qui
les valident, si aucune des grammaires le valide, noter aucune :
- Début (S) = {d,c,a} - Début2 (S) = { da,dc,dd,cd,cc,ca,ac }
- Suivant (S) = {#,a} - Suivant2 (S) = {##,a#}
- Début (A) = {a,c,d} - Début2 (A) = { a,cc,cd,d,dc,ε }
- Suivant(A) = {a} - Suivant2(A) = {##,a#}
- Début(B) = {c,d} - Début2(B) = { a,cc,cd,d,dc,ε }
- Suivant(B) = {c,d,#} / - Suivant2(B) = { ac,cd,cc,dc,da }

2- Construire la table d’analyse LL(1) pour la grammaire 𝑮𝟐


3- Que peut-on déduire de cette table d’analyse :

Question 2 : soit un langage qui a les terminaux suivants : ‘@’ ‘*’ ‘%’ ‘i’ ‘/’

Un analyseur de type décaler-réduire pour ce langage traite la chaîne : « i * i % @ i / » et effectue les actions
suivantes :

o Décaler i ;
o Réduire 0 symboles (sur la pile), en produisant (le symbole non terminal) N. Puis réduire 2
symboles, en produisant T. Puis réduire 1 symbole, en produisant F.
o Décaler *. Puis décaler i. Puis décaler %.
o Réduire 1 symbole, produisant N. Puis réduire 2 symboles, produisant T.
o Décaler @. Puis décaler i.
o Réduire 0 symbole, produisant N. Puis réduire 2 symboles, produisant T. Puis réduire 1 symbole,
produisant F. Puis réduire 5 symboles, produisant F.
o Décaler /.
o Réduire 2 symboles, produisant E et accepter l'entrée.
1- Déterminer la trace d’analyse
2- Quelle est la grammaire du langage analysé
Exercice
Soit la grammaire G6 suivante :

𝑬 → 𝐓 + 𝐄/ 𝐓
𝑮𝟒 {
𝑻 → 𝒊𝒏𝒕 ∗ 𝑻 / 𝒊𝒏𝒕 / (𝑬)

1. Construire l’ensemble des items LR(0).


2. Construire la table d’analyse LR(0).
3. Que peut-on déduire de cette table d’analyse

2/4

Vous aimerez peut-être aussi