Original title:
Konverze modelů regulárních jazyků
Translated title:
Conversion of Models of Regular Languages
Authors:
Navrkal, David ; Kučera, Jiří (referee) ; Křivka, Zbyněk (advisor) Document type: Bachelor's theses
Year:
2014
Language:
cze Publisher:
Vysoké učení technické v Brně. Fakulta informačních technologií Abstract:
[cze][eng]
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.
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; } My thesis deals with how to didactically demonstrate models of regular languages focusing on their mutual conversions. These conversions are transformation of regular expressions to finite automata (FA), remove epsilon rules from FA and determinization FA. The goal was implement demonstration of these transformations in an application. In this thesis I document development of this application. This application was programmed in language C++ using graphic library Qt 5. The application was developed in an operating system (OS) Linux and tested in OS Microsoft Windows 7. All these conversions are implemented. The application is user-friendly, intuitive and functional. The application was not tested on a wider sample of students. As the main benefit, the application can help students of formal languages and finite automata better understand this theory using didactical examples. Source codes of this project (regularConvertor) are available online on Github server.
Keywords:
0; 0); line-height: 150%; widows: 2; orphans: 2; }p.western { font-family: "Times New Roman"; conversions; formal languages; p { margin-bottom: 0.08in; direction: ltr; color: rgb(0; precedence table; Qt5.; regular expression; regular grammar; regular models; 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; } Finite automaton; syntax analysis; 0; 0); line-height: 150%; widows: 2; orphans: 2; }p.western { font-family: "Times New Roman"; formální jazyky; konverze; p { margin-bottom: 0.08in; direction: ltr; color: rgb(0; precedenční tabulka; Qt5.; regulární gramatika; regulární modely; regulární výraz; 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; } Konečný automat; syntaktická analýza
Institution: Brno University of Technology
(web)
Document availability information: Fulltext is available in the Brno University of Technology Digital Library. Original record: http://hdl.handle.net/11012/56547