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

Rozměr: px
Začít zobrazení ze stránky:

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

Transkript

1 Metody a nástroje syntaktické analýzy Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 14. října 2011

2 Vlastnosti syntaktické analýzy Úkoly syntaktické analýzy Úkolem syntaktického analyzátoru je zjistit, jak symboly patří k sobě, tedy sestavit syntaktickou strukturu programu. Symboly jsou zde jakýmisi slovy, ze kterých je třeba sestavit větu strukturu programu. Vstup: posloupnost symbolů Výstup: syntaktická struktura programu (derivační strom) Syntaktické chyby: souvisí se syntaktickou strukturou celého programu, chybná posloupnost symbolů (např. 25 := x + 1)

3 Vlastnosti syntaktické analýzy Úkoly syntaktické analýzy Úkolem syntaktického analyzátoru je zjistit, jak symboly patří k sobě, tedy sestavit syntaktickou strukturu programu. Symboly jsou zde jakýmisi slovy, ze kterých je třeba sestavit větu strukturu programu. Vstup: posloupnost symbolů Výstup: syntaktická struktura programu (derivační strom) Syntaktické chyby: souvisí se syntaktickou strukturou celého programu, chybná posloupnost symbolů (např. 25 := x + 1)

4 Definice Definice (Derivační strom) Derivační strom derivace podle gramatiky G je orientovaný acyklický graf, který má jediný kořen, do všech ostatních uzlů vstupuje právě jedna hrana, a dále má tyto vlastnosti: 1 Kořen stromu je ohodnocen startovacím symbolem gramatiky. 2 Listy jsou ohodnoceny terminálními symboly, všechny ostatní uzly jsou ohodnoceny neterminálními symboly. 3 Všechny koncové uzly v jakékoliv fázi konstrukce čtené zleva doprava tvoří větnou formu v gramatice G. 4 Jestliže uzly n 1, n 2,..., n k jsou bezprostřední následníci uzlu n, jsou ohodnoceny symboly 1, 2,..., k a uzel n je ohodnocen, pak v množině pravidel gramatiky existuje pravidlo k. Není třeba značit orientaci hran.

5 Konstrukce G = ({S}, {n, i, +, }, P, S), P = {S S + S S S n i} Derivace D1: S S S => S + S S n + S S n + n S n + n i Derivace D2: S S S => S + S S S + S i S + n i n + n i Derivace D3: S S + S => S + S S n + S S n + n S n + n i D1, D2: S S S S + S i D3: S + S n S S S n n n i

6 Konstrukce G = ({S}, {n, i, +, }, P, S), P = {S S + S S S n i} Derivace D1: S S S => S + S S n + S S n + n S n + n i Derivace D2: S S S => S + S S S + S i S + n i n + n i Derivace D3: S S + S => S + S S n + S S n + n S n + n i D1, D2: S S S S + S i D3: S + S n S S S n n n i

7 Konstrukce G = ({S}, {n, i, +, }, P, S), P = {S S + S S S n i} Derivace D1: S S S => S + S S n + S S n + n S n + n i Derivace D2: S S S => S + S S S + S i S + n i n + n i Derivace D3: S S + S => S + S S n + S S n + n S n + n i D1, D2: S S S S + S i D3: S + S n S S S n n n i

8 Konstrukce G = ({S}, {n, i, +, }, P, S), P = {S S + S S S n i} Derivace D1: S S S => S + S S n + S S n + n S n + n i Derivace D2: S S S => S + S S S + S i S + n i n + n i Derivace D3: S S + S => S + S S n + S S n + n S n + n i D1, D2: S S S S + S i D3: S + S n S S S n n n i

9 Konstrukce G = ({S}, {n, i, +, }, P, S), P = {S S + S S S n i} Derivace D1: S S S => S + S S n + S S n + n S n + n i Derivace D2: S S S => S + S S S + S i S + n i n + n i Derivace D3: S S + S => S + S S n + S S n + n S n + n i D1, D2: S S S S + S i D3: S + S n S S S n n n i

10 Konstrukce Jednoznačnost gramatiky Definice (Jednoznačná a víceznačná gramatika) Gramatika je jednoznačná, pokud pro každý terminální řetězec, který lze v gramatice vygenerovat (tj. větu), existuje právě jeden derivační strom. Gramatika je víceznačná, pokud existuje terminální řetězec patřící do jazyka této gramatiky, ke kterému lze sestrojit více různých derivačních stromů. Zajištění jednoznačnosti podmínkou pro derivaci Když v každém kroku derivace přepisujeme vždy nejlevější neterminál (ten, který je ve větné formě nejvíce vlevo), používáme levou derivaci, když přepisujeme vždy neterminál nejvíce v pravo, používáme pravou derivaci.

11 Konstrukce Jednoznačnost gramatiky Definice (Jednoznačná a víceznačná gramatika) Gramatika je jednoznačná, pokud pro každý terminální řetězec, který lze v gramatice vygenerovat (tj. větu), existuje právě jeden derivační strom. Gramatika je víceznačná, pokud existuje terminální řetězec patřící do jazyka této gramatiky, ke kterému lze sestrojit více různých derivačních stromů. Zajištění jednoznačnosti podmínkou pro derivaci Když v každém kroku derivace přepisujeme vždy nejlevější neterminál (ten, který je ve větné formě nejvíce vlevo), používáme levou derivaci, když přepisujeme vždy neterminál nejvíce v pravo, používáme pravou derivaci.

12 Rozdělení Metody syntaktické analýzy Dvě základní metody Rozlišujeme podle směru konstrukce derivačního stromu metody 1 shora dolů (Top-Down), začínáme startovacím symbolem, podle levé derivace (vždy nejlevější symbol), pravidla gramatiky: ve stromě z neterminálu tvoříme podřetězec, na který se přepisuje, strom konstruujeme podle derivace zleva doprava, vstup čteme zleva doprava.

13 Rozdělení Metody syntaktické analýzy Dvě základní metody Rozlišujeme podle směru konstrukce derivačního stromu metody 1 shora dolů (Top-Down), začínáme startovacím symbolem, podle levé derivace (vždy nejlevější symbol), pravidla gramatiky: ve stromě z neterminálu tvoříme podřetězec, na který se přepisuje, strom konstruujeme podle derivace zleva doprava, vstup čteme zleva doprava.

14 Rozdělení Metody syntaktické analýzy Dvě základní metody Rozlišujeme podle směru konstrukce derivačního stromu metody 1 shora dolů (Top-Down), začínáme startovacím symbolem, podle levé derivace (vždy nejlevější symbol), pravidla gramatiky: ve stromě z neterminálu tvoříme podřetězec, na který se přepisuje, strom konstruujeme podle derivace zleva doprava, vstup čteme zleva doprava.

15 Rozdělení Metody syntaktické analýzy Dvě základní metody Rozlišujeme podle směru konstrukce derivačního stromu metody 1 shora dolů (Top-Down), začínáme startovacím symbolem, podle levé derivace (vždy nejlevější symbol), pravidla gramatiky: ve stromě z neterminálu tvoříme podřetězec, na který se přepisuje, strom konstruujeme podle derivace zleva doprava, vstup čteme zleva doprava.

16 Rozdělení Metody syntaktické analýzy Dvě základní metody Rozlišujeme podle směru konstrukce derivačního stromu metody 1 shora dolů (Top-Down), začínáme startovacím symbolem, podle levé derivace (vždy nejlevější symbol), pravidla gramatiky: ve stromě z neterminálu tvoříme podřetězec, na který se přepisuje, strom konstruujeme podle derivace zleva doprava, vstup čteme zleva doprava.

17 Rozdělení Metody syntaktické analýzy Dvě základní metody Rozlišujeme podle směru konstrukce derivačního stromu metody 2 zdola nahoru (Bottom-Up). začínáme odspoda, od terminálního slova, podle pravé derivace, stavíme strom směrem k startovacímu symbolu, pravidla gramatiky: ve stromě nahrazujeme podřetězec neterminálem, který se na něj přepisuje, strom konstruujeme podle derivace pozpátku, zprava doleva, vstup čteme zleva doprava.

18 Rozdělení Metody syntaktické analýzy Dvě základní metody Rozlišujeme podle směru konstrukce derivačního stromu metody 2 zdola nahoru (Bottom-Up). začínáme odspoda, od terminálního slova, podle pravé derivace, stavíme strom směrem k startovacímu symbolu, pravidla gramatiky: ve stromě nahrazujeme podřetězec neterminálem, který se na něj přepisuje, strom konstruujeme podle derivace pozpátku, zprava doleva, vstup čteme zleva doprava.

19 Rozdělení Metody syntaktické analýzy Dvě základní metody Rozlišujeme podle směru konstrukce derivačního stromu metody 2 zdola nahoru (Bottom-Up). začínáme odspoda, od terminálního slova, podle pravé derivace, stavíme strom směrem k startovacímu symbolu, pravidla gramatiky: ve stromě nahrazujeme podřetězec neterminálem, který se na něj přepisuje, strom konstruujeme podle derivace pozpátku, zprava doleva, vstup čteme zleva doprava.

20 Rozdělení Metody syntaktické analýzy Dvě základní metody Rozlišujeme podle směru konstrukce derivačního stromu metody 2 zdola nahoru (Bottom-Up). začínáme odspoda, od terminálního slova, podle pravé derivace, stavíme strom směrem k startovacímu symbolu, pravidla gramatiky: ve stromě nahrazujeme podřetězec neterminálem, který se na něj přepisuje, strom konstruujeme podle derivace pozpátku, zprava doleva, vstup čteme zleva doprava.

21 Rozdělení Metody syntaktické analýzy Dvě základní metody Rozlišujeme podle směru konstrukce derivačního stromu metody 2 zdola nahoru (Bottom-Up). začínáme odspoda, od terminálního slova, podle pravé derivace, stavíme strom směrem k startovacímu symbolu, pravidla gramatiky: ve stromě nahrazujeme podřetězec neterminálem, který se na něj přepisuje, strom konstruujeme podle derivace pozpátku, zprava doleva, vstup čteme zleva doprava.

22 Rozdělení Metody syntaktické analýzy Dvě základní metody Rozlišujeme podle směru konstrukce derivačního stromu metody 2 zdola nahoru (Bottom-Up). začínáme odspoda, od terminálního slova, podle pravé derivace, stavíme strom směrem k startovacímu symbolu, pravidla gramatiky: ve stromě nahrazujeme podřetězec neterminálem, který se na něj přepisuje, strom konstruujeme podle derivace pozpátku, zprava doleva, vstup čteme zleva doprava.

23 Příklad Příklad S B ab ab B cb c 1 2, 3 4, 5 Levá derivace: S B abb aabbb aabbcb aabbcc

24 Příklad S B abb aabbb aabbcb aabbcc S B

25 Příklad S B abb aabbb aabbcb aabbcc S S B B a b

26 Příklad S B abb aabbb aabbcb aabbcc S S B B a b S B a b a b

27 Příklad S B abb aabbb aabbcb aabbcc S S B B a b S S B B a b a b c B a b a b

28 Příklad S B abb aabbb aabbcb aabbcc S S B B a b S S S B B B a b a b c B a b c B a b a b a b c

29 Definice Definice výstupu Definice (Lineární rozklad, levý rozklad) Lineární rozklad věty v gramatice G je některá posloupnost čísel pravidel použitých v derivaci věty v gramatice G. Levý rozklad věty v gramatice G je posloupnost čísel pravidel použitých v levé derivaci této věty v gramatice G.

30 Definice Příklad S B ab ab B cb c 1 2, 3 4, 5 Levá derivace: S B abb aabbb aabbcb aabbcc Levý rozklad slova aabbcc je posloupnost 1, 2, 3, 4, 5.

31 Definice Definice analýzy Definice ( metodou shora dolů) metodou shora dolů je proces nalezení levého rozkladu dané věty.

32 Determinismus Řešení nedeterminismu α 1 α 2... α n 1. nalýza s návratem Postupně zkoušíme vhodná pravidla. Nejdřív první, pokračujeme dále ve výpočtu, a když se ukáže, že pravidlo nevyhovuje (dostaneme se do slepé uličky), vrátíme se zpátky a vyzkoušíme druhé pravidlo, když to nevyhovuje, tak třetí,... Pomalá, proto se moc nepoužívá. 2. Deterministická analýza Při výběru pravidla se řídíme dalšími informacemi. 1 kontrolujeme vstupní posloupnost symbolů a řídíme se tím, co později dostaneme na vstupu, 2 kontrolujeme obsah zásobníku (nejen ten symbol, který vyjímáme v každém kroku).

33 Determinismus Řešení nedeterminismu α 1 α 2... α n 1. nalýza s návratem Postupně zkoušíme vhodná pravidla. Nejdřív první, pokračujeme dále ve výpočtu, a když se ukáže, že pravidlo nevyhovuje (dostaneme se do slepé uličky), vrátíme se zpátky a vyzkoušíme druhé pravidlo, když to nevyhovuje, tak třetí,... Pomalá, proto se moc nepoužívá. 2. Deterministická analýza Při výběru pravidla se řídíme dalšími informacemi. 1 kontrolujeme vstupní posloupnost symbolů a řídíme se tím, co později dostaneme na vstupu, 2 kontrolujeme obsah zásobníku (nejen ten symbol, který vyjímáme v každém kroku).

34 Příklad Příklad S B ab ab B cb c 1 2, 3 4, 5 Pravá derivace: S B cb cc abcc aabbcc

35 Příklad S B cb cc abcc aabbcc a a b b c c

36 Příklad S B cb cc abcc aabbcc a a b b c c a a b b c c

37 Příklad S B cb cc abcc aabbcc a a b b c c a a b b c c B a a b b c c

38 Příklad S B cb cc abcc aabbcc a a b b c c a a b b c c B B B a a b b c c a a b b c c

39 Příklad S B cb cc abcc aabbcc a a b b c c a a b b c c S B B B B B a a b b c c a a b b c c a a b b c c

40 Definice Definice (Pravý rozklad) Pravý rozklad věty v gramatice G je obrácená posloupnost čísel pravidel použitých v pravé derivaci této věty v gramatice G.

41 Definice Příklad S B ab ab B cb c 1 2, 3 4, 5 Pravá derivace: S B cb cc abcc aabbcc V derivaci jsme použili postupně pravidla 1, 4, 5, 2, 3, pravý rozklad věty aabbcc posloupnost čísel 3, 2, 5, 4, 1.

42 Definice Definice ( metodou zdola nahoru) metodou zdola nahoru je proces nalezení pravého rozkladu dané věty.

43 Determinismus Řešení nedeterminismu pravidla, jejichž pravé strany stejně začínají, resp. podřetězce na vstupu 1. nalýza s návratem Vybereme ve větné formě podřetězec (co nejvíc vlevo, je co nejdelší a je shodný s pravou stranou některého pravidla), přepíšeme neterminálem na pravé straně pravidla a pokračujeme v konstrukci derivačního stromu. Když zjistíme, že tento krok nevede k úspěchu, vyzkoušíme jiný podřetězec,... Pomalé, nepoužíváme. 2. Deterministická analýza Využíváme další informace získané při překladu obsah nepřečtené části vstupní pásky nebo obsah zásobníku.

44 Determinismus Řešení nedeterminismu pravidla, jejichž pravé strany stejně začínají, resp. podřetězce na vstupu 1. nalýza s návratem Vybereme ve větné formě podřetězec (co nejvíc vlevo, je co nejdelší a je shodný s pravou stranou některého pravidla), přepíšeme neterminálem na pravé straně pravidla a pokračujeme v konstrukci derivačního stromu. Když zjistíme, že tento krok nevede k úspěchu, vyzkoušíme jiný podřetězec,... Pomalé, nepoužíváme. 2. Deterministická analýza Využíváme další informace získané při překladu obsah nepřečtené části vstupní pásky nebo obsah zásobníku.

45 Souhrn Pomocné množiny pro syntaktickou analýzu FIRST(α) množina terminálů, kterými mohou začínat řetězce odvozené z α α bxayγ = b FIRST(α) FOLLOW() množina terminálů, které mohou následovat za v některé větné formě v derivacích. S bxcyz = y FOLLOW() Vytváříme vždy pro všechny neterminály zároveň!!! FIRST k (α), FOLLOW k () podobné, jen zobecnění na množiny terminálních řetězců o délce nejvýše k

46 Souhrn Pomocné množiny pro syntaktickou analýzu FIRST(α) množina terminálů, kterými mohou začínat řetězce odvozené z α α bxayγ = b FIRST(α) FOLLOW() množina terminálů, které mohou následovat za v některé větné formě v derivacích. S bxcyz = y FOLLOW() Vytváříme vždy pro všechny neterminály zároveň!!! FIRST k (α), FOLLOW k () podobné, jen zobecnění na množiny terminálních řetězců o délce nejvýše k

47 Souhrn Pomocné množiny pro syntaktickou analýzu FIRST(α) množina terminálů, kterými mohou začínat řetězce odvozené z α α bxayγ = b FIRST(α) FOLLOW() množina terminálů, které mohou následovat za v některé větné formě v derivacích. S bxcyz = y FOLLOW() Vytváříme vždy pro všechny neterminály zároveň!!! FIRST k (α), FOLLOW k () podobné, jen zobecnění na množiny terminálních řetězců o délce nejvýše k

48 FIRST, FOLLOW Pomocné množiny pro syntaktickou analýzu Definice (Množiny FIRST) Označme α libovolnou větnou formu generovanou gramatikou G. Potom FIRST(α) je množina terminálních symbolů, jimiž začínají řetězce derivované z α. Pokud existuje derivace α ε, pak ε FIRST(α).

49 FIRST, FOLLOW Pomocné množiny pro syntaktickou analýzu Definice (Množiny FOLLOW) Nechť je libovolný neterminál gramatiky G. Potom do množiny FOLLOW() řadíme právě ty terminální symboly a gramatiky G, které se mohou vyskytovat bezprostředně vpravo od v nějaké větné formě, tedy existuje derivace S βaγ. Pokud je v některé derivaci symbol posledním symbolem větné formy, do množiny FOLLOW() řadíme také symbol ukončení vstupního řetězce (reprezentující například konec zdrojového souboru), který budeme značit $.

50 FIRST, FOLLOW Označme N 1 množinu všech neterminálních symbolů, pro které existuje ε-pravidlo (nejen přímo ε). V gramatice G = (N, T, P, S): FIRST(ε) = {ε} FIRST(aβ) = {a}, a T FIRST(β) = FIRST(α i ) i=1..n pro / N 1, α 1 α 2... α n, ( ) FIRST(β) = FIRST(α i ) {ε} FIRST(β) i=1..n pro N 1, α 1 α 2... α n

51 FIRST, FOLLOW Příklad FIRST G = (N, T, P, S) S ab BcB ε fabd as ε B bcb d FIRST(ab) = {a} FIRST(BcB) = {b, d} FIRST(cB) = {f, a, c} FIRST(S) = {a, b, d, ε} FIRST(S) = {f, a, b, d, ε}

52 FIRST, FOLLOW V gramatice G = (N, T, P, S): $ FOLLOW(S) FIRST(β) FOLLOW(B), kde αbβ FOLLOW() FOLLOW(B), kde αbβ, β ε

53 FIRST, FOLLOW 1) Do FOLLOW(S), kde S je startovací symbol gramatiky, vložíme symbol konce vstupního řetězce $. 2) Pro všechna pravidla gramatiky αbβ umístíme všechny prvky množiny FIRST(β) kromě ε do FOLLOW(B). Tento krok provádíme postupně pro všechna pravidla gramatiky hledáme v nich neterminály, za kterými ještě něco následuje (β), a pak vše, čím může začínat řetězec vytvořený z β, může následovat v nějaké větné formě přímo za B. 3) Rekurzívně, dokud dochází ke změnám: pro každé pravidlo αb nebo αbβ, kde existuje odvození β ε, do množiny FOLLOW(B) zařadíme všechny prvky FOLLOW(). Obsah množin FOLLOW vlastně posíláme po derivačním stromě větné formy směrem dolů vždy nejvíce vpravo, pokud je na tom místě neterminál.

54 FIRST, FOLLOW 1) Do FOLLOW(S), kde S je startovací symbol gramatiky, vložíme symbol konce vstupního řetězce $. 2) Pro všechna pravidla gramatiky αbβ umístíme všechny prvky množiny FIRST(β) kromě ε do FOLLOW(B). Tento krok provádíme postupně pro všechna pravidla gramatiky hledáme v nich neterminály, za kterými ještě něco následuje (β), a pak vše, čím může začínat řetězec vytvořený z β, může následovat v nějaké větné formě přímo za B. 3) Rekurzívně, dokud dochází ke změnám: pro každé pravidlo αb nebo αbβ, kde existuje odvození β ε, do množiny FOLLOW(B) zařadíme všechny prvky FOLLOW(). Obsah množin FOLLOW vlastně posíláme po derivačním stromě větné formy směrem dolů vždy nejvíce vpravo, pokud je na tom místě neterminál.

55 FIRST, FOLLOW 1) Do FOLLOW(S), kde S je startovací symbol gramatiky, vložíme symbol konce vstupního řetězce $. 2) Pro všechna pravidla gramatiky αbβ umístíme všechny prvky množiny FIRST(β) kromě ε do FOLLOW(B). Tento krok provádíme postupně pro všechna pravidla gramatiky hledáme v nich neterminály, za kterými ještě něco následuje (β), a pak vše, čím může začínat řetězec vytvořený z β, může následovat v nějaké větné formě přímo za B. 3) Rekurzívně, dokud dochází ke změnám: pro každé pravidlo αb nebo αbβ, kde existuje odvození β ε, do množiny FOLLOW(B) zařadíme všechny prvky FOLLOW(). Obsah množin FOLLOW vlastně posíláme po derivačním stromě větné formy směrem dolů vždy nejvíce vpravo, pokud je na tom místě neterminál.

56 FIRST, FOLLOW Příklad S ab BcB ε fabd as ε B bcb d 1) 2) 3) 4) 5) 6) 7) 8) FOLLOW(S) = { $, b, c } FOLLOW() = { b, c } FOLLOW(B) = { f, a, c, d, $, b }

57 FIRST, FOLLOW Příklad S ab BcB ε fabd as ε B bcb d 1) 2) 3) 4) 5) 6) 7) 8) FOLLOW(S) = { $, b, c } FOLLOW() = { b, c } FOLLOW(B) = { f, a, c, d, $, b }

58 FIRST, FOLLOW Příklad S ab BcB ε fabd as ε B bcb d 1) 2) 3) 4) 5) 6) 7) 8) FOLLOW(S) = { $, b, c } FOLLOW() = { b, c } FOLLOW(B) = { f, a, c, d, $, b }

59 FIRST, FOLLOW Příklad S ab BcB ε fabd as ε B bcb d 1) 2) 3) 4) 5) 6) 7) 8) FOLLOW(S) = { $, b, c } FOLLOW() = { b, c } FOLLOW(B) = { f, a, c, d, $, b }

60 FIRST, FOLLOW Příklad S ab BcB ε fabd as ε B bcb d 1) 2) 3) 4) 5) 6) 7) 8) FOLLOW(S) = { $, b, c } FOLLOW() = { b, c } FOLLOW(B) = { f, a, c, d, $, b }

61 FIRST, FOLLOW Příklad S ab BcB ε fabd as ε B bcb d 1) 2) 3) 4) 5) 6) 7) 8) FOLLOW(S) = { $, b, c } FOLLOW() = { b, c } FOLLOW(B) = { f, a, c, d, $, b }

62 FIRST, FOLLOW Příklad S ab BcB ε fabd as ε B bcb d 1) 2) 3) 4) 5) 6) 7) 8) FOLLOW(S) = { $, b, c } FOLLOW() = { b, c } FOLLOW(B) = { f, a, c, d, $, b }

63 FIRST, FOLLOW Příklad S ab BcB ε fabd as ε B bcb d 1) 2) 3) 4) 5) 6) 7) 8) FOLLOW(S) = { $, b, c } FOLLOW() = { b, c } FOLLOW(B) = { f, a, c, d, $, b }

64 FIRST, FOLLOW Příklad S ab BcB ε fabd as ε B bcb d 1) 2) 3) 4) 5) 6) 7) 8) FOLLOW(S) = { $, b, c } FOLLOW() = { b, c } FOLLOW(B) = { f, a, c, d, $, b }

65 FIRST, FOLLOW Příklad S ab BcB ε fabd as ε B bcb d FOLLOW(S) = {$, b, c} FOLLOW() = {b, c} FOLLOW(B) = {f, a, c, d, $, b}

Jednoznačné a nejednoznačné gramatiky

Jednoznačné a nejednoznačné gramatiky BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 2/36 Jednoznačné a nejednoznačné gramatiky BI-AAG (2011/2012) J. Holub: 11. Bezkontextové gramatiky p. 4/36 Automaty a gramatiky(bi-aag) 11.

Více

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

Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory Plán přednášky Výpočetní modely pro rozpoznávání bezkontextových jazyků zásobníkové automaty LL(k) a LR(k) analyzátory Obecný algoritmus pro parsování bezkontextových jazyků dynamické programování 1 Zásobníkový

Více

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

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNTAKTICKÁ ANALÝZA DOKONČENÍ, IMPLEMENTACE. PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LL SYNAKICKÁ ANALÝZA DOKONČENÍ, IMPLEMENACE. VLASNOSI LL GRAMAIK A JAZYKŮ. 2011 Jan Janoušek BI-PJP Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti Gramatika

Více

Syntaxí řízený překlad

Syntaxí řízený překlad Syntaxí řízený překlad Překladový automat Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 27. listopadu 2008 Zobecněný překladový automat Překladový automat

Více

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.

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. Kapitola 6 LL gramatiky 6.1 Definice LL(k) gramatik Definice 6.1. Necht G = (N, Σ, P, S) je CFG, k 1 je celé číslo. Definujme funkci FIRST G k : (N Σ) + P({w Σ w k}) předpisem FIRST G k (α) = {w Σ (α w

Více

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

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/39 Bezkontextové jazyky Bezkontextové jazyky 1 p.1/39 Jazyky typu 2 Definice 4.1 Gramatika G = (N, Σ, P, S) si nazývá bezkontextovou gramatikou, jestliže všechna pravidla z P mají tvar A α, A N, α (N Σ) Lemma

Více

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

Automaty a gramatiky(bi-aag) Motivace. 1. Základní pojmy. 2 domácí úkoly po 6 bodech 3 testy za bodů celkem 40 bodů BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 2/29 Hodnocení předmětu BI-AAG (2011/2012) J. Holub: 1. Základní pojmy p. 4/29 Automaty a gramatiky(bi-aag) 1. Základní pojmy Jan Holub Katedra teoretické

Více

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

/01: Teoretická informatika(ti) přednáška 5 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

Více

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

Formální jazyky a gramatiky Teorie programovacích jazyků Formální jazyky a gramatiky Teorie programovacích jazyků doc. Ing. Jiří Rybička, Dr. ústav informatiky PEF MENDELU v Brně rybicka@mendelu.cz Připomenutí základních pojmů ABECEDA jazyk je libovolná podmnožina

Více

Implementace LL(1) překladů

Implementace LL(1) překladů Překladače, přednáška č. 6 Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 30. října 2007 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku

Více

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

Turingovy stroje. Teoretická informatika Tomáš Foltýnek Turingovy stroje Teoretická informatika Tomáš Foltýnek foltynek@pef.mendelu.cz Teoretická informatika strana 2 Opakování z minulé přednášky Jaké znáte algebraické struktury s jednou operací? Co je to okruh,

Více

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

Syntaktická analýza. Implementace LL(1) překladů. Šárka Vavrečková. Ústav informatiky, FPF SU Opava Implementace LL(1) překladů Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 6. ledna 2012 Postup Programujeme syntaktickou analýzu: 1 Navrhneme vhodnou LL(1) gramatiku

Více

Vztah jazyků Chomskeho hierarchie a jazyků TS

Vztah jazyků Chomskeho hierarchie a jazyků TS Vztah jazyků Chomskeho hierarchie a jazyků TS Jan Konečný; (přednáší Lukáš Havrlant) 15. října 2013 Jan Konečný; (přednáší Lukáš Havrlant) Chomskeho hierarchie a jazyky TS 15. října 2013 1 / 23 Rychlé

Více

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

doplněk, zřetězení, Kleeneho operaci a reverzi. Ukážeme ještě další operace s jazyky, na které je 28 [181105-1236 ] 2.7 Další uzávěrové vlastnosti třídy regulárních jazyků Z předchozích přednášek víme, že třída regulárních jazyků je uzavřena na sjednocení, průnik, doplněk, zřetězení, Kleeneho operaci

Více

Čí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:

Čí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: 1) Syntaktická analýza shora a zdola, derivační strom, kanonická derivace ezkontextová gramatika gramatika typu 2 Nechť G = je gramatika typu 1. Řekneme, že je gramatikou typu 2, platí-li: y

Více

Automaty a gramatiky

Automaty a gramatiky Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Co bylo minule Úvod do formálních gramatik produkční systémy generativní gramatika G=(V N,V T,,P) G =

Více

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

Návrh algoritmů pro sémantické akce při výstavbě interpretu metodou rekurzivního sestupu Mendelova zemědělská a lesnická univerzita v Brně Provozně ekonomická fakulta Návrh algoritmů pro sémantické akce při výstavbě interpretu metodou rekurzivního sestupu Diplomová práce Vedoucí práce: RNDr.

Více

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

Bezkontextové jazyky 2/3. Bezkontextové jazyky 2 p.1/27 Bezkontextové jazyky 2/3 Bezkontextové jazyky 2 p.1/27 Transformace bezkontextových gramatik Bezkontextové jazyky 2 p.2/27 Ekvivalentní gramatiky Definice 6.1 Necht G 1 a G 2 jsou gramatiky libovolného

Více

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

/1: Teoretická informatika(ti) přednáška 4 456-330/1: Teoretická informatika(ti) přednáška 4 prof. RNDr Petr Jančar, CSc. katedra informatiky FI VŠB-TUO www.cs.vsb.cz/jancar LS 2009/2010 Petr Jančar (FI VŠB-TU) Teoretická informatika(ti) LS 2009/2010

Více

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

AUTOMATY A GRAMATIKY. Pavel Surynek. Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně spočetné jazyky Kódování, enumerace AUTOMATY A 11 GRAMATIKY Pavel Surynek Univerzita Karlova v Praze Matematicko-fyzikální fakulta Katedra teoretické informatiky a matematické logiky Kontextové uzávěrové vlastnosti Turingův stroj Rekurzivně

Více

2 Formální jazyky a gramatiky

2 Formální jazyky a gramatiky 2 Formální jazyky a gramatiky 2.1 Úvod Teorie formálních gramatik a jazyků je důležitou součástí informatiky. Její využití je hlavně v oblasti tvorby překladačů, kompilátorů. Vznik teorie se datuje přibližně

Více

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS GRAMATICKÉ SYSTÉMY

Více

Poslední aktualizace: 26. října 2011

Poslední aktualizace: 26. října 2011 LR(k) překlady Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 26. října 2011 LR(k) překlady Význam LR L left-to-right, R right-parse, k nejvýše k znaků

Více

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

Bezkontextové gramatiky. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 6. května / 49 Bezkontextové gramatiky Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 6. května 2018 1/ 49 Bezkontextové gramatiky Příklad: Chtěli bychom popsat jazyk aritmetických výrazů obsahující výrazy jako například:

Více

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

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 Teoretická informatika průběh výuky v semestru 1 Týden 5 Přednáška 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íce

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

Bezkontextové jazyky. Bezkontextové jazyky 1 p.1/31 Bezkontextové jazyky Bezkontextové jazyky 1 p.1/31 Jazyky typu 2 Definice 4.1 Gramatika G = (N, Σ, P, S) si nazývá bezkontextovou gramatikou, jestliže všechna pravidla z P mají tvar A α, A N, α (N Σ) Lemma

Více

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č?

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č? 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č? 2. Charakterizujte lexikální analýzu(vstup, výstup, lexikální chyby). 3. Definujte

Více

Syntaxí řízený překlad

Syntaxí řízený překlad Syntaxí řízený překlad Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz Poslední aktualizace: 27. listopadu 2008 Definice Překlad z jazyka L 1 do jazyka L 2 je definován množinou

Více

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

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

Více

Západočeská univerzita FAKULTA APLIKOVANÝCH VĚD

Západočeská univerzita FAKULTA APLIKOVANÝCH VĚD Západočeská univerzita FAKULTA APLIKOVANÝCH VĚD Obsah: 1 Struktura a princip činnosti překladače... 3 2 Regulární gramatika, konečný automat a jejich ekvivalence... 5 3 Lexikální analýza... 8 4 Bezkontextová

Více

popel, glum & nepil 16/28

popel, glum & nepil 16/28 Lineární rezoluce další způsob zjemnění rezoluce; místo stromu směřujeme k lineární struktuře důkazu Lineární rezoluční odvození (důkaz) z Ë je posloupnost dvojic ¼ ¼ Ò Ò taková, že Ò ½ a 1. ¼ a všechna

Více

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.

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. BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 2/41 Formální překlady BI-AAG (2011/2012) J. Holub: 5. Překladové konečné automaty p. 4/41 Automaty a gramatiky(bi-aag) 5. Překladové konečné

Více

63. ročník Matematické olympiády 2013/2014

63. ročník Matematické olympiády 2013/2014 63. ročník Matematické olympiády 2013/2014 Úlohy ústředního kola kategorie P 2. soutěžní den Na řešení úloh máte 4,5 hodiny čistého času. Při soutěži je zakázáno používat jakékoliv pomůcky kromě psacích

Více

Překladač a jeho struktura

Překladač a jeho struktura Překladač a jeho struktura Překladače, přednáška č. 1 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 23. září 2008 Definice

Více

Úvod do informatiky. Miroslav Kolařík

Úvod do informatiky. Miroslav Kolařík Úvod do informatiky přednáška desátá Miroslav Kolařík Zpracováno dle R. Bělohlávek, V. Vychodil: Diskrétní matematika 2, http://phoenix.inf.upol.cz/esf/ucebni/dm2.pdf P. Martinek: Základy teoretické informatiky,

Více

Operační výzkum. Síťová analýza. Metoda CPM.

Operační výzkum. Síťová analýza. Metoda CPM. Operační výzkum Síťová analýza. Metoda CPM. Operační program Vzdělávání pro konkurenceschopnost Název projektu: Inovace magisterského studijního programu Fakulty ekonomiky a managementu Registrační číslo

Více

Interpolace, ortogonální polynomy, Gaussova kvadratura

Interpolace, ortogonální polynomy, Gaussova kvadratura Interpolace, ortogonální polynomy, Gaussova kvadratura Petr Tichý 20. listopadu 2013 1 Úloha Lagrangeovy interpolace Dán omezený uzavřený interval [a, b] a v něm n + 1 různých bodů x 0, x 1,..., x n. Nechť

Více

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

Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu / 43 Zásobníkové automaty Z. Sawa (VŠB-TUO) Teoretická informatika 5. listopadu 2018 1/ 43 Zásobníkový automat Chtěli bychom rozpoznávat jazyk L = {a i b i i 1} Snažíme se navrhnout zařízení (podobné konečným

Více

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

Formální jazyky a automaty Petr Šimeček Formální jazyky a automaty Petr Šimeček Úvod Formální jazyky a automaty jsou základním kamenem teoretické informatiky. Na počátku se zmíníme o Chomského klasifikaci gramatik, nástroje, který lze aplikovat

Více

4.2 Syntaxe predikátové logiky

4.2 Syntaxe predikátové logiky 36 [070507-1501 ] 4.2 Syntaxe predikátové logiky V tomto oddíle zavedeme syntaxi predikátové logiky, tj. uvedeme pravidla, podle nichž se tvoří syntakticky správné formule predikátové logiky. Význam a

Více

f(c) = 0. cn pro f(c n ) > 0 b n pro f(c n ) < 0

f(c) = 0. cn pro f(c n ) > 0 b n pro f(c n ) < 0 KAPITOLA 5: Spojitost a derivace na intervalu [MA-8:P5] 5 Funkce spojité na intervalu Věta 5 o nulách spojité funkce: Je-li f spojitá na uzavřeném intervalu a, b a fa fb < 0, pak eistuje c a, b tak, že

Více

5 Orientované grafy, Toky v sítích

5 Orientované grafy, Toky v sítích Petr Hliněný, FI MU Brno, 205 / 9 FI: IB000: Toky v sítích 5 Orientované grafy, Toky v sítích Nyní se budeme zabývat typem sít ových úloh, ve kterých není podstatná délka hran a spojení, nýbž jejich propustnost

Více

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

Automaty a gramatiky. Uzávěrové vlastnosti v kostce R J BKJ DBKJ. Roman Barták, KTIML. Kvocienty s regulárním jazykem 11 Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak Uzávěrové vlastnosti v kostce Sjednocení Průnik Průnik s RJ Doplněk Substituce/ homomorfismus Inverzní

Více

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest Obsah prezentace Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest 1 Základní pojmy Vrchol grafu: {množina V} Je to styčná vazba v grafu, nazývá se též uzlem, prvkem

Více

Suffixové stromy. Osnova:

Suffixové stromy.  Osnova: Suffixové stromy http://jakub.kotrla.net/suffixtrees/ Osnova: Motivační příklad Přehled možných řešení Definice suffixového stromu Řešení pomocí suffixových stromů Konstrukce suffixového stromu Další použití,

Více

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach vlož do fronty kořen opakuj, dokud není fronta prázdná 1. vyber uzel z fronty a zpracuj jej 2. vlož do fronty levého následníka

Více

Systém přirozené dedukce výrokové logiky

Systém přirozené dedukce výrokové logiky Systém přirozené dedukce výrokové logiky Korektnost, úplnost a bezespornost Šárka Vavrečková Ústav informatiky, FPF SU Opava Poslední aktualizace: 6. října 2008 Věta o korektnosti Věta (O korektnosti Systému

Více

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R... Kapitola 1 Úvod 1.1 Značení N... přirozená čísla (1, 2, 3,...). Z... celá čísla ( 3, 2, 1, 0, 1, 2,...). Q... racionální čísla ( p, kde p Z a q N) q R... reálná čísla C... komplexní čísla 1.2 Výroky -

Více

1. Posloupnosti čísel

1. Posloupnosti čísel 1. Posloupnosti čísel 1.1. Posloupnosti a operace s nimi Definice 1.1 Posloupnost reálných čísel ( = reálná posloupnost ) je zobrazení, jehož definičním oborem je množina N a oborem hodnot je nějaká podmnožina

Více

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy

PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy PŘEDNÁŠKA 5 Konjuktivně disjunktivní termy, konečné distributivní svazy PAVEL RŮŽIČKA Abstrakt. Ukážeme, že každý prvek distributivního svazu odpovídá termu v konjuktivně-disjunktivním (resp. disjunktivně-konjunktivním)

Více

BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS MASTER S THESIS AUTHOR

BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS MASTER S THESIS AUTHOR VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS SYSTÉMY FORMÁLNÍCH

Více

Spojitost a limita funkce

Spojitost a limita funkce Spojitost a ita funkce Okolí bodu Značení: a R ε > 0 označujeme O ε (a) = (a ε, a + ε) ε-ové okolí bodu a O + ε (a) = a, a + ε) pravé okolí, O ε (a) = (a ε, a levé okolí P ε (a) = O ε (a) \ {a} x a ε-ové

Více

SYNTAKTICKÁ ANALÝZA ZALOŽENÁ NA GRAMATICKÝCH A AUTOMATOVÝCH SYSTÉMECH PARSING BASED ON GRAMMAR AND AUTOMATA SYSTEMS

SYNTAKTICKÁ ANALÝZA ZALOŽENÁ NA GRAMATICKÝCH A AUTOMATOVÝCH SYSTÉMECH PARSING BASED ON GRAMMAR AND AUTOMATA SYSTEMS VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS SYNTAKTICKÁ ANALÝZA

Více

Derivace funkcí více proměnných

Derivace funkcí více proměnných Derivace funkcí více proměnných Pro studenty FP TUL Martina Šimůnková 16. května 019 1. Derivace podle vektoru jako funkce vektoru. Pro pevně zvolenou funkci f : R d R n a bod a R d budeme zkoumat zobrazení,

Více

Referát z předmětu Teoretická informatika

Referát z předmětu Teoretická informatika Referát z předmětu Téma: Algoritmus Coke-Younger-Kasami pro rozpoznávání bezkontextových jazyků VŠB-TU Ostrava:Fakulta Elektrotechniky a informatiky jaro 2011 Martin Dočkal doc068 dockal.martin@gmail.com

Více

Projektový management

Projektový management Projektový management Osnova - Metody a techniky plánování projektu - Časové plány a jejich úrovně - Ganttův diagram a síťový graf - Strukturní plán, dokumentace staveb Ing. Jana Nováková Ústav stavební

Více

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})

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}) Teoretická informatika průběh výuky v semestru 1 Týden 4 Přednáška Ukázali jsme jednoduchý převod konečného automatu na bezkontextovou gramatiku, čímž jsme prokázali, že každý regulární jazyk je bezkontextovým

Více

Dynamické programování

Dynamické programování Dynamické programování prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy (BI-EFA)

Více

Morfologická analýza Bezkontextové gramatiky

Morfologická analýza Bezkontextové gramatiky Počítačové zpracování přirozeného jazyka Morfologická analýza Bezkontextové gramatiky Daniel Zeman http://ufal.mff.cuni.cz/course/popj1/ Bezkontextové gramatiky Zkratka CFG (context-free grammar) Čtveřice

Více

Syntaktická analýza založená na multigenerativních systémech Závěrečná práce z předmětu TJD. Jakub Martiško

Syntaktická analýza založená na multigenerativních systémech Závěrečná práce z předmětu TJD. Jakub Martiško Syntaktická analýza založená na multigenerativních systémech Závěrečná práce z předmětu TJD Jakub Martiško 29. ledna 2016 Obsah 1 Úvod 2 2 Definice a pojmy 4 2.1 Syntaktická analýza...............................

Více

Limita a spojitost funkce a zobrazení jedné reálné proměnné

Limita a spojitost funkce a zobrazení jedné reálné proměnné Přednáška 4 Limita a spojitost funkce a zobrazení jedné reálné proměnné V několika následujících přednáškách budeme studovat zobrazení jedné reálné proměnné f : X Y, kde X R a Y R k. Protože pro každé

Více

Strukturální rozpoznávání

Strukturální rozpoznávání Strukturální rozpoznávání 1 Strukturální rozpoznávání obsah hierarchický strukturální popis systém strukturálního rozpoznávání teorie gramatik volba popisu výběr primitiv výběr gramatiky syntaktická analýza

Více

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi

Více

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ

OSTRAVSKÁ UNIVERZITA V OSTRAVĚ OSTRAVSKÁ UNIVERZITA V OSTRAVĚ REGULÁRNÍ A BEZKONTEXTOVÉ JAZYKY II HASHIM HABIBALLA OSTRAVA 2005 Recenzenti: RNDr. PaedDr. Eva Volná, PhD. Mgr. Rostislav Fojtík Název: Regulární a bezkontextové jazyky

Více

PŘEDNÁŠKA 2 POSLOUPNOSTI

PŘEDNÁŠKA 2 POSLOUPNOSTI PŘEDNÁŠKA 2 POSLOUPNOSTI 2.1 Zobrazení 2 Definice 1. Uvažujme libovolné neprázdné množiny A, B. Zobrazení množiny A do množiny B je definováno jako množina F uspořádaných dvojic (x, y A B, kde ke každému

Více

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019 Grafy 16. dubna 2019 Tvrzení. Je dán graf G, pak následující je ekvivalentní. 1 G je strom. 2 Graf G nemá kružnice a přidáme-li ke grafu libovolnou hranu, uzavřeme přesně jednu kružnici. 3 Graf G je souvislý

Více

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

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY SYNTAKTICKÁ ANALÝZA ZALOŽENÁ NA MULTIGENEROVÁNÍ PARSING BASED ON MULTIGENERATION VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS SYNTAKTICKÁ ANALÝZA

Více

Složitost Filip Hlásek

Složitost Filip Hlásek Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,

Více

Základy teoretické informatiky Formální jazyky a automaty

Základy teoretické informatiky Formální jazyky a automaty Základy teoretické informatiky Formální jazyky a automaty Petr Osička KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI Outline Literatura Obsah J.E. Hopcroft, R. Motwani, J.D. Ullman Introduction to

Více

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

Regulární výrazy. M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března / 20 Regulární výrazy M. Kot, Z. Sawa (VŠB-TU Ostrava) Úvod do teoretické informatiky 14. března 2007 1/ 20 Regulární výrazy Jako například v aritmetice můžeme pomocí operátorů + a vytvářet výrazy jako (5+3)

Více

Univerzální Turingův stroj a Nedeterministický Turingův stroj

Univerzální Turingův stroj a Nedeterministický Turingův stroj 27 Kapitola 4 Univerzální Turingův stroj a Nedeterministický Turingův stroj 4.1 Nedeterministický TS Obdobně jako u konečných automatů zavedeme nedeterminismus. Definice 14. Nedeterministický Turingův

Více

6. Zobrazení δ: (a) δ(q 0, x) obsahuje x i, x i Z. (b) δ(x i, y) obsahuje y j, x i y j P 7. Množina F je množinou koncových stavů.

6. Zobrazení δ: (a) δ(q 0, x) obsahuje x i, x i Z. (b) δ(x i, y) obsahuje y j, x i y j P 7. Množina F je množinou koncových stavů. Vzth mezi reg. výrzy kon. utomty Automty grmtiky(bi-aag) 7. Převody mezi reg. grm., reg. výrzy kon. utomty Jn Holu Algoritmus (okrčování): 6. Zorzení δ: () δ(, x) oshuje x i, x i Z. () δ(x i, y) oshuje

Více

1. Jordanův kanonický tvar

1. Jordanův kanonický tvar . Jordanův kanonický tvar Obecně nelze pro zadaný lineární operátor ϕ : U U najít bázi α takovou, že (ϕ) α,α by byla diagonální. Obecně však platí, že pro každý lineární operátor ϕ : U U nad komplexními

Více

ALGORITMY A DATOVÉ STRUKTURY

ALGORITMY A DATOVÉ STRUKTURY Název tématického celku: Cíl: ALGORITMY A DATOVÉ STRUKTURY Metodický list č. 1 Časová složitost algoritmů Základním cílem tohoto tematického celku je vysvětlení potřebných pojmů a definic nutných k popisu

Více

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet. 4 Stromy a les Jedním ze základních, a patrně nejjednodušším, typem grafů jsou takzvané stromy. Jedná se o souvislé grafy bez kružnic. Přes svou (zdánlivou) jednoduchost mají stromy bohatou strukturu a

Více

TÉMATICKÝ OKRUH TZD, DIS a TIS

TÉMATICKÝ OKRUH TZD, DIS a TIS TÉMATICKÝ OKRUH TZD, DIS a TIS Číslo otázky : 27. Otázka : Principy moderních překladačů, virtuální stroj. Obsah : 1.Překladač a jeho struktura 2.Druhy překladačů 3.Hlavní části překladače 3.1 Lexikální

Více

základů algoritmizace

základů algoritmizace Mendelova univerzita v Brně Provozně ekonomická fakulta Punťa - vývojové prostředí pro výuku základů algoritmizace Diplomová práce Vedoucí práce: Mgr. Tomáš Foltýnek, Ph.D. Bc. Marek Fojtl Brno 2010 zadání

Více

α = 210 A x =... kn A y =... kn A M =... knm

α = 210 A x =... kn A y =... kn A M =... knm Vzorový příklad k 1. kontrolnímu testu Konzola Zadání: Vypočtěte složky reakcí a vykreslete průběhy vnitřních sil. A x A M A y y q = kn/m M = - 5kNm A α B c a b d F = 10 kn 1 1 3,5,5 L = 10 x α = 10 A

Více

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010

prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. BI-ZMA ZS 2009/2010 Věty o přírustku funkce prof. RNDr. Čestmír Burdík DrCs. prof. Ing. Edita Pelantová CSc. Katedra matematiky České vysoké učení technické v Praze c Čestmír Burdík, Edita Pelantová 2009 Základy matematické

Více

Základy matematické analýzy

Základy matematické analýzy Základy matematické analýzy Spojitost funkce Ing. Tomáš Kalvoda, Ph.D. 1, Ing. Daniel Vašata 2 1 tomas.kalvoda@fit.cvut.cz 2 daniel.vasata@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních

Více

4EK311 Operační výzkum. 5. Teorie grafů

4EK311 Operační výzkum. 5. Teorie grafů 4EK311 Operační výzkum 5. Teorie grafů 5. Teorie grafů definice grafu Graf G = uspořádaná dvojice (V, E), kde V označuje množinu n uzlů u 1, u 2,, u n (u i, i = 1, 2,, n) a E označuje množinu hran h ij,

Více

Poslední aktualizace: 14. října 2011

Poslední aktualizace: 14. října 2011 Lexikální analýza Překladače, přednáška č. 2 Šárka Vavrečková Ústav informatiky, FPF SU Opava sarka.vavreckova@fpf.slu.cz http://fpf.slu.cz/ vav10ui Poslední aktualizace: 14. října 2011 Symboly Co je to

Více

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

Postův korespondenční problém. Meze rozhodnutelnosti 2 p.1/13 Postův korespondenční problém Meze rozhodnutelnosti 2 p.1/13 Postův korespondenční problém Definice 10.1 Postův systém nad abecedou Σ je dán neprázdným seznamem S dvojic neprázdných řetězců nadσ, S = (α

Více

Automaty a gramatiky. Roman Barták, KTIML. Separované gramatiky. Kontextové gramatiky. Chomského hierarchie

Automaty a gramatiky. Roman Barták, KTIML. Separované gramatiky. Kontextové gramatiky. Chomského hierarchie Chomského hierarchie Automaty a gramatiky Roman Barták, KTIML bartak@ktiml.mff.cuni.cz http://ktiml.mff.cuni.cz/~bartak gramatiky typu 0 (rekurzivně spočetné jazyky L 0 ) pravidla v obecné formě gramatiky

Více

Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce

Obsah. Aplikovaná matematika I. Gottfried Wilhelm Leibniz. Základní vlastnosti a vzorce Neurčitý integrál Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah Primitivní funkce, neurčitý integrál Základní vlastnosti a vzorce Základní integrační metody Úpravy integrandu Integrace racionálních

Více

Stromy, haldy, prioritní fronty

Stromy, haldy, prioritní fronty Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík

Více

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

Bezkontextové jazyky 3/3. Bezkontextové jazyky 3 p.1/27 Bezkontextové jazyky 3/3 Bezkontextové jazyky 3 p.1/27 Vlastnosti bezkontextových jazyků Bezkontextové jazyky 3 p.2/27 Pumping teorém pro BJ Věta 6.1 Necht L je bezkontextový jazyk. Pak existuje konstanta

Více

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

Regulární výrazy. Definice Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: IB102 Automaty, gramatiky a složitost, 6. 10. 2014 1/29 Regulární výrazy Definice 2.58. Množina regulárních výrazů nad abecedou Σ, označovaná RE(Σ), je definována induktivně takto: 1 ε, a a pro každé a

Více

Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620

Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620 Binární vyhledávací strom pomocí směrníků Miroslav Hostaša L06620 1. Vymezení pojmů Strom: Strom je takové uspořádání prvků - vrcholů, ve kterém lze rozeznat předchůdce - rodiče a následovníky - syny.

Více

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

Výroková a predikátová logika - III Výroková a predikátová logika - III Petr Gregor KTIML MFF UK ZS 2017/2018 Petr Gregor (KTIML MFF UK) Výroková a predikátová logika - III ZS 2017/2018 1 / 16 2-SAT 2-SAT Výrok je v k-cnf, je-li v CNF a

Více

Teorie grafů. Kostra grafu. Obsah. Radim Farana Podklady pro výuku pro akademický rok 2013/2014

Teorie grafů. Kostra grafu. Obsah. Radim Farana Podklady pro výuku pro akademický rok 2013/2014 Teorie grafů Radim Farana Podklady pro výuku pro akademický rok 013/014 Obsah Kostra grafu. Tahy,. Úloha čínského pošťáka. Zdroj: Vítečková, M., Přidal, P. & Koudela, T. Výukový modul k předmětu Systémová

Více

Jak funguje asymetrické šifrování?

Jak funguje asymetrické šifrování? Jak funguje asymetrické šifrování? Petr Vodstrčil petr.vodstrcil@vsb.cz Katedra aplikované matematiky, Fakulta elektrotechniky a informatiky, Vysoká škola báňská Technická univerzita Ostrava Petr Vodstrčil

Více

Programování v čistém Prologu

Programování v čistém Prologu Programování v čistém Prologu Petr Štěpánek S využitím materiálu Krysztofa R. Apta 2006 Logické programování 9 1 Ukázali jsme, že logické programy mohou sloužit k výpočtům. Volně řečeno, logiské programz

Více

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A

Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A Každá úloha je hodnocena maximálně 25 body. Všechny své odpovědi zdůvodněte! 1. Postavte na stůl do řady vedle

Více

Teoretická informatika

Teoretická informatika Teoretická informatika Ladislav Lhotka lhotka@cesnet.cz 2011-12 Zdroje LINZ, P. Formal Languages and Automata, Fourth Edition. Sudbury: Jones and Bartlett, 2006, 415+xiii s. ISBN 07-63-73798-4. CHYTIL,

Více

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase -stromy a rozpoznávání intervalových grafů v lineárním čase ermutace s předepsanými intervaly Označme [n] množinu {1, 2,..., n}. Mějme permutaci π = π 1, π 2,..., π n množiny [n]. Řekneme, že množina S

Více

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i,

Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, [161014-1204 ] 11 2.1.35 Konstrukce relace. Postupně konstruujeme na množině všech stavů Q relace i, kde i = 0, 1,..., takto: p 0 q právě tehdy, když bud p, q F nebo p, q F. Dokud i+1 i konstruujeme p

Více

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)

Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6) 1. Lineární diferenciální rovnice řádu n [MA1-18:P1.7] rovnice typu y n) + p n 1 )y n 1) +... + p 1 )y + p 0 )y = q) 6) počáteční podmínky: y 0 ) = y 0 y 0 ) = y 1 y n 1) 0 ) = y n 1. 7) Věta 1.3 : Necht

Více

Vysoké učení technické v Brně Fakulta informačních technologií. Gramatiky nad volnými grupami Petr Blatný

Vysoké učení technické v Brně Fakulta informačních technologií. Gramatiky nad volnými grupami Petr Blatný Vysoké učení technické v Brně Fakulta informačních technologií Gramatiky nad volnými grupami 2005 Petr Blatný Abstrakt Tento dokument zavádí pojmy bezkontextové gramatiky nad volnou grupou a E0L gramatiky

Více

Naproti tomu gramatika je vlastně soupis pravidel, jak

Naproti tomu gramatika je vlastně soupis pravidel, jak 1 Kapitola 1 Úvod V přednášce se zaměříme hlavně na konečný popis obecně nekonečných množin řetězců symbolů dané množiny A. Prvkům množiny A budeme říkat písmena, řetězcům (konečným posloupnostem) písmen

Více