Sunteți pe pagina 1din 4

Limbaje formale i automate Laborator 2 CLASIFICAREA GRAMATICILOR IERARHIZAREA CHOMSKY Gramaticile pot fi clasificate impunnd anumite restricii asupra

regulilor de generare. Ierarhizarea descris n cele ce urmeaz poart numele de Ierarhie Chomsky. Definiie Gramaticile de tip 0 - sunt gramaticile care nu au restricii asupra regulilor de generare; Gramaticile de tip 1 (gramatici dependente de context GDC) - sunt gramaticile ale caror reguli de generare au forma: unde forma derivare; Gramaticile de tip 2 (gramatici independente de context GIC) - sunt gramaticile ale cror reguli de generare sunt de forma: unde Gramaticile de tip 3 (gramatici regulate GR) - sunt gramaticile ale cror reguli de generare sunt de forma: sau unde ntre tipurile de gramatici de mai sus exist urmtoarea relaie de incluziune ierarhic numit Ierarhia Chomsky: caz n care ; i sau de nu apare n partea dreapt a vreunei reguli de

Dac G este o gramatic de tip i, cu i= de tip i, respectiv L(

, atunci L(G) se numete limbaj ) se numete limbaj 1

) se numete limbaj de tip 0, L(

Limbaje formale i automate dependent de context, L( se numete limbaj regulat. Relaia de incliuziune ierarhica Chomsky este valabil i pentru limbajele generate de gramaticile respective. L( Definiie Operaiile regulate asupra limbajelor sunt operaiile de reuniune, produs i nchidere de produs. CONVENII DE NOTAII n lipsa altei specificaii sunt valabile urmtoarele convenii de notare: - terminalele alfabetului vor fi notate cu litere mici, cu numere de la 0 la 9, cu simboluri specific ca +; ,; (; ); etc. - neterminalele sunt notate cu litere mari A,B,C i simbolul de start cu S; - secvenele de simboluri, adic cuvintele, se vor nota cu x,y,v , eventual cu indici; literele greceti, eventual insoite de indici, noteaz iruri de simboluri terminale i/sau neterminale; - irul vid se noteaz ntotdeauna cu sau ; - prima producie va avea simbolul de start pe partea stang, iar elementele mulimii { - dac A A , A } se vor numi simboluri gramaticale, deci cu alte cuvinte, ) L( ) L( ) L( ) ) se numeste limbaj independent de context, iar L( )

un simbol grammatical este un terminal sau un neterminal; , , , scriem pe scurt A | || deoarece sunt toate produciile cu

aceeai parte stng A. 2

Limbaje formale i automate Exemplu: Problema 1. Fie gramatica G = ( P = {S aSb | bSa | SS | } , , S, P) ce are produciile :

S se afle limbajul generat de aceasta gramatic. Rezolvare. Avem produciile: S S S S S S S S S S S S S aSb aSb aSb bSa bSa bSa SS SS bSa bSa SS ab = ab aSSb aSSb aaSbSb aaSbSb aabSb aabb = aabb = aSb ; S bSa ; S SS ; S

ba = ba bSSa bSSa aSbS aSbS baSba baSba aSbS bSa bbSaSa abSabS baba = babSaba abSabS abbaabS abbaab = a b bbSaa ababS abab = abab = bbaa = bbaa =

abbSaabS

L(G) este mulimea format dintr-un ir de a, b la aceeai putere n orice ordine doresc.

Limbaje formale i automate Exemplu: Problema 2. Fie gramatica G = ( P = {S ab | aCSb, C S | bSb, CS S se verifice dac cuvntul w = ab Rezolvare. Avem produciile: S ab ; S aCSb ; C = ababbabb S ; C bSb ; CS b , S, P) cu produciile: b} L(G)

w = ab

aCSb

abSbSb ababbSb ababbabb= ab

=w

TEM S se citeasc o gramatic independent de context sub form de ir de caractere. Citirea se face de la tastatur i din fiier. Se va construi un meniu corespunztor. Regulile de citire se afieaz naintea citirii i sunt urmtoarele: 1. 2. 3. 4. 5. 6. Primul simbol din prima produc ie reprezint axioma (simbolul de start); Simbolul de separare dintre producii este $; Simbolurile neterminale sunt scrise cu litere mari; Simbolurile terminale sunt scrise cu litere mici; Secvena vid va fi @; Simbolul care marcheaz sfritul gramaticii este &. Se cere afiarea mulimilor: Exemplu de ir: , , S, P. a

SAB$AaA$A@$Ba& S AB ; A aA ; A ; B ={ A,B} = {a,}

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