Sie sind auf Seite 1von 3

NOM : PRENOM : Groupe :

EMSI
Compilation
R. Oulad Haj Thami
2008/2009

Durée: 1H30mn
Documents non autorisés

Exercice 1 :
Soit la grammaire suivante G(Vt,Vn,P,S). Avec Vt={a,b}, Vn={S, B}, P={SbB|aSb, BbB|ε } et
S l’axiome.

1.1. Dites, en barrant la mauvaise réponse, si les mots suivants sont générés par cette
grammaire :
bbb oui non
aaa oui non
aaaabbb oui non
aaabbb oui non
1.2. Donnez l’arbre de dérivation de aabbb selon cette grammaire.

1.3. Donnez le langage engendré par cette grammaire :


L(G)= {an bm ,n<m}
Exercice 2 :
Soit le langage L={bnancm, n≥0, m≥0}.
2.1. Donner une grammaire qui engendre ce langage

XAC
AaAb|ε
CcC|ε
2.2. Selon la grammaire trouvée dans 2.1. Donner l’arbre de dérivation du mot b3 a3 c2

1
NOM : PRENOM : Groupe :
Exercice 3
Soit la grammaire suivante G=(Vt, Vn, P, S) avec Vn={S, A, B}, Vt={a, b, e},
P={S → eC,C→cC| A|ε, A→aA|S| ε } et S l’axiome.
3.1. Est ce que le mot ecaae est généré par cette grammaire ? Prouvez !!!

OUI  Voir l’arbre

3.2. Est ce que le mot ecac est généré par cette grammaire ? Prouvez !!!.

NON  Voir l’arbre

3.3. Donner le langage généré par la grammaire G.

L(G)={ecnam ,a>=0,m>=0}
Exercice 4 :
On considère les déclarartions de tableau dans le langage PASCAL.
Exemple :

type t_tab= array[8] of integer ; tableau de 8 places indexées de 1 à 8


type t_tab= array [3 .. 5] of real ; tableau de 3 places indexées de 3 à 5
type t_tab= array [3,4,5,7] of char ; tableau de 4 places indexées par 3, 4, 5 et 7

type t_tab= array [3..6,11..21,23..25,26,28..31,34,36] of char ; même raisonnement !!!

Donnez une grammaire qui génère les déclarations de type tableau dans ce langage.

2
NOM : PRENOM : Groupe :
Exercice 5
On considère la clause select dans SQL.
Exemples :
SELECT nom1, nom2, nom3
FROM tab1, Tab2
WHERE at1=at2 and at3=at4 ;

d’une façon génériques, une clause SELECT est de la forme la plus simple suivante :
SELECT <attributs de projections>
FROM <liste des tables utilisées>
WHERE <conditions> ;

La condition étant décrite de la même manière que dans tous les langages de
programmations : une suite d’expressions booléennes connectées avec les opérateurs
logiques : and, or et not.
Les attributs de projections sont séparés par les ‘,’ ainsi que la liste des tables
invoquées.

Donnez une grammaire qui génère la clause SELECT.

Das könnte Ihnen auch gefallen