Sunteți pe pagina 1din 2

2.4.Expresii regulate S considerm urmtorul exemplu n care folosim operaiile cu limbaje definite n 1.3: Exemplul 2.4.

.1 Fie urmtoarele dou alfabete: L= !"#"$"%"a"b"$"&'" alfabetul literelor mari (i mici )= *"1"$"+'" alfabetul cifrelor din ba&a 1*. )u aceste alfabete" pe care le putem c,iar considera limbaje formate din cu-inte de lun.ime 1" putem construi numeroase alte limbaje" cum ar fi: L ) = mulimea literelor (i a cifrelor1 /a0 /b0 L) = mulimea cu-intelor de lun.ime 2" formate din o liter urmat de o cifr1 /c0 L3 = mulimea cu-intelor formate din exact patru litere1 /d0 L4 = mulimea cu-intelor formate din oric5te litere /inclusi- cu-5ntul -id01 /e0 L/ L ) 04 = mulimea cu-intelor de lun.ime cel puin 1" formate din litere (i cifre" primul caracter fiind obli.atoriu o liter1 /f0 )6 = mulimea (irurilor numerice formate din cel puin o cifr. 7odul de repre&entare al limbajelor de mai sus su.erea& un alt mod de descriere al limbajelor de tip 3 (i anume cu ajutorul expresiilor re.ulate. Definiia 2.4.1 Se nume(te expresie regulat o expresie care poate fi construit cu urmtoarele re.uli: este o expresie re.ulat indic5nd mulimea -id. 1. 2. 8 este o expresie re.ulat indic5nd limbajul format doar din cu-5ntul -id" 8'. 3. 9ac a ;: " atunci a este o expresie re.ulat indic5nd limbajul format dintr<un cu-5nt de lun.ime 1" construit cu simbolul a (i anume limbajul {a}. 3. 9ac e1 (i e2 sunt expresii re.ulate indic5nd limbajele L1 (i L2" atunci urmtoarele expresii sunt re.ulate: a0 Alternarea (e1)|(e2), indic5nd L1 L 2 1 b0 Concatenarea (e1)(e2), indic5nd L1 L 2 1 c0 nchi erea !leene (e1"), indic5nd L1 . Observaia 2.4.1 =arante&ele / 0 pot fi eliminate n urmtoarele ca&uri: / '0 = ' />0 = > // 00 = / 0 Observaia 2.4.2 a0 ?peraiile de alternare" >" concatenare" ." (i nc,idere" 4" au precedena descresc5nd de la cea mai mare " " la cea mai mic " > . b0 :oate operaiile sunt asociati#e iar alternarea este (i co$utati#. @xist un numr de re.uli al.ebrice pentru expresii re.ulate care pot fi folosite pentru a le transforma n alte expresii ec,i-alente" conform tabelului urmtor. %a&elul 2.'.1 Regul Descriere r>s=s>r !lternarea este comutati-

r>/s>t0=/r>s0>t !lternarea este asociati- /rs0t=r/st0 )oncatenarea este asociati- r/s>t0=/rs0>/rt0 )oncatenarea este distributi- la st5n.a /s>t0r=/sr0>/tr0 (i la dreapta fa de alternare 8r=r )u-5ntul -id este element neutru pentru concatenare r8=r r4=/r>804 r44=r4 Adempotena nc,iderii /produs Bleene0 ?peratorii folosii pentru scrierea expresiilor re.ulate sunt analo.i cu forma #CF de descriere a limbajelor /sunt simboluri ale metalimbajului0. Exemplul 2.4.2 @xemple de expresii re.ulate: a0 @xpresia 11( repre&int limbajul format dintr<un sin.ur cu-5nt {11(}. b0 @xpresia (|1 repre&int limbajul {(,1}. c0 @xpresia 1" repre&int limbajul {1i | i)(,1,2,*}. m n d0 a4b4 repre&int limbajul {a b m" n *} 1 m e0 /ab04 repre&int limbajul {/ab0 m *} 1 f0 /aa>ab>ba>bb04 repre&int mulimea (irurilor peste a"b' de lun.ime par. ;om defini n continuare egalitatea a dou expresii re.ulate. Definiia 2.4.3 9ou expresii re.ulate sunt egale /=0 sau echi#alente dac ele repre&int acela(i limbaj. Exemplul 2.4.4 ((" ) ((("|( /ele repre&int acela(i limbaj" al (irurilor peste alfabetul {(} formate din cel puin un simbol (0. Exemplul 2.4.5 @lementele unui limbaj de pro.ramare pot fi definite at5t n termenii .ramaticilor re.ulate c5t (i n cei ai expresiilor re.ulate. Spre exemplu" un i enti+icator format din litere $ici ,i ci+re" -ncep.n cu o liter" poate fi descris de .ramatica re.ulat ale crei re.uli sunt:

S a! > b! > c! > ... > &! > a > b > c > ... > & ! a! > b! > c! > ... > &! > *! > 1! > ... > +! > a > b > c > ... > & > * > 1 > ... > +
(i de expresia re.ulat: /a>b>c> . . . >&0 /a>b>c> . . . >&>*>1> . . . >+04 =utem folosi Dliter/ pentru a scurta repre&entarea lui a > b > c > ... > & (i Dci+r/ pentru * > 1 > ... > + " expresia put5nd fi scris n acest ca& astfel: DliterE/DliterE>Dci+rE4 .