0% ont trouvé ce document utile (0 vote)
34 vues1 page

Analyse LL(1) et grammaires en Pascal

Transféré par

Anoumedem Rochelin
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
0% ont trouvé ce document utile (0 vote)
34 vues1 page

Analyse LL(1) et grammaires en Pascal

Transféré par

Anoumedem Rochelin
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
Vous êtes sur la page 1/ 1

Université Aix Marseille - L3 Informatique Compilation TD3

Analyse LL(1)

1 Sous-grammaire des instructions


La grammaire de Pascal proposée en TP comporte les règles suivantes :
Statement → AssignmentStatement | ProcedureCall
AssignmentStatement → VariableAccess AFFECT Expression
ProcedureCall → ID [ ’(’ ParameterList ’)’ ]
VariableAccess → ID [ ’[’ Expression ’]’ ]
1. Calculez les premiers de AssignmentStatement et de ProcedureCall
2. La grammaire proposée est elle LL(1) ?
3. Modifiez les règles précédentes de manière à rendre la grammaire LL(1).

2 Syntaxe enrichie
La grammaire de Pascal proposée en TP utilise les méta-caractères [ et ] pour indiquer l’option-
nalité et les méta-caractères { et } pour indiquer l’optionnalité itérée.
Soit la grammaire G = h{A, B, C}, {a, b, c}, P, Ai, où P est composé des règles suivantes :

A → a [B] {C}
B → b
C → c

1. Ecrire une grammaire hors-contexte G0 générant le même langage que G.


2. Ecrire en C un analyseur descendant prédictif pour G0
3. Ecrire en C un analyseur descendant prédictif pour G

3 Grammaire des palindromes


1. Ecrire une grammaire hors-contexte G générant le langage L des palindromes sur l’alphabet
{a, b}.
2. Construire la table LL(1) de G
3. Pour quelle raison G n’est elle pas LL(1) ?
4. Peut-on construire une grammaire LL(k) générant le langage L ?

4 ai bj ck
Soit le langage L = {ai bj ck , avec i = j ou i = k}
1. Ecrire une grammaire hors-contexte G générant L.
2. Construire la table LL(1) de G
3. Pour quelle raison G n’est elle pas LL(1) ?
4. Peut-on construire une grammaire LL(k) générant le langage L ?

Vous aimerez peut-être aussi