• Aucun résultat trouvé

Correction du QCM Compilation : Langages et Grammaires

N/A
N/A
Protected

Academic year: 2022

Partager "Correction du QCM Compilation : Langages et Grammaires"

Copied!
2
0
0

Texte intégral

(1)

Correction du QCM Compilation : Langages et Grammaires

EPITA – Promo 2006 27 Novembre 2003

À quelle(s) classe(s) appartiennent chacune des grammaires suivantes ? (NB : si une grammaire est de typeAetA⊂B, cocherAetB).

a. Régulière b. Hors Contexte c. Non ambiguë

d. Engendre un langage rationnel e. Engendre un langage non vide 1. <args> ::= <args1> | ε

<args1> ::= <args1> ’,’ ’arg’

| ’arg’

Correction: Linéaire à gauche, donc régulière. Elle est non ambiguë.<args1>

engendre une liste de une ou plusieursargséparéspar des,. Donc, cette gram- maire engendre une liste de zéro ou plusieursargséparéspar des,. Ce langage est infini, régulier (puisqu’engendré par une grammaire régulière) : type 3. Il existe donc un automate, comme par exemple :

,----.

| |

‘----’

| ^

‘arg’ | | ‘,’

v | ,----. ‘arg’ ,----.

--->| |--->| |--->

‘----’ ‘----’

| v

2. <args> ::= <args1> | ε

<args1> ::= <args1> ’,’ <args1>

| ’arg’

Correction: Cette grammaire est très visiblement une version ambiguë de la grammaire précédente. On pourrait dire que dans la grammaire précédente l’opé- rateur,est associatif à gauche, ici il est associatif (i.e., à droite et à gauche) : une phrase comme arg , arg , argpeut se lire comme (arg , arg) , arg ouarg , (arg , arg). Le langage, lui, reste évidemment de type 3, et reconnu par le même automate.

3. A → a B B → A b | c

1

(2)

Correction: ancbn... Ç’aurait été étonnant qu’il ne nous la colle pas celle-là vu comme il est créatif... Pas régulière, hors-contexte, pas ambiguë, pas reconnais- sable (ce langage est l’archétype du non rationnel). Et oui : nonancbn n’est pas vide.

4. X → x X Y Z

X → X y Z

Z Y → Y Z y Y → y y y Z → y z z Z → z z

Correction: Cette grammaire est visiblement monotone, non hors contexte. On voit rapidement qu’il n’y a aucun moyen de se “débarrasser” deX: cette gram- maire ne produit aucun mot ! Elle ne peut donc être ambiguë, et le langage qu’elle engendre,∅, est bien sûr reconnaissable par un automate fini.

2

Références

Documents relatifs

× peut ne pas être inclus dans un langage défini par une grammaire. → est toujours inclus dans un langage rationnel Soit L r est un

Q.7 En soumettant à un automate de taille inconnue un nombre fini de mots de notre choix et en observant ses réponses, mais sans en regarder la structure (test boîte noire), on

Pour chacune des grammaires suivantes, préciser (i) son type dans la hiérarchie de Chomsky, (ii) si elle est ambiguë, (iii) le langage qu’elle engendre, (iv) le type du langage dans

Pour chacune des grammaires suivantes, préciser (i) son type dans la hiérarchie de Chomsky, (ii) si elle est ambiguë, (iii) le langage qu’elle engendre, (iv) le type du langage dans

Pour chacune des grammaires suivantes, préciser (i) son type dans la hiérarchie de Chomsky, (ii) si elle est ambiguë, (iii) le langage qu’elle engendre, (iv) le type du langage dans

– Cette grammaire ne peut pas être LL(1) car d’après le cours, toute grammaire LL(1) est non ambiguë, comme celle-ci est ambiguë, elle n’est pas LL(1).. – Elle est récursive

Lorsque l’on s’attaque à des problèmes sur des structures évoluées (telles que des arbres), on constate souvent que le code mélange à la fois le traitement proprement dit

On pourrait dire que dans la grammaire l’opérateur ; est associatif à gauche, ici il est associatif à droite et à gauche, i.e., une phrase comme inst ; inst ; inst peut se lire