Sunteți pe pagina 1din 20

Notiuni de baza

• alfabet • multimi speciale


• secventa • proprietati *
– lungime • limbaj
– secv. vida – cuvant
• concatenare • tipuri de limbaje
– notatii • specificarea unui limbaj
• subsecventa • operatii cu limbaje
– prefix
– sufix

10/3/2022 LFTC - Dana Lupsa 1


Alfabet
• Def:
Alfabet = o multime finitã si nevidã de elemente
numite simboluri
• Notatie: 

10/3/2022 2
Secventa
Def.
• secventa peste 
o succesiune finita de simboluri din 
• subsecventa
o succesiune de simboluri consecutive dintr-o
secventa

10/3/2022 3
Lungimea unei secvente
• def:
nr. de simboluri din care este formata acea secventa
• notatie
|…|
Ex: |abc| = 3

• Secv. vida = secv. de lungime 0


• notatie: e (unele surse l)

10/3/2022 4
Concatenare
Dacã
x=a1a2…an
y=b1b2…bm
atunci z = a1…anb1…bm
reprezintã concatenarea secventelor x si y
si se noteaza z = xy
Notatii: aa…aa = an
(de n ori)

10/3/2022 Exemplu: a2 = aa 5
Secventa
Def.
• secventa peste 
o succesiune finita de simboluri din 
• subsecventa
o succesiune de simboluri consecutive dintr-o
secventa

w2 – subsecventa a lui w1
daca $ secventele u, v a.i. w1= u w2 v
10/3/2022 6
Prefix, sufix
Fie x, y, z sunt secvente peste alfabetul 
• x este un prefix al secventei xy
• y un sufix al secventei xy

• Prefix: o subsecventa care


– fie este vida
– fie incepe cu primul simbol al secventei date
• Sufix: o subsecventa care
– fie este vida
– fie se termina cu ultimul simbol al secventei date
10/3/2022 7
Multimi speciale
• n = {w | w – secventa peste , |w| = n}
• * = {w | w – secventa peste , 0 <= |w| }
• + = {w | w – secventa peste , 0 < |w| }

• * = + U {e}

10/3/2022 8
Operatia *
Denumiri:
• Operatia: *, steaua lui Kleene
• Inchiderea lui Kleene

* - inchiderea alfabetului
- multimea tuturor secventelor ce se pot obtine
folosind secvente din 

( Similar pentru limbaje)


10/3/2022 9
* - proprietati

•  w1, w2  * avem: w1w2  *


•  w1, w2 , w3  * avem: (w1w2) w3 = w1(w2w3)
•  w  * , ew = we = w

(*, . ) - monoid

10/3/2022 10
Limbaj, cuvant
• def: (limbaj)
L – limbaj peste alfabetul 
daca L  *

• def: (cuvant)
Cuvant al unui limbaj – un element al limbajului

10/3/2022 11
Metode de specificare a unui limbaj
• enumerand elementele
• evidentierea unor proprietati ale elementelor
– folosind multimi si descrieri matematice
–…
• folosind gramatici, automate, expresii regulare
• …

10/3/2022 12
Cateva tipuri de limbaje
• teoretice
L = {an | n  N} limbaj peste  = {a}
L = {anbn | n  N} limbaj peste  = {a,b}
• informatice
limbajul identificatorilor
 = {a, …, z, A, …, Z,_, 0,…,9}
L = {a’w’ | a’  {a,…,z, A, …, Z,_}, w’  *}
• matematice
ex: limbajul reprezentarii zecimale a numerelor naturale

10/3/2022 13
Operatii cu limbaje (1)
Fie: L1 – limbaj peste 1 L2 – limbaj peste 2
(operatii cu multimi)
• L1  L 2 limbaj peste  ales corespunzator;
de exemplu:  = 1  2
• L1 L 2 limbaj peste  ( = 1  2)
• L1 – L 2 limbaj peste  ( = 1 )
• L1 L 2 limbaj peste  ( = 1  2)
(operatii bazate pe concatenare)
• câtul la dreapta: L1 / L2 = { w *| $ y L2: wy L1}
• câtul la stânga: L1 \ L2 = { w *| $ y L2: yw L1}
10/3/2022 14
Operatii cu limbaje (2)
• L limbaj peste un alfabet 
• complementara:

• închiderea reflexivã si tranzitivã:

• închiderea tranzitivã:

10/3/2022 15
Gramatica independenta de context
O gramatica independenta de context este un cvadruplu
G = (N,  , P, S)
• N este un alfabet de simboluri neterminale
•  este un alfabet de simboluri terminale
• N=f
• P  N x (N   )*
P multime finitã (multimea regulilor de productie)
• S N (simbolul de start - simbolul initial)

Notatie:
(a , b ) P se noteaza: a  b
(a se înlocuieste cu b)

10/3/2022 LFTC - Dana Lupsa 16


Backus Naur Form

• primitive (terminale)
• variabile metalingvistice : intre paranteze unghiulare
• conective metalingvistice: ::= , |
prin definitie este sau

<intreg_fara_semn> ::= <cifra> |


<cifra> <intreg_fara_semn>
<cifra> ::= 0 | 1 | … | 9

10/3/2022 17
Extended Backus Naur Form

• primitive (terminale): intre “ghilimele”


• variabile metalingvistice
• conective metalingvistice: = , | ,
[ optional] , { de oricate ori}
• punctul este folosit ca sfarsit de regula

intreg_fara_semn = cifra { cifra } .


cifra = “0” | “1” | … | “9” .
10/3/2022 18
Operatii cu limbaje (1)
Fie: L1 – limbaj peste 1 L2 – limbaj peste 2
(operatii cu multimi)
• L1  L 2 limbaj peste  ales corespunzator;
de exemplu:  = 1  2
• L1 L 2 limbaj peste  ( = 1  2)
• L1 – L 2 limbaj peste  ( = 1 )
• L1 L 2 limbaj peste  ( = 1  2)
(operatii bazate pe concatenare)
• câtul la dreapta: L1 / L2 = { w *| $ y L2: wy L1}
• câtul la stanga:L1 \ L2 = { w *| $ y L2: yw L1}
10/3/2022 19
Operatii cu limbaje (2)
• L limbaj peste un alfabet 
• complementara:

• închiderea reflexivã si tranzitivã:

• închiderea tranzitivã:

10/3/2022 20

S-ar putea să vă placă și