Vous êtes sur la page 1sur 3

Exercice I : Automate et Langage

Soit le langage L accepté par l’automate A ci-dessous

1. Trouver une grammaire régulière engendrant L


2. Trouver une expression régulière dénotant L
3. Trouver un automate déterministe acceptant L.

Exercice II : Langage et grammaire

1. Donnez une grammaire générant le langage décrit par l’expression régulière a*b, sur
l’alphabet {a,b}
2. Grammaire régulière :
a. Décrire le langage généré par la grammaire

G = ({S,A}, {a,b}, R, S), tel que R = { S  AS | A  a | S  b }

b. Est-ce que cette grammaire est régulière ?


c. Est-ce que le langage accepté par la grammaire est régulier ? si oui, donnez
l’expression régulière correspondante; si non expliquer pourquoi.

Exercice III : Table d’analyse – Ensemble de First et Follow


1. Calculer les ensembles premier et suivant pour chacun des non terminaux de la
grammaire suivante :
A → BaCB | D
B → CA | b | ε
C → BAD | BB | c
D → AA | d
2. Construire la table de prédiction ou d’analyse de cette grammaire. Ces grammaires
sont-elles LL(1)?

Exercice IV : Analyse LL(k)


A. On considère la grammaire (G) d’expressions arithmétiques additives, avec un « - »
unaire et un « - » bianire, associant à droite.
E→F+E|F–E|F ; F → - F | ( E ) | id
La grammaire (G) étant non ambiguë
1. G est-elle récursive à gauche ?
2. G a-t-elle une chance d’être LL(1) ? Sinon, donner une grammaire G1 équivalente qui
soit (peut-être)
3. Définir les fonctions PREMIER et SUIVANT
4. Donner la table d’analyse pour G1
5. Simuler l’analyseur déterministe pour : - id – id et – id - + id

B. On modélise un polynôme par la liste de ses coefficients. Par exemple P(X)= 3X7 -
13X5 + 9X -19 sera modélisé par la liste (3 0 –13 0 0 0 9 –19).
Pour générer un tel langage de listes, on utilise la grammaire G = (N, T, P, S) suivante
:
N = { S , L, R } , T = { Nbre, ( , ) } et
P = { S → ( L ) , L → Nbre R , R → L |  }.

a) Donnez une dérivation pour le mot décrivant le polynôme P(X) = 3X2 - 7


b) Cette grammaire est-elle LL(1) ? Si non, modifiez-la pour qu'elle le devienne
c) Dressez la table d'analyse LL(1).

Exercice V : Analyseur lexical - Lexème

On souhaite écrire un analyseur lexical pour le langage de commandes suivant :

 Une commande est composée d’un nom de commande, suivi d’une liste optionnelle
d’arguments, suivie d’une liste facultative d’options ;
 Une liste d’arguments est une suite d’arguments ;
 Une liste d’options est une suite non vide d’options encadrée par [ et ], à l’intérieur
de laquelle les options sont séparées par , ;
 Une option est un caractère précédé d’un tiret ;
 Un argument est un identificateur, de même qu’un nom de commande.

Par exemple, macom arg1 arg2 [-a,-b] est une commande, ainsi que macom [-f] et macom.

i. Quelles sont les unités lexicales nécessaires à la description d’une commande ?


ii. Donner pour chacune d’entre elles une description régulière qui la définit.

Exercice VI : Analyseur Syntaxique Ascendant

Considérer la grammaire G2 :
S→G=D|D ; G → * D | id ; D→ G

1. Donner la grammaire augmentée G3 de G2


2. Montrer que la gramme G3 n’est pas SLR ou LR(0)
3. Calculer l’ensemble des items LR(1) et construire l’automate associé
4. Construire la table d’analyse LR(1) déterministe
5. En appliquant la réunion des états de l’AFD LR(1), donner la table d’analyse
LALR(1) correspondante
Exercice VII : Analyse Ascendante LR(0)
A. Soit la grammaire G définie par ses règles de production suivante :
P={S⟶ [L]|a , L⟶ L;S|S}
a) Décrire (en une phrase) le langage engendré par G
b) Donner l’analyse LR du mot [a ; a]
c) Donner l’ensemble de l’item-0
d) Donner l’automate LR(0) de cette grammaire
e) Construire la table d’analyse SLR ou LR(0)

B. Soit la grammaire G dont les règles de productions sont :


S ⟶ A │x b ; A ⟶ a A b│ B ; B⟶x

1. Partant de la grammaire augmentée, determiner les items


2. Décrire et construire l’automate fini déterministe associé
3. Cette grammaire est-elle dite LR(0) (vérifier si possible par la table d’analyse) ?
4. Analyser en utilisant une pile et un ruban d’entrée le mot : a x b b

Exercice IIX : Connaissance générale

1. L’automate fini déterministe peut reconnaitre le mot 6. ((0+1)(0+1))∗ est l’ensemble de mots sur
vide l’alphabet de longueur pair.
a. Vrai a. Vrai
b. Faux b. Faux
2. La transition de lecture est la seule transition des 7. Les transitions de réduction peuvent être de
items qui ne soit pas une ϵ-transition la forme
a. Vrai S ⟶ α . Y β où Y⟶ c
b. Faux a. Vrai
b. Faux
3. Si G est la grammaire définie par : S ⟶ A │x b ; 8. Deux automates finis minimaux sont
A ⟶ a A b│B ; B ⟶ x Alors First (S) = First (A) identiques lorsqu’ils reconnaissent les mots
et Follow (S) 𝐶 Follow (B) d’un même langage.
a. Vrai a. Oui
b. Faux b. Non
∗ ∗ ∗
4. Soit ER = ((011 + 11) (00) ) , le mot 000111100 9. L’outil JFAP permet de construire les
appartient au langage décrit par ER. automates à états finis
a. Oui a. Vrai
b. Non b. Faux
5. ((0+1)(0+1)) est l’ensemble de mots sur l’alphabet 10. Une grammaire est dite LL(2) si sa table

contenant un nombre pair de 1et de 0. d’analyse prédictive ne comporte que deux


a. Vrai règles de production associées
b. Faux a. Vrai
b. Faux

Vous aimerez peut-être aussi