|
Syntaktická analýza založená na multigenerování
Kyjovská, Linda ; Přikryl, Zdeněk (oponent) ; Lukáš, Roman (vedoucí práce)
Práce se zabývá problematikou syntaktické analýzy založené na multigenerování. Cílem je vytvořit program, který zadaný vstupní řetězec transformuje na n- 1 výstupních řetězců. Vstupem programu je uživatelem vytvořený textový soubor obsahující pravidla n gramatik. Právě jedna gramatika je označena za vstupní a zbývajících n- 1gramatik se stává výstupními gramatikami. Na základě vstupní gramatiky se provede syntaktická analýza uživatelem zadaného řetězce, která nám určí použitá gramatická pravidla. Paralelně s touto analýzou vytváříme výstupní řetězce za použití zbývajících n- 1 gramatik. Implementace bude provedena pomocí technologií C++ a Bison.
|
|
Syntaktická analýza založená na gramatických systémech
Sedmík, Adam ; Klobučníková, Dominika (oponent) ; Meduna, Alexandr (vedoucí práce)
Práce se zabývá problematikou gramatických systémů a syntaktické analýzy. V práci jsou představeny kooperačně distribuované a paralelně komunikující gramatické systémy. Na základě znalostí o gramatických systémech je navrhnut nový typ gramatických systémů se zaměřením na modularizaci syntaktické analýzy. Jsou předvedeny metody syntaktické analýzy, metoda rekurzivního sestupu a precedenční syntaktická analýza. Navržené gramatické systémy jsou předvedeny na syntaktické analýze vlastního programovacího jazyka.
|
|
Převod gramatik do normálních forem
Klapuchová, Mirka ; Koutný, Jiří (oponent) ; Zemek, Petr (vedoucí práce)
Práce se zabývá problematikou normálních forem z teorie formálních jazyků. Jsou zde uvedeny základní pojmy z této oblasti, dále různé typy gramatik a především normální formy a algoritmy pro převod gramatik do těchto forem. Součástí práce je popis návrhu a implementace programu, který slouží k převodu vstupní gramatiky do zadané normální formy.
|
| |
|
Obecný systém pro testování interpretů
Drahošová, Michaela ; Koutný, Jiří (oponent) ; Lukáš, Roman (vedoucí práce)
Práce se zabývá návrhem a implementací systému pro testování interpretů. Testování interpretů je založeno na principu porovnání výsledků interpretace testovacího programu s referenčními výsledky. Sada testovacích programů je získána pomocí překladu testovacích programů v referenčním jazyce na programy v jazyce testovaného interpretu. Testovací systém umožňuje po analýze souboru, který obsahuje popis syntaxe a sémantiky jazyka interpretu, vygenerovat testovací sadu programů pro interpret s odpovídajícími vstupy a referenčními výstupy. Pro tento účel využívá překladu jednoho vyššího programovacího jazyka na jiný.
|
|
Syntaktická analýza založená na maticových gramatikách
Brindza, Dominik ; Horáček, Petr (oponent) ; Zámečníková, Eva (vedoucí práce)
Tato bakalářská práce se zabývá syntaktickou analýzou založenou na maticových gramatikách. V teoretické části nejdříve přináší několik různých pohledů na tento typ řízených gramatik a zkoumá podobnosti s klasickými bezkontextovými gramatikami. Z těchto podobností se poté v praktické části snaží vycházet při návrhu modelu prediktivní syntaktické analýzy pro některé kontextové jazyky, ke kterým můžeme sestrojit odpovídající maticové gramatiky, které je generují. V práci jsou rovněž prezentovány některé experimentální algoritmy a návrh řešení, které by se daly spíše využít při dalším vývoji projektu.
|
|
Hluboký syntaxí řízený překlad
Senko, Jozef ; Kučera, Jiří (oponent) ; Meduna, Alexandr (vedoucí práce)
Tato práce volně navazuje na moji bakalářskou práci, která byla věnována syntaktické analýze s použítím hlubokých zásobníkových. V teoretické části je této práce je definováno vše potřebné a základní pro tuto problematiku, jako například hlubokému syntaxí řízenému překladu, zásobníkovým automatům, hlubokým zásobníkovým automatům, konečným převodníkům a hlubokým zásobníkovým převodníkům. Ve druhé části se věnuji programu, který je součástí této práce, kdy se jedná o program, který je určený pro předmět IFJ. V této části je rozebrán návrh programu, struktura a jednotlivé části programu jak z teoretické, tak i z praktické stránky.
|
| |
|
Demonstrace vlastností stromových gramatik
Kunštátský, Martin ; Čermák, Martin (oponent) ; Koutný, Jiří (vedoucí práce)
Stromové gramatiky jsou gramatiky řízené prostřednictvím omezení kladených na jejich derivační stromy. Jedná se o jednoduché a přirozené rozšíření bezkontextových gramatik. Existuje několik typů kontroly derivačního stromu, v této práci jsou zmíněny dva principy: horizontální a vertikální kontrola. Součástí této práce je také aplikace pro demonstraci vlastností stromových gramatik, implementovaná v jazyce Python.
|
|
O vymazávacích pravidlech v řízených gramatikách
Zemek, Petr ; Koutný, Jiří (oponent) ; Meduna, Alexandr (vedoucí práce)
V této práci je diskutován vliv vymazávacích pravidel na generativní sílu řízených gramatik, což je velký otevřený problém teorie řízeného přepisování. Tato práce studuje možnost odstranění vymazávacích pravidel z těchto gramatik tak, že shromažďuje aktuální výsledky na toto téma a přináší novou podmínku, nazvanou k-limitované vymazávání, která zaručuje, že jsme bez vlivu na generovaný jazyk schopni odstranit všechna vymazávací pravidla z libovolné bezkontextové gramatiky řízené regulárním jazykem splňující tuto podmínku. Tento výsledek je částečným řešením výše zmíněného problému. Mimoto je prezentován nový algoritmus k odstranění vymazávacích pravidel z bezkontextových gramatik, který nepotřebuje předurčovat tzv. epsilon-neterminály (na rozdíl od standardního algoritmu používaného v učebnicích). V závěru je zhodnocen přínos těchto výsledků pro syntaktickou analýzu.
|