1 / 25

Teorija Formalnih Jezika

Teorija Formalnih Jezika. Danica Mili ć 164/07. Savremeni prevodioci i interpretatori programskih jezika zasnivaju se upravo na rezultatima teorije formalnih jezika. Opis formalnih jezika. Alfabet (azbuka, vokabular) je konačni skup znakova.

yagil
Download Presentation

Teorija Formalnih Jezika

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Teorija Formalnih Jezika Danica Milić 164/07

  2. Savremeni prevodioci i interpretatori programskih jezika zasnivaju se upravo na rezultatima teorije formalnih jezika.

  3. Opis formalnih jezika • Alfabet (azbuka, vokabular) je konačni skup znakova. • Reč (string, word) na nekom alfabetu je niz znakova tog alfabeta. • Reč je konačna ako je niz koji je predstavlja konačan, odnosno reč je beskonačna ako je niz beskonačan.

  4. Dužina reči je ukupan broj znakova koji čini reč. (Ako imamo neku reč z, njena dužina se označava kao |z|) • Prazna reč(označavamo je sa ε) je reč dužine nula.

  5. Ako su u i v dve reči na nekom alfabetu njihovim spajanjem (nadovezivanjem, konkatenacijom) dobijamo reč uv i važi da je |uv| = |u| + |v| • Reč u je podreč reči v ako postoje reči x i y takve da je v=xuy. Ako je x prazna reč i v=uy onda je uprefiksa ako je y prazna reč i v=xu onda je usufiks reci v.

  6. Oznake: • wº=ε • wn+1=wwn • w ˉ¹ - reč u kojoj je redosled znakova obrnut u odnosu na w. • A+-skup svih reči nad alfabetom A izuzev prazne reči ε • A* - skup svih reči uključujući i ε

  7. Jezik je bilo koji podskup skupa svih reči. • Ako je L jezik na alfabetu A, njegov komplement C(L) je skup A*\L tj skup svih reči alfabeta koje nisu u L.

  8. Nad jezicima nad istim alfabetom se primenjuju: • Unarna operacija zatvorenja (Klinijeva zvezdica) definisana sa L*={w: w=w1w2..wk za neko k≥0 wiЄ L, i = 1, k} gde je L neki jezik. • Binarna operacija spajanja definisana sa L1.L2={w: w=xy, xЄ L1, yЄ L2} • Unarna operacija komplementiranja jezika, binarne operacije unije, preseka itd..

  9. Predstavljanje jezika Vrši se: • Zadavanjem postupka koji generiše sve reči jezika u nekom redosledu, tako da se svaka reč pojavi kao izlaz nakon nekog konačnog broja koraka rada. • Zadavanjem postupka za prepoznavanje koji za svaku reč jezika dobija kao ulazni podatak odgovara sa ‘da’ ako pripada jeziku, dok za reči koje ne pripadaju jeziku odgovara sa ‘ne’ (ili se eventualno ne zaustavlja, zavisno da je skup reči odlučiv ili ne.)

  10. Sistemi za generisanje jezika su: gramatike, regularni izrazi itd. • Sistemi za prepoznavanje jezika obuhvataju apstraktne mašine, takozvane automate, koji se dobijaju raznim restrikcijama modela Tjuringove mašine. • Jezici za koje postoje postupci generisanja i/ili prepoznavanja su barem parcijalno odlučivi.

  11. Gramatike • Def: Gramatika je uređena četvorka G=<VN, VT, P, S> gde su: VN- skup neterminalnih znakova VT- skup terminalnih znakova P - skup pravila izvođenja S - početni simbol

  12. I važi da su: • VN, VT i P neprazni konačni skupovi • VN∩ VT=Ø • V=VN U VT • P je skup izraza oblika α→β, gde su αЄ V*.VN.V* IβЄ V* • S Є VN

  13. Ako su γ i δreči na alfabetu V i ako je α→βЄP, onda se reč γβδdirektno izvodi u gramatici G iz reči γαδ ( u oznaci γαδ→γβδ) • Ako su α1, α2... αnreči na alfabetu V za koje je α1→Gα2,..., αn-1→Gαnonda se kaže da se reč αn izvodi iz reči α1 (u oznaci α1→*Gαn) • Dužina izvođenja α1→*Gαn je broj primena pravila izvođenja

  14. Jezik L(G) generisan gramatikom G je skup {w: S →*Gw, w ЄVT*} Dve gramatike G1 I G2 su ekvivalentne ako je L(G1)=L(G2)

  15. Hijerarhija Čomskog • Gramatike tipa 0 (gramatike bez ograničenja) uključuju sve formalne gramatike. Generišu sve jezike koje može prepoznati Tjuringova mašina. • Gramatika tipa 1 (konteksno osetljive) ako važi da je svako pravilo izvođenja α→β i |β|≥|α|. Jezici koje gramatike ovog tipa opisuju su tačno svi jezici koje može prepoznati linearno ograničen automat (nedeterministička Tjuringova mašina čija je traka ograničena konstantom puta dužina ulaza.)

  16. Gramatika tipa 2 (konteksno slobodna) – ako za svako pravilo izvođenja α→βgramatike G i važi da je αneterminalni znak i da je βneprazna reč. Kontekstno slobodni jezici su teorijska baza zasintaksuvećineprogramskihjezika. • Gramatika tipa 3 (regularna) – ako su pravila izvođenja A →aB, odnosno A→a, gde su A, B ЄVN i aЄVT. Ovakve gramatike generišu regularne jezike.

  17. Jezici koji im odgovaraju nazivaju se: • Jezici tipa 0 ili parcijalno odlučivi jezici • Jezici tipa 1 ili konteksno osetljivi jezici • Jezici tipa 2 ili konteksno slobodni jezici • Jezici tipa 3 ili regularni jezici

  18. Primer: • G=<{A, B, S}, {0,1,..,9}, {S→0, S→1,…, S→9, S→AB, A→1,…, A→9, B →0, B→1,…, B→9, B →BB}, S}> -konteksno slobodna gramatika koja generise jezik koji se sastoji od prirodnih brojeva. • G=<{A, S}, {0,1,..,9}, {S→0, S→1,…, S→9, S→1A, S→2A,…, S→9A, A →0, A →1,…, A →9, A →0A, A →1A,…, A →9A},S} –regularna gramatika koja generiše isti jezik

  19. Na osnovu ograničenja koja se postavljaju jasno je da su gramatike tipa 3 istovremeno i tipa 2, a gramatike tipa 2 su istovremeno i tipa 1 i da su gramatike tipa 1 istovremeno i tipa 0.

  20. Prema klasifikaciji Čomskog, ε ne pripada ni jednom od jezika tipa 1, 2 ili 3. Definicija se slabi dodavanjem pravila S → ε, gde je S početni simbol i on se ne nalazi sa desne strane ni jednog od pravila izvođenja. • Pravilo S → ε može se primeniti samo u prvom koraku izvođenja.

  21. Ako je L jezik tipa 1, 2 ili 3 tada su istog tipa i jezici L U {ε} i L \ {ε}

  22. (Ne)odlučivi problemi kod gramatika • Gramatika je odlučiva ako je odlučiv njome generisani jezik shvaćen kao skup. (Odlučiv je problem da li neka reč pripada jeziku) • Odlučive su sve gramatike tipa 1 ili višeg, pa za svaki odgovarajući jezik postoji postupak koji za svaku reč koja pripada jeziku odgovara sa ‘da’, a za one koje ne pripadaju sa ‘ne’.

  23. Sledeći problemi nisu odlučivi u opštem slučaju, tj. za gramatike tipa 0: • Da li proizvoljna reč pripada jeziku generisanom gramatikom • Da li je jezik generisan gramatikom podskup jezika generisanog drugom gramatikom • Da li su dve gramatike ekvivalentne • Da li je generisan jezik prazan • Da li je generisan jezik beskonačan

  24. Tue sisteme • Neodlučiv problem • Posmatra se konačan skup J parova reči za koje se kaže da je x~y ako (x,y) ili (y,x) pripadaju skupu J. Postavlja se pitanje da li dve reči w i u ekvivalentne, odnosno da li se proizvoljnim brojem zamena podreči iz w odgovarajućim rečima sa kojima su u relaciji ~ može dobiti reč u. Zapravo, postavlja se pitanje da li w→*u u gramatici čiji skup pravila sadrži x →y i y →x za (x,y)Є J

  25. Postov problem korespodencije • Za zadati alfabet A posmatraju dve liste od po k rečil1=w1,w2,…wk i l2=u1,u2,…uk, a postavlja se pitanje da li postoji niz brojeva i1, i2,…,im, m≥1, tako da je wi1wi2…wim=ui1ui2…uim

More Related