• Aucun résultat trouvé

Juin 2013 (2h)

N/A
N/A
Protected

Academic year: 2022

Partager "Juin 2013 (2h)"

Copied!
4
0
0

Texte intégral

(1)

Correction du Partiel THL T h eorie des ´ L angages

EPITA – Promo 2015 – Sans document ni machine Avec formulaire de QCM

Juin 2013 (2h)

Correction: Sujet et correction ont été écrits par Akim Demaille et Jonathan Fabrizio.

Barème: Se reporter à la feuille de calcul pour les coefficients des questions.

Répondre sur les formulaires de QCM ; aucune réponse manuscrite ne sera corrigée. Renseigner les champs d’identité. Sauf mention contraire, il y a exactement une et une seule réponse juste pour ces questions. Si plusieurs réponses sont valides, sélectionner la plus restrictive. Par exemple s’il est demandé si 0 est nul, non nul, positif, ou négatif, cocher nul qui est plus restrictif que positif et négatif, tous deux vrais.

1 Incontournables

Chaque erreur (ou non réponse) aux trois questions suivantes retire 1/6 de la note finale. Avoir tout faux divise donc la note par 2.

Q.1 Le langage vide est rationnel.

3 vrai 7 faux

Correction: Oui. Par définition.

Q.2 Tout sous-ensemble d’un langage rationnel est rationnel.

7 vrai 3 faux

Correction: Bien sûr que non. Tout langage (comme a

n

b

n

bien connu pour ne pas être rationnel) est partie de Σ

?

, qui est rationnel.

Q.3 Tout langage engendré par une grammaire linéaire à droite est reconnu par automate fini non-déterministe à transitions spontanées.

3 vrai 7 faux

Correction: Vrai. L’ensemble des grammaires linéaires (droite ou gauche) en- gendre strictement l’ensemble langages rationnels.

2 Contrôle

Une bonne réponse crédite, une réponse fausse pénalise, et pas de réponse donne 0.

Q.4 L’expression rationnelle a(ba)

?

(c

?

d

?

)

?

engendre le même langage que : 7 a(baba)

?

(c

?

d

?

)

?

3 (ab)

?

a(c + d)

?

7 a(ba)

?

(c

?

d

?

) 7 (a + b)

?

(c

?

d

?

)

?

7 (ab + ba)

?

(c

?

d

?

)

?

1

(2)

Juin 2013

THL – EPITA_ING1_2015_S1_THL EPITA_APP1_2015_S1_THL Rattrapage Q.5 L’expression rationnelle (a + b)(a + b)

?

(a

?

b

?

)

?

engendre le même langage que :

7 (a + b)(a + b)

?

(a + b) 7 (a

?

+ b

?

)(a + b)

?

(a

?

b

?

)

?

3 (b + a)

?

(a + b)b

?

7 (a + b)(a + b)

?

(a

?

b

?

)

?

+ 7 (a + b)

?

Q.6 Quel automate reconnaît le langage complémentaire du langage reconnu par l’automate suivant (sur l’alphabet Σ = { a, b } ) :

a a

b

7 a

a b

b a a,b

a,b

7 a

a b

7 a b

b a a,b

a,b

3 a

b

b

a

a,b

a,b

Correction: La bonne approche consiste à déterminiser l’automate, puis à le com- pléter, et enfin à le complémenter. Avec une disposition des états plus naturelle, on obtient :

0 1, 2 2

P a

b

b

a a,b a,b

Q.7 Quelle est la classe du langage engendré par la grammaire suivante ? S → AB ; AB → aABb | ab

7 Choix finis 7 Rationnelle

3 Hors contexte 7 Sensible au contexte

7 Monotone Q.8 Quelle est la classe de la grammaire suivante ?

A → aHc ; aHc → aSc ; aSc → aSb ; S → ab 7 Choix finis

7 Rationnelle

7 Hors contexte 7 Sensible au contexte

3 Monotone Q.9 Si le parseur LALR(1) associé à une grammaire G présente des conflits

7 G est une grammaire ambiguë ;

7 Il peut exister un parseur LR(0) pour cette grammaire ; 7 Il peut exister un parseur LLR(1) pour cette grammaire ;

2

(3)

Juin 2013

THL – EPITA_ING1_2015_S1_THL EPITA_APP1_2015_S1_THL Rattrapage 3 Il peut exister un parseur LR(1) pour cette grammaire ;

7 Il peut exister un parseur SLR(1) pour cette grammaire.

Q.10 Un parseur LL(k)

7 gère les récurrences gauche et droite mais est plus performant sur les récurrences gauches 7 gère les récurrences gauche et droite mais est plus performant sur les récurrences droites 7 gère uniquement les récurrences gauches

3 gère uniquement les récurrences droites 7 ne gère aucune récurrence

3 Expressions rationnelles

Essayons de trouver une grammaire G afin de pouvoir interpréter une expression rationnelle entrée au clavier par un utilisateur.

Nous proposons dans un premier temps la grammaire suivante : E → E.E | E + E | E ∗ | a | b | c | ... | z

L’alphabet des éléments non terminaux étant { E } et l’alphabet des éléments terminaux est { ., +, ∗ , a, ..., z } . Le symbole + désigne l’union, le point désigne la concaténation et l’étoile désigne l’étoile de Kleene.

Q.11 Cette grammaire est-elle ambiguë ?

3 Oui 7 Non

Q.12 Quel est le type de Chomsky de cette grammaire ?

7 type 1 3 type 2 7 type 3 7 type 4

Q.13 Quel est le type de Chomsky du langage qu’elle engendre ?

7 type 1 7 type 2 3 type 3 7 type 4

Q.14 Nous souhaitons corriger cette grammaire afin qu’elle respecte les priorités usuelles des opérateurs. Parallèlement nous souhaitons obtenir une associativité gauche. Pour cela nous pouvons réécrire cette grammaire de la façon suivante :

7

E → E ∗ | F F → F .G | G G → G + H | H H → a | b | c | ... | z 3

E → E + F | F F → F .G | G G → G ∗ | H

H → a | b | c | ... | z 7

E → F + E | F F → G.F | G G → H ∗ | H

H → a | b | c | ... | z 7

E → E + F | F F → F.G | G G → H ∗ | H

H → a | b | c | ... | z 7

E → E ∗ | F F → G.F | G G → H + F | H H → a | b | c | ... | z

Q.15 La grammaire corrigée ne présente pas d’ambiguïté. Elle peut donc être reconnue par un parseur LL(k).

7 vrai 3 faux

Q.16 En bison, nous aurions pu obtenir le même résultat sans changer la grammaire mais en la décorant. Pour cela nous aurions ajouté les directives :

7 %right "."

%right "+"

%right "*"

7 %left "."

%left "+"

%left "*"

7 %left "*"

%left "."

%left "+"

3 %left "+"

%left "."

%left "*"

7 %right "+"

%right "."

%right "*"

3

(4)

Juin 2013

THL – EPITA_ING1_2015_S1_THL EPITA_APP1_2015_S1_THL Rattrapage Q.17 On souhaite gérer les parenthèses dans nos expressions. Quelle règle ajouter à notre gram-

maire corrigée (Q.14) ?

7 E → (E) 7 E → (H) 7 E → (F) 7 H → (H) 3 H → (E) Q.18 Quel est le type de Chomsky de la grammaire obtenue en Q.17 ?

7 type 1 3 type 2 7 type 3 7 type 4

Q.19 Quel est le type de Chomsky du langage engendré par la grammaire obtenue en Q.17 ? 7 sensible au contexte

3 hors contexte

7 rationnel 7 fini

Q.20 A l’aide de ma grammaire ainsi obtenue Q.17, je peux donc “parser“ une expression ration- nelle entrée au clavier par un utilisateur avec :

3 un parseur LR(k) 7 un automate fini

4 À propos de ce cours

Nous nous engageons à ne pas tenir compte des renseignements ci-dessous pour noter votre copie. Ils ne sont pas anonymes, car nous sommes curieux de confronter vos réponses à votre note. En échange, quelques points seront attribués pour avoir répondu. Merci d’avance.

Répondez sur les formulaires de QCM qui vous sont remis. Vous pouvez cocher plusieurs réponses par question.

Q.21 Prises de notes a. Aucune b. Sur papier

c. Sur ordinateur à clavier d. Sur ardoise

e. Sur le journal du jour Q.22 Travail personnel

a. Rien

b. Bachotage récent

c. Relu les notes entre chaque cours

d. Fait les annales e. Lu d’autres sources Q.23 Ce cours

a. Est incompréhensible et j’ai rapidement abandonné

b. Est difficile à suivre mais j’essaie

c. Est facile à suivre une fois qu’on a compris le truc

d. Est trop élémentaire Q.24 Ce cours

a. Ne m’a donné aucune satisfaction b. N’a aucun intérêt dans ma formation

c. Est une agréable curiosité

d. Est nécessaire mais pas intéressant e. Je le recommande

Q.25 L’enseignant

a. N’est pas pédagogue

b. Parle à des étudiants qui sont au dessus de mon niveau

c. Me parle

d. Se répète vraiment trop

e. Se contente de trop simple et devrait pous- ser le niveau vers le haut

4

Références

Documents relatifs

En supposant que π est rationnel, on a donc démontré d’une part que I n est une suite de nombres réels strictement positifs convergeant vers zéro et d’autre part que tous les I

Voir tous les bons manuels d’analyse (question posée aussi dans un autre

dont il s’agit de considérer la forme développée (lien entre coefficients et racines …).. Il s’agit de déterminer ce

On trouve dans le premier livre de Y Arithmétique de Dioph aille quelques énoncés de problèmes susceptibles d'une grande extension et qui, modifiés légèrement, con- duisent à

Exercice 5.37: Oui puisqu’en substituant, on obtient une inégalité vraie. Exercice 5.38: Non puisqu’en substituant, on obtient une

Face à des c ontingen- ces diverse s avec lesquelles nous devons ca11pter , nous ne pouvons que rareme nt avplique r in- tégralement les techniques Freinet.. Enfin,

Comme plat principal, elle peut choisir entre des pâtes, un steak, ou une salade composée.. Comme dessert, elle peut choisir entre un yaourt ou

Avec l’offre Elec’Car, vous bénéficiez d’heures creuses à un prix du kWh HTT réduit de 50 % par rapport aux heures pleines de cette même offre, sur la recharge de la batterie