Limbaje Formale, Automate si Compilatoare

Documente similare
Logică și structuri discrete Limbaje regulate și automate Marius Minea marius/curs/lsd/ 24 noiembrie 2014

1

CAPITOLUL I

Curs7

Dorel LUCHIAN Gabriel POPA Adrian ZANOSCHI Gheorghe IUREA algebră geometrie clasa a VIII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA

E_d_Informatica_sp_MI_2015_bar_02_LRO

Performanta in matematica de gimnaziu si liceu-program de pregatire al elevilor olimpici MULTIMI. OPERATII CU MULTIMI Partea I+II Cls. a V-a

LOGICA MATEMATICA SI COMPUTATIONALA Sem. I,

Notiuni de algebra booleana

Microsoft Word - D_ MT1_II_001.doc

Limbaje de ordinul I LOGICA DE ORDINUL I Un limbaj L de ordinul I este format din: o mulţime numărabilă V = {v n n N} de variabile; conectorii şi ; pa

Facultatea de Matematică Anul II Master, Geometrie Algebrică Mulţimi algebrice ireductibile. Dimensiune 1 Mulţimi ireductibile Propoziţia 1.1. Fie X u

ExamView Pro - Untitled.tst

DAN LASCU ADRIANA-LIGIA SPORIŞ ANDA OLTEANU PAUL VASILIU MATEMATICĂ. CULEGERE DE PROBLEME TIP GRILĂ PENTRU ADMITEREA ÎN ACADEMIA NAVALĂ MIRCEA CEL BĂT

CLP_UTCN-grila-2012.dvi

E_d_Informatica_sp_SN_2014_bar_10_LRO

Analiză de flux de date 29 octombrie 2012

Gheorghe IUREA Adrian ZANOSCHI algebră geometrie clasa a VII-a ediţia a V-a, revizuită mate 2000 standard EDITURA PARALELA 45 Matematică. Clasa a VII-

Analiză statică Analiza fluxului de date 23 octombrie 2014

Analiz¼a Matematic¼a - Curs 6 M¼ad¼alina Roxana Buneci

15. Logică matematică cu aplicații în informatică - MI 3

I

Curs8

Elemente de aritmetica

Spatii vectoriale

MergedFile

Clasa IX 1. O lăcustă face salturi, fiecare salt în linie dreaptă şi de două ori mai lung ca precedentul. Poate vreodată lăcusta să revină în punctul

Logică și structuri discrete Mulțimi Casandra Holotescu

TEORIA MĂSURII Liviu C. Florescu Universitatea Al.I.Cuza, Facultatea de Matematică, Bd. Carol I, 11, R Iaşi, ROMANIA, e mail:

Microsoft Word - O problema cu bits.doc

D.Rusu, Teoria măsurii şi integrala Lebesgue 6 MĂSURA LEBESGUE Cursul 5 Teorema 6.26 Există submulţimi ale lui R care nu sunt măsurabile Lebesgue. Dem

CONCURSUL NAŢIONAL DE MATEMATICA PANAITOPOL EDIŢIA a X-a, TULCEA, 21 aprilie 2018 Clasa a VII - a 1. Se consideră numerele reale x, y şi z, cel puţin

Microsoft Word - Programa finala olimpiadei matematica 2007 gimnaziu.doc

Microsoft Word - cap1p4.doc

PowerPoint-Präsentation

0 Probleme pentru pregătirea examenului final la Analiză Matematică 1. Să se calculeze următoarele integrale improprii: dx a) x 4 ; b) x 3 dx dx

Colec ia MATE EDITURA PARALELA 45 Matematic. Clasa a VI-a 1

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Alexandru Ioan Cuza din Iaşi 1.2 Facultatea Facultatea de

COMENTARII FAZA JUDEŢEANĂ, 9 MARTIE 2013 Abstract. Personal comments on some of the problems presented at the District Round of the National Mathemati

Microsoft Word - a5+s1-5.doc

Cursul 7 Formula integrală a lui Cauchy Am demonstrat în cursul precedent că, dacă D C un domeniu simplu conex şi f : D C o funcţie olomorfă cu f cont

PowerPoint Presentation

Distanţa euclidiană (indusă de norma euclidiană) (în R k ). Introducem în continuare o altă aplicaţie, de această dată pe produsul cartezian R k XR k,

Subiectul 1

Microsoft Word - Tematica examen AII.doc

FIŞA DISCIPLINEI

SECURITATE ȘI CRIPTOGRAFIE

Şiruri de numere reale Facultatea de Hidrotehnică Universitatea Tehnică Gheorghe Asachi Iaşi, 2015 Analiză Matematică Lucian Maticiuc 1 / 29

Universitatea Politehnica din Bucureşti 2019 Disciplina: Geometrie şi Trigonometrie G1 * Varianta A 1. Ştiind cos x = 3 2, atunci sin2 x

1. a. Să se scrie un algoritm care să afişeze toate numerele de patru cifre care au cifra sutelor egală cu o valoare dată k, şi cifra zecilor cu 2 mai

Cursul 6 Cadru topologic pentru R n În continuarea precedentei părţi, din cursul 5, dedicată, în întregime, unor aspecte de ordin algebric (relative l

Calcul Numeric

1. Găsiți k numerele cele mai apropiate într-un şir nesortat Dându-se un şir nesortat și două numere x și k, găsiți k cele mai apropiate valori de x.

ALGORITMII ŞI REPREZENTAREA LOR Noţiunea de algoritm Noţiunea de algoritm este foarte veche. Ea a fost introdusă în secolele VIII-IX de către Abu Ja f

MD.09. Teoria stabilităţii 1

Slide 1

Slide 1

1. Operatii cu matrici 1 Cerinte: Sa se realizeze functii pentru operatii cu matrici patratice (de dimensiune maxima 10x10). Operatiile cerute sunt: A

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Babeş-Bolyai Cluj-Napoca 1.2 Facultatea Matematică şi Info

Prelegerea 3 Noţiuni de morfologie 3.1 Structura morfologică a cuvintelor Regulile de formare ale cuvintelor - care pornesc de la o anumită structură

Examenul de bacalaureat 2012

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ Universitatea Babeş-Bolyai Cluj-Napoca superior 1.2 Facultatea Facultatea de Mate

Microsoft Word - Planuri_Mate_

Microsoft Word - probleme_analiza_numerica_ses_ian09.rtf

OLM_2009_barem.pdf

Slide 1

Adresarea memoriei Modurile de adresare constituie un instrument principal pentru reprezentarea în memorie a imaginii datelor, aşa cum este ace

Cursul 12 (plan de curs) Integrale prime 1 Sisteme diferenţiale autonome. Spaţiul fazelor. Fie Ω R n o mulţime deschisă şi f : Ω R n R n o funcţie de

FIȘA DISCIPLINEI

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Alexandru Ioan Cuza din Iaşi 1.2 Facultatea Facultatea de

Cursul 8 Funcţii analitice Vom studia acum comportarea şirurilor şi seriilor de funcţii olomorfe, cu scopul de a dezvălui o proprietate esenţială a ac

C:/Users/Lenovo/Dropbox/activitate matematica/cursuri/MS ETTI /msetti.dvi

Aero-BCD, , Prof. L. Costache & M. Olteanu Notițe de Adrian Manea Seminar 5 Șiruri și serii de funcții. Serii de puteri 1 Șiruri de funcții D

MergedFile

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

Microsoft Word - 6 FD_Informatica SGBD II CIG 2017.doc

Prelegerea 4 În această prelegere vom învăţa despre: Algebre booleene; Funcţii booleene; Mintermi şi cuburi n - dimensionale. 4.1 Definirea algebrelor

matematica

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Babeş-Bolyai Cluj-Napoca 1.2 Facultatea Facultatea de Mate

CONCURSUL DE MATEMATICĂ APLICATĂ "ADOLF HAIMOVICI" ETAPA JUDEȚEANĂ 18 martie 2017 Filiera Tehnologică : profilul Tehnic Clasa a IX -a Problema 1. 2 Se

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

Microsoft Word - Curs1.docx

ANEXA nr

..MINISTERUL EDUCAŢIEI NAȚIONALE ŞI CERCETARII STIINTIFICE UNIVERSITATEA DE VEST DIN TIMIȘOARA.I CENTRUL DE DEZVOLTARE ACADEMICĂ. FIȘA DISCIPLINEI 1.

02. Analiza matematica 3 - MI 2

FIŞA DISCIPLINEI 1. Date despre program 1.1 Instituţia de învăţământ superior Universitatea Babeş-Bolyai Cluj-Napoca 1.2 Facultatea Facultatea de Mate

Subiecte_funar_2006.doc

1 Concursul de matematic¼a NICOLAE COCULESCU EDIŢIA a VIII-a SLATINA 29 noiembrie 2012 Clasa a III-a 1. Numere, numere. a) Cinci prieteni se î

PROBLEME PRIVIND INSTABILITATEA UNOR CALCULE ALE MECANISMELOR

Tiberiu Trif Analiză matematică 2 Calcul diferențial și integral în R n

Microsoft Word - Lab1a.doc

Calcul Numeric

FIŞA DISCIPLINEI

Algebra si Geometri pentru Computer Science

Microsoft Word - Curs_09.doc

Transcriere:

Limbaje Formale, Automate şi Compilatoare Curs 1 2018-19 LFAC (2018-19) Curs 1 1 / 45

Prezentare curs Limbaje Formale, Automate şi Compilatoare - Curs 1 1 Prezentare curs 2 Limbaje formale 3 Mecanisme de generare a limbajelor: gramatici 4 Ierarhia lui Chomsky 5 Limbaje şi gramatici de tip 3 (regulate) 6 Proprietăţi de închidere pentru familia de limbaje regulate LFAC (2018-19) Curs 1 2 / 45

Prezentare curs Limbaje Formale, Automate şi Compilatoare Titulari curs: O. Captarencu: otto@info.uaic.ro http://profs.info.uaic.ro/ otto/lfac.html A. Moruz:mmoruz@info.uaic.ro LFAC (2018-19) Curs 1 3 / 45

Prezentare curs Sistem evaluare 7 seminarii, 6 laboratoare; AS = activitatea la seminar (max 10 puncte); AL = activitatea la laborator (max 10 puncte); T1,T2 teste scrise în săptămânile 8, respectiv în sesiune; Punctajul final se obţine astfel: P = 3 * AS + 3 * AL + 2 * T1 + 2 * T2 Condiţii miminale de promovare: AS 5, AL 5, T 1 5, T 2 5; Punctaj minim pentru promovare: P 50; Nota finală se va stabili conform criteriilor ECTS; LFAC (2018-19) Curs 1 4 / 45

Prezentare curs Sistem evaluare AS = activitatea la seminar (max 10 puncte): două teste scrise AL = activitatea la laborator (max 10 puncte): 1 test laborator, 1 proiect (note de la 0 la 10) AL = media celor 2 note LFAC (2018-19) Curs 1 5 / 45

Prezentare curs Tematica cursului (partea I) LFAC (2018-19) Curs 1 6 / 45

Prezentare curs Tematica cursului (partea I) LFAC (2018-19) Curs 1 7 / 45

Prezentare curs Tematica cursului (partea I) Limbaje şi gramatici Limbaje regulate; gramatici, automate, expresii regulate Limbaje independente de context; gramatici, automate pushdown LFAC (2018-19) Curs 1 8 / 45

Prezentare curs Tematica cursului (partea II) Limbaje de programare: proiectare şi implementare Analiza lexicală Analiza sintactică Traducere în cod intermediar LFAC (2018-19) Curs 1 9 / 45

Prezentare curs Bibliografie (selecţii) 1 A. V. Aho, M. S. Lam, R. Sethi, J. D. Ullman: Compilers: Principles, Techniques, and Tools. Boston: Addison-Wesley, 2007 2 Gh. Grigoras. Constructia compilatoarelor - Algoritmi fundamentali, Ed. Universitatii Al. I. Cuza Iasi, ISBN 973-703-084-2, 274 pg., 2005 3 Hopcroft, John E.; Motwani, Rajeev; Ullman, Jeffrey D. (2006). Introduction to Automata Theory, Languages, and Computation (3rd ed.). Addison-Wesley 4 J. Toader - Limbaje formale şi automate, Editura Matrix Rom, Bucuresti, 1999. 5 J. Toader, S. Andrei - Limbaje formale şi teoria automatelor. Teorie şi practică, Editura Universitatii Al. I. Cuza, Iasi, 2002. LFAC (2018-19) Curs 1 10 / 45

Limbaje formale Limbaje Formale, Automate şi Compilatoare - Curs 1 1 Prezentare curs 2 Limbaje formale 3 Mecanisme de generare a limbajelor: gramatici 4 Ierarhia lui Chomsky 5 Limbaje şi gramatici de tip 3 (regulate) 6 Proprietăţi de închidere pentru familia de limbaje regulate LFAC (2018-19) Curs 1 11 / 45

Limbaje formale Alfabet, cuvânt, multţime de cuvinte Alfabet: V o mulţime finită (elementele lui V = simboluri ) LFAC (2018-19) Curs 1 12 / 45

Limbaje formale Alfabet, cuvânt, multţime de cuvinte Alfabet: V o mulţime finită (elementele lui V = simboluri ) Cuvânt: şir finit de simboluri cuvântul nul este notat cu ǫ sau λ. LFAC (2018-19) Curs 1 12 / 45

Limbaje formale Alfabet, cuvânt, multţime de cuvinte Alfabet: V o mulţime finită (elementele lui V = simboluri ) Cuvânt: şir finit de simboluri cuvântul nul este notat cu ǫ sau λ. Lungimea unui cuvânt u: numarul simbolurilor sale. Notaţie: u. ǫ = 0 LFAC (2018-19) Curs 1 12 / 45

Limbaje formale Alfabet, cuvânt, multţime de cuvinte Alfabet: V o mulţime finită (elementele lui V = simboluri ) Cuvânt: şir finit de simboluri cuvântul nul este notat cu ǫ sau λ. Lungimea unui cuvânt u: numarul simbolurilor sale. Notaţie: u. ǫ = 0 V - multimea tuturor cuvintelor peste alfabetul V, inclusiv ǫ. {0, 1} = {ǫ, 0, 1, 00, 01, 10, 11, 000, 001,...} LFAC (2018-19) Curs 1 12 / 45

Limbaje formale Alfabet, cuvânt, multţime de cuvinte Alfabet: V o mulţime finită (elementele lui V = simboluri ) Cuvânt: şir finit de simboluri cuvântul nul este notat cu ǫ sau λ. Lungimea unui cuvânt u: numarul simbolurilor sale. Notaţie: u. ǫ = 0 V - multimea tuturor cuvintelor peste alfabetul V, inclusiv ǫ. {0, 1} = {ǫ, 0, 1, 00, 01, 10, 11, 000, 001,...} V + - multimea tuturor cuvintelor nenule peste alfabetul V {0, 1} + = {0, 1, 00, 01, 10, 11, 000, 001,...} LFAC (2018-19) Curs 1 12 / 45

Limbaje formale Operaţii pe cuvinte Concatenarea a doua cuvinte x, y: cuvântul x y obţinut din simbolurile lui x, în ordinea în care apar, urmate de cele ale lui y de asemenea în ordinea în care apar: x = 0100, y = 100, x y = 0100100 x = 000, y = ǫ, x y = 000 LFAC (2018-19) Curs 1 13 / 45

Limbaje formale Operaţii pe cuvinte Concatenarea a doua cuvinte x, y: cuvântul x y obţinut din simbolurile lui x, în ordinea în care apar, urmate de cele ale lui y de asemenea în ordinea în care apar: x = 0100, y = 100, x y = 0100100 x = 000, y = ǫ, x y = 000 Concatenarea este asociativă LFAC (2018-19) Curs 1 13 / 45

Limbaje formale Operaţii pe cuvinte Concatenarea a doua cuvinte x, y: cuvântul x y obţinut din simbolurile lui x, în ordinea în care apar, urmate de cele ale lui y de asemenea în ordinea în care apar: x = 0100, y = 100, x y = 0100100 x = 000, y = ǫ, x y = 000 Concatenarea este asociativă (V, ) este monoid (ǫ este element neutru), se numeşte monoidul liber generat de V. LFAC (2018-19) Curs 1 13 / 45

Limbaje formale Operaţii pe cuvinte Concatenarea a doua cuvinte x, y: cuvântul x y obţinut din simbolurile lui x, în ordinea în care apar, urmate de cele ale lui y de asemenea în ordinea în care apar: x = 0100, y = 100, x y = 0100100 x = 000, y = ǫ, x y = 000 Concatenarea este asociativă (V, ) este monoid (ǫ este element neutru), se numeşte monoidul liber generat de V. Cuvântul v este un prefix al cuvântului u dacă w V : u = vw; dacă w V +, atunci v este un prefix propriu al lui u. LFAC (2018-19) Curs 1 13 / 45

Limbaje formale Operaţii pe cuvinte Concatenarea a doua cuvinte x, y: cuvântul x y obţinut din simbolurile lui x, în ordinea în care apar, urmate de cele ale lui y de asemenea în ordinea în care apar: x = 0100, y = 100, x y = 0100100 x = 000, y = ǫ, x y = 000 Concatenarea este asociativă (V, ) este monoid (ǫ este element neutru), se numeşte monoidul liber generat de V. Cuvântul v este un prefix al cuvântului u dacă w V : u = vw; dacă w V +, atunci v este un prefix propriu al lui u. Cuvântul v este un sufix al cuvântului u dacă w V : u = wv; dacă w V +, atunci v este un sufix propriu al lui u. LFAC (2018-19) Curs 1 13 / 45

Limbaje formale Fie V un alfabet. O submulţime L V este un limbaj (formal) peste alfabetul V (sau V-limbaj) dacă L are o descriere (matematică) finită. O descriere poate fi: LFAC (2018-19) Curs 1 14 / 45

Limbaje formale Fie V un alfabet. O submulţime L V este un limbaj (formal) peste alfabetul V (sau V-limbaj) dacă L are o descriere (matematică) finită. O descriere poate fi: neformală (în limbaj natural): multimea cuvintelor peste alfabetul {0, 1} care contin un numar par de 0. L = {x V + : x este par}. {a n b n n N}. {w {0, 1} w se termina in 00}. LFAC (2018-19) Curs 1 14 / 45

Limbaje formale Fie V un alfabet. O submulţime L V este un limbaj (formal) peste alfabetul V (sau V-limbaj) dacă L are o descriere (matematică) finită. O descriere poate fi: neformală (în limbaj natural): multimea cuvintelor peste alfabetul {0, 1} care contin un numar par de 0. L = {x V + : x este par}. {a n b n n N}. {w {0, 1} w se termina in 00}. formală (descriere matematică): o descriere inductivă a cuvintelor o descriere generativă a cuvintelor (gramatică generativă) o descriere a unei metode de recunoaştere a cuvintelor din limbaj (automat finit, automat pushdown, etc.) LFAC (2018-19) Curs 1 14 / 45

Limbaje formale Operaţii cu limbaje Operatiile cu multimi (reuniune, intersectie etc) Produs de limbaje: L 1 L 2 = {u v u L 1, v L 2 } Exemplu: L 1 = {a n, n 1}, L 2 = {b n, n 1} L 1 L 2 = {a n b m, n 1, m 1} Iteraţia (produsul Kleene): L = n 0 Ln, unde: L 0 = {ǫ} L n+1 = L n L Exemplu: L = {a}, L 0 = {ǫ}, L 1 = L, L 2 = {aa},...,l n = {a n } L = {a n, n 0} LFAC (2018-19) Curs 1 15 / 45

Mecanisme de generare a limbajelor: gramatici Limbaje Formale, Automate şi Compilatoare - Curs 1 1 Prezentare curs 2 Limbaje formale 3 Mecanisme de generare a limbajelor: gramatici 4 Ierarhia lui Chomsky 5 Limbaje şi gramatici de tip 3 (regulate) 6 Proprietăţi de închidere pentru familia de limbaje regulate LFAC (2018-19) Curs 1 16 / 45

Mecanisme de generare a limbajelor: gramatici Gramatici Definiţie 1 O gramatica este un sistem G = (N, T, S, P), unde: N şi T sunt două alfabete disjuncte: N este multimea neterminalilor T este multimea terminalilor S N este simbolul de start (neterminalul iniţial) P este o multime finita de reguli (producţii) de forma x y, unde x, y (N T) şi x conţine cel puţin un neterminal. LFAC (2018-19) Curs 1 17 / 45

Mecanisme de generare a limbajelor: gramatici Derivare Definiţie 2 Fie G = (N, T, S, P) o gramatica şi u, v (N T). Spunem că v este derivat direct (într-un pas) de la u prin aplicarea regulii x y, şi notăm u v, dacă p, q (N T) astfel încât u = pxq şi v = pyq. LFAC (2018-19) Curs 1 18 / 45

Mecanisme de generare a limbajelor: gramatici Derivare Definiţie 2 Fie G = (N, T, S, P) o gramatica şi u, v (N T). Spunem că v este derivat direct (într-un pas) de la u prin aplicarea regulii x y, şi notăm u v, dacă p, q (N T) astfel încât u = pxq şi v = pyq. Daca u 1 u 2... u n, n > 1, spunem ca u n este derivat din u 1 în G şi notam u1 + u n. LFAC (2018-19) Curs 1 18 / 45

Mecanisme de generare a limbajelor: gramatici Derivare Definiţie 2 Fie G = (N, T, S, P) o gramatica şi u, v (N T). Spunem că v este derivat direct (într-un pas) de la u prin aplicarea regulii x y, şi notăm u v, dacă p, q (N T) astfel încât u = pxq şi v = pyq. Daca u 1 u 2... u n, n > 1, spunem ca u n este derivat din u 1 în G şi notam u1 + u n. Scriem u v dacă u + v sau u = v. LFAC (2018-19) Curs 1 18 / 45

Mecanisme de generare a limbajelor: gramatici Limbaj generat Definiţie 3 Limbajul generat de gramatica G este: L(G) = {w T S + w} LFAC (2018-19) Curs 1 19 / 45

Mecanisme de generare a limbajelor: gramatici Limbaj generat Definiţie 3 Limbajul generat de gramatica G este: L(G) = {w T S + w} Definiţie 4 Două gramatici G 1 şi G 2 sunt echivalente dacă L(G 1 ) = L(G 2 ). LFAC (2018-19) Curs 1 19 / 45

Mecanisme de generare a limbajelor: gramatici Exemplu G = (N, T, S, P), N = {S, X, A}, T = {a, b}, P constă din: 1 S axb 2 ax aab 3 Xb ba 4 aa aa 5 A ǫ L(G) = {ab, abb, aabb} Gramatică echivalentă cu un singur neterminal? Ce limbaj generează gramatica dacă sunt eliminate utlimele două reguli? LFAC (2018-19) Curs 1 20 / 45

Mecanisme de generare a limbajelor: gramatici Exemplu L = {a n b n n 1} Definiţia inductivă: ab L Daca X L, atunci axb L Nici un alt cuvânt nu face parte din L LFAC (2018-19) Curs 1 21 / 45

Mecanisme de generare a limbajelor: gramatici Exemplu L = {a n b n n 1} Definiţia inductivă: ab L Daca X L, atunci axb L Nici un alt cuvânt nu face parte din L Definiţia generativă: G = ({X},{a, b}, X, P), unde P = {X axb, X ab} Derivarea cuvântului a 3 b 3 : X axb a(axb)b aa(ab)bb LFAC (2018-19) Curs 1 21 / 45

Mecanisme de generare a limbajelor: gramatici Exemplu L = {a n b n c n n 1} G = (N, T, S, P), N = {S, X}, T = {a, b, c}, P constă din: 1 S abc 2 S asxc 3 cx Xc 4 bx bb Derivarea cuvântului a 3 b 3 c 3 : S (2) asxc (2) aasxcxc (1) aaabcxcxc (3) aaabxccxc (4) aaabbccxc (3) aaabbcxcc (3) aaabbxccc (4) aaabbbccc = a 3 b 3 c 3 LFAC (2018-19) Curs 1 22 / 45

Ierarhia lui Chomsky Limbaje Formale, Automate şi Compilatoare - Curs 1 1 Prezentare curs 2 Limbaje formale 3 Mecanisme de generare a limbajelor: gramatici 4 Ierarhia lui Chomsky 5 Limbaje şi gramatici de tip 3 (regulate) 6 Proprietăţi de închidere pentru familia de limbaje regulate LFAC (2018-19) Curs 1 23 / 45

Ierarhia lui Chomsky Ierarhia lui Chomsky 1 Gramatici de tip 0 (generale) Nu exista restrictii asupra regulilor LFAC (2018-19) Curs 1 24 / 45

Ierarhia lui Chomsky Ierarhia lui Chomsky 1 Gramatici de tip 0 (generale) Nu exista restrictii asupra regulilor 2 Gramatici de tip 1 (dependente de context) reguli de forma pxq pyq unde x N, y ǫ, p, q (N T), S ǫ, caz în care S nu apare în dreapta regulilor LFAC (2018-19) Curs 1 24 / 45

Ierarhia lui Chomsky Ierarhia lui Chomsky 1 Gramatici de tip 0 (generale) Nu exista restrictii asupra regulilor 2 Gramatici de tip 1 (dependente de context) reguli de forma pxq pyq unde x N, y ǫ, p, q (N T), S ǫ, caz în care S nu apare în dreapta regulilor 3 Gramatici de tip 2 (independente de context) reguli de forma A y unde A N şi y (N T) LFAC (2018-19) Curs 1 24 / 45

Ierarhia lui Chomsky Ierarhia lui Chomsky 1 Gramatici de tip 0 (generale) Nu exista restrictii asupra regulilor 2 Gramatici de tip 1 (dependente de context) reguli de forma pxq pyq unde x N, y ǫ, p, q (N T), S ǫ, caz în care S nu apare în dreapta regulilor 3 Gramatici de tip 2 (independente de context) reguli de forma A y unde A N şi y (N T) 4 Gramatici de tip 3 (regulate) reguli A u sau A ub unde A, B N şi u T. LFAC (2018-19) Curs 1 24 / 45

Ierarhia lui Chomsky Exemple Tip 1: pxq pyq unde x N, y ǫ, p, q (N T), S ǫ G = (N, T, S, P), N = {S, A, B}, T = {a, b, c}, P: (1)S aaac (2)aAc aabbc (3)bB bbc (4)Bc Abc (5)A a Gramatica tip 1 G = (N, T, S, P), N = {S, X}, T = {a, b, c}, P: (1)S abc (2)S asxc (3)cX Xc (nu este regulă de tip 1!, gramatica va fi de tip 0) (4)bX bb LFAC (2018-19) Curs 1 25 / 45

Ierarhia lui Chomsky Exemple Tip 2: A y unde A N şi y (N T) Tip3: A u sau A ub unde A, B N şi u T. G: (1)x axb (2)x ǫ (Gramatică tip 2) G: (1)x ax (2)x bx (3)x ǫ (Gramatică tip 3) LFAC (2018-19) Curs 1 26 / 45

Ierarhia lui Chomsky Exemple Fie G = ({E},{a,+,,(,)}, E,{E a, E (E + E), E (E E)}). Ce tip are gramatica G? Construiti derivari din E pentru cuvintele (a+a) si ((a+a) a) Cuvantul (a+a a) poate fi derivat din E? Descrieti limbajul L(G) Fie G = ({A, B},{a, b}, A,{A aa, A B, B bb, B ǫ}) Ce tip are gramatica G? Descrieti limbajul L(G) LFAC (2018-19) Curs 1 27 / 45

Ierarhia lui Chomsky Clasificarea limbajelor Un limbaj L este de tipul j daca exista o gramatica G de tipul j astfel incat L(G) = L, unde j {0, 1, 2, 3}. Vom nota cu L j clasa limbajelor de tipul j, unde j {0, 1, 2, 3}. Are loc: L 3 L 2 L 1 L 0 Incluziunile sunt stricte: orice limbaj de tip j + 1 este si de tip j {0, 1, 2} exista limbaje de tip j care nu sunt de tip j + 1, j {0, 1, 2} LFAC (2018-19) Curs 1 28 / 45

Ierarhia lui Chomsky Proprietăţi Fiecare din familiile L j cu 0 j 3 contine toate limbajele finite Fiecare din familiile L j cu 0 j 3 este inchisa la operatia de reuniune: j : 0 j 3 L 1, L 2 L j = L 1 L 2 L j, LFAC (2018-19) Curs 1 29 / 45

Ierarhia lui Chomsky Notaţii alternative pentru gramatici de tip 2: BNF LFAC (2018-19) Curs 1 30 / 45

Ierarhia lui Chomsky gramatici DTD generează mulţimea documentelor XML cu o anumită structură (limbaj independent de context) LFAC (2018-19) Curs 1 31 / 45

Ierarhia lui Chomsky gramatici DTD Un cuvânt din limbajul generat de gramtica DTD: LFAC (2018-19) Curs 1 32 / 45

Ierarhia lui Chomsky XML Schema - rol similar gramaticilor DTD LFAC (2018-19) Curs 1 33 / 45

Limbaje şi gramatici de tip 3 (regulate) Limbaje Formale, Automate şi Compilatoare - Curs 1 1 Prezentare curs 2 Limbaje formale 3 Mecanisme de generare a limbajelor: gramatici 4 Ierarhia lui Chomsky 5 Limbaje şi gramatici de tip 3 (regulate) 6 Proprietăţi de închidere pentru familia de limbaje regulate LFAC (2018-19) Curs 1 34 / 45

Limbaje şi gramatici de tip 3 (regulate) Gramatici de tip 3 O gramatică G = (N, T, S, P) este de tip 3 dacă regulile sale au forma: A u sau A ub unde A, B N şi u T. Exemplu: G = ({D},{0, 1,..., 9}, D, P) Unde P este: D 0D 1D 2D... 9D D 0 1... 9 LFAC (2018-19) Curs 1 35 / 45

Limbaje şi gramatici de tip 3 (regulate) Exemple Fie gramatica G = ({A, B},{l, d}, A, P) unde P este: A lb, B lb db ǫ (l = litera, d = cifra) LFAC (2018-19) Curs 1 36 / 45

Limbaje şi gramatici de tip 3 (regulate) Exemple Fie gramatica G = ({A, B},{l, d}, A, P) unde P este: A lb, B lb db ǫ (l = litera, d = cifra) L(G): multimea identificatorilor Fie gramatica G = ({A, B},{+,, d}, A, P) unde P este: A +db db db, B db ǫ (d = cifra) LFAC (2018-19) Curs 1 36 / 45

Limbaje şi gramatici de tip 3 (regulate) Exemple Fie gramatica G = ({A, B},{l, d}, A, P) unde P este: A lb, B lb db ǫ (l = litera, d = cifra) L(G): multimea identificatorilor Fie gramatica G = ({A, B},{+,, d}, A, P) unde P este: A +db db db, B db ǫ (d = cifra) L(G): multimea constantelor intregi LFAC (2018-19) Curs 1 36 / 45

Limbaje şi gramatici de tip 3 (regulate) Forma normală O gramatică de tip 3 este in formă normală daca regulile sale sunt de forma A a sau A ab, unde a T, si, eventual S ǫ ( caz in care S nu apare in dreapta regulilor). Pentru orice gramatica de tip 3 exista o gramatica echivalenta in forma normala. LFAC (2018-19) Curs 1 37 / 45

Limbaje şi gramatici de tip 3 (regulate) Forma normală Obtinerea gramaticii in forma normala echivalenta cu o gramatica de tip 3: Se poate arata ca pot fi eliminate regulile de forma A B (redenumiri) si cele de forma A ǫ (reguli de stergere), cu exceptia, eventual a regulii S ǫ. Orice regula de forma A a 1 a 2...a n se inlocuieste cu A a 1 B 1, B 1 a 2 B 2,..., B n 2 a n 1 B n 1, B n 1 a n, n > 1, B 1,...,B n 1 fiind neterminali noi. Orice regula de forma A a 1 a 2...a n B se inlocuieste cu A a 1 B 1, B 1 a 2 B 2,..., B n 2 a n 1 B n 1, B n 1 a n B, n > 1, B 1,...,B n 1 fiind neterminali noi Transformarile care se fac nu modifica limbajul generat de gramatica LFAC (2018-19) Curs 1 38 / 45

Proprietăţi de închidere pentru familia de limbaje regulate Limbaje Formale, Automate şi Compilatoare - Curs 1 1 Prezentare curs 2 Limbaje formale 3 Mecanisme de generare a limbajelor: gramatici 4 Ierarhia lui Chomsky 5 Limbaje şi gramatici de tip 3 (regulate) 6 Proprietăţi de închidere pentru familia de limbaje regulate LFAC (2018-19) Curs 1 39 / 45

Proprietăţi de închidere pentru familia de limbaje regulate Fie L, L 1, L 2 limbaje de tip 3 (regulate). Atunci, urmatoarele limbaje sunt de asemenea de tip 3: L 1 L 2 L 1 L 2 L L 1 L 2 L 1 \ L 2 LFAC (2018-19) Curs 1 40 / 45