/01: Teoretická informatika(ti) přednáška 5

Podobné dokumenty
/1: Teoretická informatika(ti) přednáška 4

Na rozšiřující přednášce minulý týden jsme se věnovali zejména. algoritmu, který k zadanému konečnému automatu sestrojí ekvivalentní regulární výraz

Překladač sestrojující k regulárnímu výrazu ekvivalentní konečný automat Připomeňme si jednoznačnou gramatiku G pro jazyk RV({a, b})

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNTAKTICKÁ ANALÝZA DOKONČENÍ, IMPLEMENTACE.

Vlastnosti Derivační strom Metody Metoda shora dolů Metoda zdola nahoru Pomocné množiny. Syntaktická analýza. Metody a nástroje syntaktické analýzy

Bezkontextové gramatiky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 6. května / 49

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39

Automaty a gramatiky(bi-aag) Formální překlady. 5. Překladové konečné automaty. h(ε) = ε, h(xa) = h(x)h(a), x, x T, a T.

Formální jazyky a gramatiky Teorie programovacích jazyků

Jednoznačné a nejednoznačné gramatiky

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů

Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27

Automaty a gramatiky

1.Charakterizujte křížový překladač 2.Objasněte pojem silikonový překladač 3.Co to jsou formátory textu? Uveďte příklad

Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory

Turingovy stroje. Teoretická informatika Tomáš Foltýnek

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je

Virtuální počítač. Uživatelský program Překladač programovacího jazyka Operační systém Interpret makroinstrukcí Procesor. PGS K.

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 2. března / 32

Úvod do programovacích jazyků (Java)

1. Definujte překladač. Jaký je rozdíl mezi interpretačním a kompilačním překladačem? Co je to konverzační překladač?

Vztah jazyků Chomskeho hierarchie a jazyků TS

Čísla značí použité pravidlo, šipka směr postupu Analýza shora. Analýza zdola A 2 B 3 B * C 2 C ( A ) 1 a A + B. A Derivace zleva:

Úvod do teoretické informatiky

Popište a na příkladu ilustrujte(rychlý) algoritmus testující, zda dané dva automaty jsou izomorfní.

Formální jazyky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 21. března / 50

Syntaxí řízený překlad

Sémantika výrokové logiky. Alena Gollová Výroková logika 1/23

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/31

Lexikální analýza Teorie programovacích jazyků

Kapitola 6. LL gramatiky. 6.1 Definice LL(k) gramatik. Definice 6.3. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo.

Výroková logika. Teoretická informatika Tomáš Foltýnek

LOGIKA VÝROKOVÁ LOGIKA

Výroková a predikátová logika - II

Bakalářská matematika I

Matematika B101MA1, B101MA2

Regulární výrazy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března / 20

8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace

Implementace LL(1) překladů

Matematika pro informatiky KMA/MATA

Výroková a predikátová logika - II

Matematická logika. Rostislav Horčík. horcik

4.2 Syntaxe predikátové logiky

Výroková a predikátová logika - II

: Teoretická informatika(ti)

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Teoretická informatika - Úkol č.1

Úvod do databázových systémů

Učební texty k státní bakalářské zkoušce Programování Základy teoretické informatiky. študenti MFF 15. augusta 2008

Bezkontextové jazyky 3/3. Bezkontextové jazyky 3 p.1/27

Syntaxí řízený překlad


Návrh algoritmů pro sémantické akce při výstavbě interpretu metodou rekurzivního sestupu

Pojem algoritmus. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Logika a regulární jazyky

Formální jazyky a automaty Petr Šimeček

Poznámka. Kezkoušcejemožnojítjenposplněnípožadavkůkzápočtu. Kromě čistého papíru a psacích potřeb není povoleno používat žádné další pomůcky.

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto:

Teoretická informatika průběh výuky v semestru 1

Obor: Informatika Únor 2006 Okruh: Základy matematiky Otázka: 1. Jméno: Bodů:...

Automaty a gramatiky. Uzávěrové vlastnosti v kostce R J BKJ DBKJ. Roman Barták, KTIML. Kvocienty s regulárním jazykem

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

Postův korespondenční problém. Meze rozhodnutelnosti 2 p.1/13

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LEXIKÁLNÍ ANALÝZA

Katedra aplikované matematiky FEI VŠB Technická univerzita Ostrava luk76/la1

Z. Sawa (VŠB-TUO) Teoretická informatika 11. prosince / 63

Rozhodnutelné a nerozhodnutelné problémy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 24. dubna / 49

2 Formální jazyky a gramatiky

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace

Logika a logické programování

Strukturální rozpoznávání

Regulární výrazy. Filtry grep, sed a awk.

Syntaktická analýza. Implementace LL(1) překladů. Šárka Vavrečková. Ústav informatiky, FPF SU Opava

1. Charakterizujte pojem křížový překladač Překlad na jiném procesoru než exekuce (viz zabudované systémy (např. pračky, myčky, automobily)).

Teoretická informatika

Zásobníkový automat. SlovoaaaabbbbpatřídojazykaL={a i b i i 1} a a a a b b b b

Mgr. Rudolf Blažek, Ph.D. prof. RNDr. Roman Kotecký Dr.Sc.

teorie logických spojek chápaných jako pravdivostní funkce

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Přednáška 3. Rekurze 1

Negativní informace. Petr Štěpánek. S použitím materiálu M.Gelfonda a V. Lifschitze. Logické programování 15 1

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ

Fakulta informačních technologií. Teoretická informatika

Sémantiky programovacích jazyků

Programovací jazyk Pascal

Matematika I. Katedra matematiky a deskriptivní geometrie mdg.vsb.cz

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2016

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

VI. Derivace složené funkce.

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Výroková logika. Sémantika výrokové logiky

Výroková a predikátová logika - III


Obsah přednášky. programovacího jazyka. Motivace. Princip denotační sémantiky Sémantické funkce Výrazy Příkazy Vstup a výstup Kontinuace Program

Formální systém výrokové logiky

Výroková logika - opakování

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY SYNTAKTICKÁ ANALÝZA ZALOŽENÁ NA MULTIGENEROVÁNÍ PARSING BASED ON MULTIGENERATION

Transkript:

460-4005/01: Teoretická informatika(ti) přednáška 5 prof. RNDr Petr Jančar, CSc. katedra informatiky FEI VŠB-TUO www.cs.vsb.cz/jancar LS 2010/2011 Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS 2010/2011 1/ 11

(Procedury) konstrukce ZNKA k regulárnímu výrazu Sjednocení(Union) Zřetězení(Conc) Iterace(Iter) Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS 2010/2011 2/ 11

Syntaxí řízený překlad RV na ZNKA regulárnívýraz (1 0 +10) 1 syntaktický strom 1 + 0 1 0 Conc Iter 1 Union Conc Conc Iter 0 1 0 1 lineární zápis Conc(Iter(Union(Conc(Iter(1), 0), Conc(1, 0))), 1) 1 Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS 2010/2011 3/ 11

Syntaxe, sémantika Gramatika slouží nejen pro popis syntaxe jazyka; syntaktická struktura (derivační strom) konkrétního slova je obvykle základem také pro vyhodnocení sémantiky(významu) slova. Tím významem může být např. hodnota z nějaké množiny(domény). Např. u dříve uvedených aritmetických výrazů je to(celé) číslo či program (cílovýkód)kjehovýpočtu...(interpret,kompilátor...) E E + E 17 E E 5 42 Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS 2010/2011 4/ 11

Překlad RV na(zn)ka na základě derivačního stromu BG Omezmesenaabecedu Σ = {a,b}.množinaregulárníchvýrazůnad Σje dána např. následující gramatikou(symboly, ǫ zde neuvažujeme) R a b R+R R R RR R (R) regulárnívýraz syntaktický strom + a a b (a b +a) derivační strom R ( R ) R + R R R a R b a Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS 2010/2011 5/ 11

Konstrukce(ZN)KA na základě derivačního stromu pro vrchol označený derivační strom R ( R ) R + R R R a R a b a, b: vydej příslušný(elementární) automat; RsnásledníkyR, +,R: sestavautomata 1 pro1.následníka,a 2 pro3. následníka,apaksestavavydejautomata prol(a 1 ) L(A 2 ); RsnásledníkyR,,R(podobněproR,R): sestavautomata 1 pro1.následníka,a 2 pro3. následníka,apaksestavavydejautomata prol(a 1 ) L(A 2 ); RsnásledníkyR, :sestavautomata 1 pro1. následníka,apaksestavavydejautomata prol(a 1 ) ; Rsnásledníky (,R, ):vydejautomatsestavený pro 2. následníka. Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS 2010/2011 6/ 11

Jednoznačné gramatiky a jazyky BGGjejednoznačná df každéslovozl(g)máprávějedenderivační strom(tj. právě jednu levou derivaci). V opačném případě je G nejednoznačná(či víceznačná). BezkontextovýjazykLjejednoznačný df ex.jednoznačnágtž. L(G) = L; jinak se L nazývá(vnitřně) nejednoznačný(víceznačný). Např.: L 1 = {a n b n n 0 }: S asb (jejednoznačný) L 2 = {a i b j c k (i =j) (j =k) }: S S 1 C AS 2 S 1 as 1 b S 2 bs 2 c C cc A aa Fakt:Neex.jednoznačnáBGGtž.L(G) =L 2.(L 2 jevíceznačný.) Pozn.: problém jednoznačnosti bezkontextové gramatiky je algoritmicky nerozhodnutelný(ukážeme později...). Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS 2010/2011 7/ 11

Jednoznačné gramatiky a jazyky K(nejednoznačné) gramatice R a b R+R RR R (R) lze sestrojit ekvivalentní gramatiku, která je jednoznačná: R T +R T T FT F F F (R) C C a b Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS 2010/2011 8/ 11

Gramatika pro booleovské formule(cvičení) Uvažujme jazyk sestávající ze všech booleovských formulí s proměnnými x1,x2,...alogickýmispojkami,, ;mohousevnichpoužívatzávorky (, ),alenenínutnéplnězávorkovat.každátakováformulejetedy řetězcem v abecedě Σ = {x,0,1,2,3,4,5,6,7,8,9,,,, (, ) } ; jakopříkladmůžesloužitřetězec ( x15 x2 x5) x21 (x2 x5), který do jazyka patří.(samozřejmě zde můžeme preferovat přehlednější zápis ( x 15 x 2 x 5 ) x 21 (x 2 x 5 ),aletonenípodstatné.) Navrhněte co nejjednodušší bezkontextovou gramatiku generující uvedený jazyk. Takto navržená(jednoduchá) gramatika asi není jednoznačná; ověřte. Zkonstruujte pak pro stejný jazyk jednoznačnou gramatiku, u níž derivační stromy přirozeně odpovídají obvyklé prioritě operátorů: negace váže silněji než konjunkce a konjunkce váže silněji než disjunkce. Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS 2010/2011 9/ 11

LR syntaktická analýza(pravá derivace pozpátku) R T +R T T FT F F F (R) C C a b vrchol zásobníku další čtený symbol redukce podle pravidla či přesun a C a C F C F přesunaf F F +, ),konec T F F a, b, ( přesun FT T FT T(neFT) + přesun T(neFT) ne + R T b C b T +R R T +R (R) F (R) (jinak přesun) Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS 2010/2011 10/ 11

FunkceFirstaFollow(kdanégramaticeG = (Π, Σ,S,P)) R T +R T T FT F F F (R) C C a b First() = {} a Σ, β (Π Σ) = First(aβ) = {a} (X β) P,a First(β) = a First(X) (tedy First(β) First(X)) a Σ,a First(X), β (Π Σ) = a First(Xβ) First(X), β (Π Σ) = First(β) First(Xβ) Follow(S) (X αy β) P = Follow(Y ) First(β Follow(X)) Petr Jančar (FEI VŠB-TU) Teoretická informatika(ti) LS 2010/2011 11/ 11