• Aucun résultat trouvé

sujet-2

N/A
N/A
Protected

Academic year: 2022

Partager "sujet-2"

Copied!
2
0
0

Texte intégral

(1)

Théorie des Langages et Compilation

L3 Sciences Pour Ingénieur 25 juin 2014

Le sujet est composé de quatre exercices indépendants. Aucun document n’est autorisé. Durée de l’épreuve : 0x78 minutes. La présentation de la copie entre en compte dans la note finale.

1 Expression régulière

Le programmeregex.cci-dessous est compilé en une commanderegex.exe.

1 #i n c l u d e <r e g e x . h>

2 #i n c l u d e < s t d l i b . h>

3 #i n c l u d e < s t d i o . h>

4 i n t main ( i n t a r g c , c h a r ∗∗a r g v ) 5 { r e g e x _ t r e g e x ;

6 i f ( a r g c < 2 ) r e t u r n 1 ; 7 a r g v ++;

8 i f ( regcomp(& r e g e x , ∗argv , REG_EXTENDED) != 0 )

9 r e t u r n 2 ;

10 w h i l e ( ∗ ++a r g v != NULL )

11 i f ( 0 == r e g e x e c (& r e g e x , ∗argv , 0 , NULL, 0 ) ) 12 p u t s (∗a r g v ) ;

13 r e g f r e e (& r e g e x ) ;

14 r e t u r n 0 ;

15 }

1. Commenter avec soin les lignes 8,11, 13 du code deregex.c.

2. Quel est le résultat de./regex.exe ’1{2}1’ 1 11 21 1211 111221 312211?

2 Théorie des langages

A:={a, b}. On considère le langageX des mots deA qui contiennent autant deaque deb.

On rappelle que le résiduel deuA estu−1X ={y∈A|uyX}.

1. SoitxX. Quel est le résiduel dex? 2. Soitnun entier. Quel est le résiduel de an? 3. Montrer que le langage n’est pas régulier.

4. Montrer que sixest non vide dans X alorsx=aubv oux=buav avecuet vdansX. 5. Montrer le langage est algébrique.

1

(2)

3 Automate

Conformément à l’usage, un mot binairexde{0,1}+ représente un nombre entier en base 2.

Par exemple, 0001 représente 1, 101 représente 5 etc. . . Par convention, le mot vide représente 0.

1. Donner un automate pour reconnaître les mots binaires représentant des multiples de 5.

2. L’automate obtenu est-il déterministe ? minimal ?

3. D’aprés l’automate, quels mots de 1 représentent des multiples de 5 ?

4. Interpréter le résultat à l’aide de sommes géométriques de raison 2 et du petit théorème de Fermat !

4 flex-bison

On considère le langage des expressions rationnelles sur l’alphabet {a, b}. On représente les opérations union, produit et étoile par les symboles usuels de la théorie des langages : (, ), +,.,

∗. Par exemble, le langage contient les mots :a, a+b,a+b.a, (a+b). . . Mais pas le motab.

L’objectif de l’exercice est de modifier la source bisonci-dessous pour réaliser un analyseur syntaxique qui imprime le numéro de la première ligne de l’entrée standard qui ne correspond pas à une expressions rationnelles. L’analyseur lexical sera écrit enflex.

1. Le langage est-il régulier ?

2. Ecrire une grammaire pour reconnaître ce langage.

3. Détailler les modifications.

4. Donner l’analayseur lexical.

1 %{

2 #i n c l u d e < s t d l i b . h>

3 #i n c l u d e < s t d i o . h>

4 #i n c l u d e <c t y p e . h>

5 i n t y y l e x ( v o i d ) , y y e r r o r ( c h a r ∗x ) ; 6 i n t l i n o = 1 ;

7 %}

8 %t o k e n − − −

9 %l e f t − − −

10 %l e f t − − −

11 %− − −

12 %%

13 LST : LST EXP NL − − −

14 | /∗ e p s i l o n ∗/

15 ;

16 EXP : − − −

17

18 %%

19 i n t main ( v o i d ) { 20 y y p a r s e ( ) ; r e t u r n 0 ;

21 }

22

23 i n t y y e r r o r ( c h a r∗x ) {

24 p r i n t f ("% s :%d\n " , x , l i n o ) ; r e t u r n 0 ;

25 }

2

Références

Documents relatifs

1) Écrire l'équation de la réaction qui se produit lors de la mise en solution dans l'eau. 2) Calculer les concentrations molaires dans la solution de l'ion oxonium, de l'ion

Le motif pied-de-coq est représenté par le polygone ci-dessous à droite (figure 2) qui peut être réalisé à l’aide d’un quadrillage régulier.. Marie a ffi rme « si je divise par

La commande Nouveau du bouton office sert à ouvrir un classeur déjà existant

[r]

[r]

2) Trois couleurs différentes au choix pour chaque motif petit, moyen et grand. 3) La figure doit

- la pression disponible dans les bouteilles / canettes, - le volume dans l’espace de tête des bouteilles / canettes, - l’épaisseur des bouchons / métal des canettes.

• Quelle est la puissance électrique d'une cafetière branchée sous une tension de 230V efficace et traversée par un courant d'intensité