Vlastnosti Derivační strom Metody Metoda shora dolů Metoda zdola nahoru Pomocné množiny. Syntaktická analýza. Metody a nástroje syntaktické analýzy
|
|
- Adam Kopecký
- před 5 lety
- Počet zobrazení:
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
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íceVý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ícePROGRAMOVACÍ 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íceSyntaxí ří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íceKapitola 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íceBezkontextové 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íceAutomaty 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
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íceFormá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íceImplementace 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íceTuringovy 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íceSyntaktická 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íceVztah 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ícedoplně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:
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íceAutomaty 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íceNá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íceBezkontextové 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
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íceAUTOMATY 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íce2 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íceVYSOKÉ 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ícePoslední 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íceBezkontextové 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íceNa 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íceBezkontextové 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íce1. 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íceSyntaxí ří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íceVirtuá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íceZá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ícepopel, 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íceAutomaty 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íce63. 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ícePř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 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íceOperač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íceInterpolace, 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íceZ. 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íceFormá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íce4.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ícef(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íce5 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íceAutomaty 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íceObsah 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íceSuffixové 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íceSTROMOVE 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íceSysté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íceKapitola 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íce1. 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ícePŘ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íceBRNO 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íceSpojitost 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íceSYNTAKTICKÁ 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íceDerivace 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íceReferá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íceProjektový 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ícePř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íceDynamické 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íceMorfologická 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íceSyntaktická 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íceLimita 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íceStrukturá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íceVektory 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íceOSTRAVSKÁ 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ícePŘ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íceKostry. 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íceVYSOKÉ 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íceSlož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íceZá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íceRegulá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íceUniverzá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íce6. 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íce1. 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íceALGORITMY 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íce4 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íceTÉ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ícezá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
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íceprof. 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íceZá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íce4EK311 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ícePoslední 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ícePostů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íceAutomaty 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íceObsah. 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íceStromy, 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íceBezkontextové 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íceRegulá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íceBiná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íceVý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íceTeorie 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íceJak 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íceProgramová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íceInformatika 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íceTeoretická 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ícePQ-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íceKonstrukce 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íceVě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íceVysoké 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íceNaproti 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