|
Syntaktická analýza a validace datových modelů popsaných jazykem YANG
Vican, Pavol ; Kekely, Lukáš (oponent) ; Kořenek, Jan (vedoucí práce)
Administrátori počítačových sietí potrebujú nástroje na konfiguráciu a monitorovanie sieťových zariadení. Z tohto dôvodu bol vytvorený protokol NETCONF, určený na vzdialenú konfiguráciu, a modelovací jazyk YANG, ktorý popisuje štruktúru a sémantiku konfiguračných dát. Cieľom tejto práce je rozšírenie knižnice libyang o syntaktický analyzátor, ktorý spracováva modely popísané jazykom YANG a ukladá ich do interných štruktúr knižnice libyang. Tento analyzátor je vygenerovaný pomocou nástrojov bison a flex.
|
| |
|
Konverze modelů regulárních jazyků
Navrkal, David ; Kučera, Jiří (oponent) ; Křivka, Zbyněk (vedoucí práce)
p { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); line-height: 150%; widows: 2; orphans: 2; }p.western { font-family: "Times New Roman",serif; font-size: 11pt; }p.cjk { font-family: "Times New Roman",serif; font-size: 11pt; }p.ctl { font-family: "Times New Roman",serif; font-size: 12pt; } p { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); line-height: 150%; widows: 2; orphans: 2; }p.western { font-family: "Times New Roman",serif; font-size: 11pt; }p.cjk { font-family: "Times New Roman",serif; font-size: 11pt; }p.ctl { font-family: "Times New Roman",serif; font-size: 12pt; } Moje práce se zabývá, jak didakticky prezentovat studentům modely regulárních jazyků se zaměřením na jejich vzájemné konverze. Tyto konverze jsou převod regulárního výrazu na konečný automat (KA), odstranění epsilon pravidel z KA a determinizace KA. Cílem bylo toto implementovat aplikaci. V této práci dokumentuji vývoj této aplikace. Tuto aplikaci jsem programoval v jazyku C++ za použití grafické knihovny Qt 5. Aplikaci jsem vyvíjel v operačním systému Linux a testoval v prostředí Microsoft Windows 7. Všechny tyto konverze jsou implementovány. Aplikace je uživatelsky přívětivá, intuitivní a funkční. Aplikace nebyla testována na širším vzorku studentů. Přínosem této práce je aplikace, která pomůže studentům formálních jazyků a automatů lépe pochopit a procvičit si tuto teorii na příkladech. Zdrojové kódy tohoto projektu (regularConvertor) jsou dostupné online na serveru Github. p { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); line-height: 150%; widows: 2; orphans: 2; }p.western { font-family: "Times New Roman",serif; font-size: 11pt; }p.cjk { font-family: "Times New Roman",serif; font-size: 11pt; }p.ctl { font-family: "Times New Roman",serif; font-size: 12pt; }ráce se zabývá, jak didakticky prezentovat studentům modely regulárních jazyků se zaměřením na jejich vzájemné konverze. Tyto konverze jsou převod regulárního výrazu na konečný automat (KA), odstranění epsilon pravidel z KA a determinizace KA. Cílem bylo toto implementovat aplikaci. V této práci dokumentuji vývoj této aplikace.
|
| |
|
Kombinovaná syntaktická analýza založená na několika metodách
Dolíhal, Luděk ; Masopust, Tomáš (oponent) ; Meduna, Alexandr (vedoucí práce)
Hlavním cílem této práce je analýza tvorby komponentního syntaktického analyzátoru. Komponentním syntaktickým analyzátorem se zde myslí analyzátor, který je složen z několika vzájemně spolupracujících částí. V mém případě jsou to části dvě. V práci bych se chtěl zaměřit především na konstrukci jednotlivých částí překladače, dále na jejich vzájemnou komunikaci a spolupráci. Taktéž se pokusím obhájit, zda je vůbec potřebné a vhodné takový typ parseru vytvářet. V neposlední řadě pak bude analyzován jazyk jehož syntaktický analyzátor bude implementován zvolenou metodou.
|
|
Modifikace syntaktické analýzy
Macek, Roman ; Jirák, Ota (oponent) ; Dolíhal, Luděk (vedoucí práce)
Bakalářská práce se zabývá modifikací metody syntaktické analýzy zvané rekurzivní sestup. Práce se zaměřuje především na zvýšení síly této metody. Je navrženo vylepšení metody, aby byla schopna analyzovat i nejednoznačné gramatiky. V práci je navržen jazyk a jeho gramatika, na jejímž základě je provedena implementace demonstrační aplikace. Program provede lexikální a syntaktickou analýzu daného zdrojového kódu a výstupem je několik seznamů pravidel, pomocí kterých lze rozložit daný vstup.
|
| |
|
Syntaktická analýza řízených gramatik
Šrajer, Roman ; Čermák, Martin (oponent) ; Křivka, Zbyněk (vedoucí práce)
Diplomová práce se zabývá řízenými gramatikami, jejich principem a vyjadřovacími schopnostmi vzhledem k Chomského klasi kaci jazyků. Více do detailů je probrána programovaná gramatika z hlediska různých typů nejlevějších derivací. V práci je prezentována varianta deterministické syntaktické analýzy programovaných gramatik, která pracuje podobně jako analýza LL(k) gramatik. Dále jsou představeny algoritmy pro převod maticových gramatik na programované bez změny vyjadřovací síly. Rovněž je prezentován mechanismus syntaktické analýzy regulárně řízených gramatik za pomocí programované gramatiky. Nakonec jsou prezentovány kooperující distribuované gramatiky s levě povolujícími gramatikami jako komponenty. Jejich syntaktická analýza je zajištěna buď deterministicky pomocí prediktivní tabulky nebo prohledáváním stavového prostoru.
|
|
Syntaxí řízený překlad založený na hlubokých zásobníkových automatech
Solár, Peter ; Lukáš, Roman (oponent) ; Meduna, Alexandr (vedoucí práce)
Tato práce představuje zavádí syntaxí řízený překlad založený na použití hlubokých zásobníkových automatů. V teoretické části jde především o zavedení potřebných teoretických modelů. Nejdůležitějším modelem představeným v této práci je hluboký zásobníkový převodník, který lze jednoduše využít při nejdůležitější části překladu - syntaktické analýze. V praktické části je ilustrováno využití nově zavedených modelů při implementaci interpretu jednoduchého programovacího jazyka.
|
|
Syntaktická analýza založená na řadě metod
Dolíhal, Luděk ; Goldefus, Filip (oponent) ; Meduna, Alexandr (vedoucí práce)
p, li { white-space: pre-wrap; } Hlavním cílem této práce je analýza tvorby komponentního překladače. Komponentním překladačem se zde myslí systém, který je složen z~několika vzájemně spolupracujících částí. Můj překladač je zvláštní v tom, že jeho syntaktická část sestává ze svou vzájemně spolupracujících částí. V~práci bych se chtěl zaměřit především na konstrukci jednotlivých částí překladače, dále na jejich vzájemnou komunikaci a spolupráci. Bude také nastíněno teoretické pozadí takovéhoto řešení a to pomocí gramatických systémů. Taktéž se pokusím obhájit, zda je vůbec potřebné a vhodné takový typ parseru vytvářet. V~neposlední řadě pak bude analyzován jazyk, jehož syntaktický analyzátor bude implementován zvolenou metodou.
|