Návrh a implementace knihovny pro parsování bezkontextových gramatik
Design and implementation of a context-free grammar parsing library
Typ dokumentu
bakalářská prácebachelor thesis
Autor
Valkovič Patrik
Vedoucí práce
Trávníček Jan
Oponent práce
Hrončok Miroslav
Studijní obor
Webové a softwarové inženýrstvíStudijní program
InformatikaInstituce přidělující hodnost
katedra softwarového inženýrstvíPráva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Cílem práce je vytvořit knihovnu, která striktně oddělí syntaktickou a sémantickou část zpracování strukturovaného textu při zachování snadného použití a jednoduchosti. Práce se zaměřuje na parsování bezkontextových gramatik v jazyce Python. Pro implementaci byl zvolen Cocke-Younger-Kasami algoritmus z důvodu největší robustnosti v oblasti bezkontextových gramatik. Pro zjednodušení práce knihovna implementuje transformace gramatik do Chomského normální formy i jejich opačnou verzi nad parsovacím stromem. Tím knihovna poskytuje univerzální nástroj pro parsování. Knihovna byla úspěšně implementovaná a publikována. Funkčnost knihovny je demonstrována na lambda kalkulu, jenž je parsován a interpretován. The goal of this thesis is to develop library that strictly separate syntactic and semantic part of the parsing proccess. Library is suppose to be simple and easy to use. Library parsing proccess uses context-free grammars and Cocke-Younger-Kasami algorithm, because of it's versatility. Library is developed in Python programming language. To simplify parsing proccess, the library implements transformations into Chomsky normal form. Moreover, it also implements backward transformations of the parsed tree. For that particular reasons, library provides complex parsing tool. The library was successfully implemented and published. The functionality of the library is demonstrated on lambda calculus interpreter, which functionality is to parse and interpret lambda calculus.
Kolekce
- Bakalářské práce - 18102 [1745]