ExamenCorrection Examen TLA _05_2019

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 2

EXAMEN

Semestre : 1 2
Session : Principale Rattrapage

Module : Théorie des langages


Enseignant(s) : Equipe TLA
Classe(s) : 3A1..3A13-4INFOB
Documents autorisés : OUI NON Nombre de pages : 2
Calculatrice autorisée : OUI NON Internet autorisée : OUI NON
Date : 20/05/2019 Heure 14h30......... Durée :1h30.............

Exercice 1 Grammaires et automates à pile (5 pts)

Considérons le langage L = {𝑤 ∈ {𝑥, 𝑦, 𝑧}∗ |𝑤 = 𝑥 3𝑛 𝑦 𝑚 𝑧 𝑛+2𝑚 , 𝑎𝑣𝑒𝑐 𝑛 > 0 ; 𝑚 > 0}

1. Donner une grammaire permettant d’engendrer le langage L. (1,5 pt)


2. Déterminer le type de cette grammaire. (0,5 pt)
3. Donner l’arbre de dérivation du mot w =xxxyyzzzzz. (0,5 pt)
4. Construire un automate à pile permettant de reconnaître le langage L. (2,5 pts)

Exercice 2 Analyse lexicale (4 pts)

On veut concevoir un analyseur lexical qui vérifie si des chaines saisies peuvent correspondre
à une adresse mail esprit un identifiant ou un nombre.

Une adresse mail esprit a la forme suivante : identifiant @esprit.tn

Un identifiant : est une suite de lettres et de chiffres qui ne peut pas commencer par un chiffre.

Un nombre : est une suite de chiffres.

L'analyseur lexical doit pouvoir reconnaitre les 3 modèles suivant : nombre, identifiant et
adresse mail esprit.

1. Compléter le fichier Flex suivant permettant de retourner sur la console, à chaque


identification d’un lexème, la chaine reconnue ainsi que sa description. (2 pts)

1
%%
……………………………………………………………………
……………………………………………………………………
……………………………………………………………………
%%
int yywrap(){return 1;}
main()
{
yylex();
}

2. Donner la suite des lexèmes reconnus au cours du traitement de la chaîne


[email protected] ainsi que les modèles correspondants. (1 pt)
3. Donner la suite des lexèmes reconnus au cours du traitement de la chaîne
[email protected] ainsi que les modèles correspondants. (1 pt)

Exercice 3 Elimination de la récursivité à gauche et factorisation (3 pts)

Soit la grammaire 𝐺(𝑉𝑛 , 𝑉𝑡 , 𝐴, 𝑅) avec 𝑉𝑛 = {𝑆, 𝐿}, 𝑉𝑡 = {𝑎, 𝑏, 𝑐, 𝑑} et R défini par :

S → Sa | bL | Sbc

L → ScL | Sd | a | aL

1. Donner la grammaire G’ obtenue en éliminant la récursivité gauche de G. (1,5 pt)


2. Donner la grammaire G’’ obtenue en factorisant G’. (1,5 pt)

Exercice 4 Analyse syntaxique (8 pts)

Soit la grammaire 𝐺(𝑉𝑛 , 𝑉𝑡 , 𝑋, 𝑅), avec VN={ X , Z, Z ' , S, T, P}, VT = { ( , ), =, char, int, float,
id, ;} X est l’axiome et R défini par :
𝑋 → (𝑍)
𝑍 → (𝑍)𝑍 ′ | 𝑍 ′
𝑍 ′ → 𝑆𝑍 ′ | 𝑇𝑍 ′ | 𝜀
𝑆 → 𝑐ℎ𝑎𝑟 𝑃; | 𝑖𝑛𝑡𝑃; | 𝑓𝑙𝑜𝑎𝑡𝑇;
𝑇 → 𝑃 = 𝑃;
𝑃 → 𝑖𝑑

1. Calculer les ensembles des premiers et des suivants. (3 pts)


2. Dresser la table d'analyse de cette grammaire. (2 pts)
3. Donner la trace d'analyse du mot m: ((char id;)float id=id;;) (2 pts)
4. Donner la dérivation à gauche et l'arbre syntaxique de m. (1 pt)

Bon Travail

Vous aimerez peut-être aussi