|
Syntaktická analýza založená na několika gramatikách
Koumar, Ondřej ; Havel, Martin (oponent) ; Meduna, Alexandr (vedoucí práce)
Tato práce se zabývá výzkumem CD gramatických systémů a jejich využití v syntaktické analýze. Cílem je navrhnout syntaktický analyzátor kombinující techniku shora dolů i zdola nahoru pro CD gramatický systém popisující jazyk generovaný LL gramatikou za použití deterministického zásobníkového automatu. Cílů je dosaženo zavedením pozměněné LL tabulky s uspořádanými dvojicemi, které odkazují na pravidla v jednotlivých komponentách. Tento koncept je demonstrován na novém programovacím jazyce Koubp, pro který je implementován syntaktický analyzátor v jazyce C++.
|
|
Gramatické systémy a jejich aplikace
Kříčka, Dalibor ; Klembara, Radovan (oponent) ; Meduna, Alexandr (vedoucí práce)
Cílem této práce je zavést nový typ kooperačně distribuovaného (CD) gramatického systému na základě typů již existujících, následně konkrétní gramatický systém tohoto typu definovat a aplikovat ho v rámci syntaktického analyzátoru. Nově zavedený typ kombinuje vlastnosti hybridních CD gramatických systémů a CD gramatických systémů s vnitřním řízením a klade důraz na determinismus komunikačního protokolu. Konkrétně definovaný gramatický systém aplikuje tři metody syntaktické analýzy (prediktivní LL, precedenční a SLR) a přijímá podmnožinu jazyka C++. Praktický aspekt práce demonstruje aplikovatelnost zmíněného gramatického systému formou konzolové aplikace implementující přední část překladače, do které je gramatický systém zakomponován.
|
|
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 modifikovaných zásobníkových automatech
Pluháček, David ; Lukáš, Roman (oponent) ; Meduna, Alexandr (vedoucí práce)
Práce prezentuje nové modely formálních jazyk, m-omezenou stavovou gramatiku a hluboký zásobníkový automat. Uvádí jejich základní definice, vzájemnou ekvivalenci, a charakteristiku jazyků, jež popisují. Následně je představena metoda syntaktické analýzy, založená na těchto nástrojích. Ta vychází z obdobné metody používané u bezkontextových jazyk, tzv. analýzy řízené LL tabulkou. V závěru práce je popsán postup implementace syntaktického analyzátoru, založeného na této metodě.
|
|
Strojové učení pro odvozování modelů formálních jazyků
Bardonek, Petr ; Kocman, Radim (oponent) ; Křivka, Zbyněk (vedoucí práce)
Tato bakalářská práce se zabývá odvozováním modelů formálních jazyků. Jedná se o vědní disciplínu na poli výzkumu umělé inteligence. Cílem je vytvořit aplikaci umožňující automatické vytvoření modelu, v podobě konečného automatu, pro neznámý formální jazyk na základě množiny řetězců neznámého formálního jazyka s využitím upravené metody strojového učení.
|
|
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.
|
|
Modifikované zásobníkové automaty
Hromádka, David ; Solár, Peter (oponent) ; Meduna, Alexandr (vedoucí práce)
Tato práce zavádí omezené Hromádkovy automaty jako rozšíření zásobníkových automatů. Toto rozšíření spočívá v~tom, že automat může za běhu vytvářet nové zásobníky, vkládat do nich symboly vstupní abecedy, spojovat je a porovnávat se vstupním řetězcem. Počet takto vytvořených zásobníků je omezen zvolenou konstantou n . Dále tato práce popisuje implementaci aplikace, která činnost těchto automatů realizuje a hledá posloupnost derivačních kroků, kterými určitý omezený Hromádkův automat přijme zadaný vstupní řetězec.
|
|
Částečně paralelní hluboké zásobníkové převodníky a jejich aplikace
Putala, Marek ; Dolejška, Daniel (oponent) ; Meduna, Alexandr (vedoucí práce)
Cílem této práce bylo seznámit se s hlubokými zásobníkovými automaty a na základě získaných znalostí dále navrhnout, formálně definovat a implementovat částečně paralelní hluboký zásobníkový převodník. Jedná se o rozšíření hlubokých zásobníkových převodníků, které je na zásobníku schopné v jednom kroku přistupovat k non-terminálním symbolům současně. S vhodně zvolenou konfigurací ve formě pravidel mohou zpracovat vstupní řetězec s menším množstvím přechodů, a tím pádem mají oproti hlubokým zásobníkovým převodníkům vyšší rychlost.
|