TD Compilation Expressions régulières - LISICramat/downloads/td1-compilation.pdf · TD...

2
TD Compilation Expressions régulières Eric Ramat [email protected] 8 mai 2014 Durée : 2 heures 1 Travail Exercice 1. Soit Σ= {0, 1}, décrire les langages caractérisés par les expressions régulières suivantes et trouver une expression régulière plus simple quand c’est possible : L1 = 0(0 + 1) * 0 L2 = (( + 0)1 * ) * L3 = (0 + 1) * 0(0 + 1)(0 + 1) L4=0 * 10 * 10 * 10 * L5 = ((0 + 1)(0 + 1)(0 + 1)) * Les langages caractérisés par les expressions régulières suivantes sont-ils équivalents ? L = 1(011) * 01 et L = (101) + L = (01) + et L = (0101) * L = (01 + 10) * et L = ((0 + 1)(0 + 1)) * On démontrera les équivalences en développant des exemples. Exercice 2. Soit Σ= {a, b, c, d, e}, un alphabet. Donner des expressions régulières pour caractériser les langages suivants : — L1 est l’ensemble des mots sur Σ dont les lettres sont dans l’ordre alphabétique : aade, bcd, acccddde,... — L2 est l’ensemble des mots sur Σ dont les occurrences de a, b et c sont dans l’ordre alphabétique et où les lettres d et e peuvent s’insérer n’importe où : aedaebbbebdce,... — L3 est l’ensemble des mots sur Σ contenant au plus 4 lettres différentes : abcdaccb, aedee, bddcce, ... On ne cherchera pas obligatoirement l’expression la plus simple. Exercice 3. Donner des expressions régulières pour les langages suivants. a. Soit Σ= {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, +, -, *}, un alphabet. Le langage Polynome est l’ensemble des mots sur Σ représentant une expression polynômiale (non vide). Voici quelques exemples : 5x 3 - x + x 3 + 152 1

Transcript of TD Compilation Expressions régulières - LISICramat/downloads/td1-compilation.pdf · TD...

Page 1: TD Compilation Expressions régulières - LISICramat/downloads/td1-compilation.pdf · TD Compilation Expressions régulières Eric Ramat ramat@lisic.univ-littoral.fr 8 mai 2014 Durée:2heures

TD CompilationExpressions régulières

Eric [email protected]

8 mai 2014

Durée : 2 heures

1 TravailExercice 1.Soit Σ = {0, 1}, décrire les langages caractérisés par les expressions régulières suivantes et trouver

une expression régulière plus simple quand c’est possible :— L1 = 0(0 + 1)∗0— L2 = ((ε+ 0)1∗)∗— L3 = (0 + 1)∗0(0 + 1)(0 + 1)— L4 = 0∗10∗10∗10∗— L5 = ((0 + 1)(0 + 1)(0 + 1))∗Les langages caractérisés par les expressions régulières suivantes sont-ils équivalents ?— L = 1(011)∗01 et L′ = (101)+

— L = (01)+ et L′ = (0101)∗— L = (01 + 10)∗ et L′ = ((0 + 1)(0 + 1))∗On démontrera les équivalences en développant des exemples.

Exercice 2.Soit Σ = {a, b, c, d, e}, un alphabet. Donner des expressions régulières pour caractériser les langages

suivants :— L1 est l’ensemble des mots sur Σ dont les lettres sont dans l’ordre alphabétique : aade, bcd,

acccddde, . . .— L2 est l’ensemble des mots sur Σ dont les occurrences de a, b et c sont dans l’ordre alphabétique

et où les lettres d et e peuvent s’insérer n’importe où : aedaebbbebdce, . . .— L3 est l’ensemble des mots sur Σ contenant au plus 4 lettres différentes : abcdaccb, aedee, bddcce,

. . .On ne cherchera pas obligatoirement l’expression la plus simple.

Exercice 3.Donner des expressions régulières pour les langages suivants.a. Soit Σ = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9,+,−, ∗}, un alphabet. Le langage Polynome est l’ensemble des

mots sur Σ représentant une expression polynômiale (non vide). Voici quelques exemples :— 5x3 − x+ x3 + 152

1

Page 2: TD Compilation Expressions régulières - LISICramat/downloads/td1-compilation.pdf · TD Compilation Expressions régulières Eric Ramat ramat@lisic.univ-littoral.fr 8 mai 2014 Durée:2heures

— −32x2 + x− 12 + x5

— 3 + 5x− x2

b. Soit Σ = {a, b, ..., z, 0, 1, 2..., 9, ”, ∗, /}, un alphabet. Le langage COM est l’ensemble des mots surΣ caractérisant les commentaires en langage C : ce sont des mots délimités par /* et */, ne contenantpas de */ à moins que ceux-ci soient entre guillemets. Voici quelques exemples :

— /* programme principal */— /* Un Commentaire se termine par "...*/" */— /* et non par "....*/ .... */ " */

2