Interaktivní generátor syntaxe heterogenních datových struktur

but.committeedoc. Ing. Ondřej Ryšavý, Ph.D. (předseda) doc. Dr. Ing. Otto Fučík (místopředseda) doc. Ing. Michal Bidlo, Ph.D. (člen) Ing. Ondřej Lengál, Ph.D. (člen) Ing. Igor Szőke, Ph.D. (člen)cs
but.defenceStudent nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm B. Otázky u obhajoby: Na základě čeho jste zvolil formu popisu, kterou uživatel specifikuje? Jakého typu je výsledná gramatika? Uvažoval jste možnost automatizovaného generování gramatiky? Jak je možné, že gramatika generuje nedosažitelná pravidla Jaký syntaktický analyzátor používáte? Je možnost z gramatiky vygenerovat parser? Je vnitřně specifikovaná gramatika cílového jazyka nebo ji dodává uživatel?cs
but.jazykčeština (Czech)
but.programInformační technologiecs
but.resultpráce byla úspěšně obhájenacs
dc.contributor.advisorSmrčka, Alešcs
dc.contributor.authorKotraš, Martincs
dc.contributor.refereeJanoušek, Vladimírcs
dc.date.created2020cs
dc.description.abstractV dnešní době jsou softwarové systémy často skládány z několika komponent předávající si data různými komunikačními kanály. I přes to, že existuje řada standardizovaných formátů kódování dat, vývojáři stále vytváří své vlastní většinou s ohledem na specifické použití jimi vytvářeného softwaru. Jednou ze zásadních částí ověření kvality nebo minimalizace chyb z přenosu dat je validace vstupních dat. Prvním krokem k validaci je formalizace jazyka popisující datové struktury. Nejobecnějším formalismem pro tyto účely je gramatika jazyka ve standardním popisu, např. BNF, ABNF, nebo EBNF. Tvorba gramatiky specifického jazyka však může být krok, který je citlivý na vznik chyby pro nezkušeného vývojáře. Cílem tohoto projektu je jednoduchá aplikace pro tvorbu gramatiky ze vzorku dat. V práci je řešeno generování gramatiky a následných validačních kousků kódu z nahraného ukázkového řetězce jazyka, např. zdrojového kódu programovacího jazyka. Problém řeší uživatel aplikace postupným označováním částí nahraného řetězce, jejich pojmenováním a přiřazováním vlastností. K tomu mu dopomáhají nástroje na rozdělování pravidel, slučování prefixů a/nebo sufixů pravidla, vytváření seznamů a optimalizaci výsledných pravidel. V rámci práce vznikla jednostránková webová aplikace, která při testování na jazycích JSON a XML dokázala poměrně dobře obstát a bylo možné tak vytvořit obecnější gramatiku i přes problémy se slabým syntaktickým analyzátorem. Díky této práci tak mohou i méně zkušení uživatelé vytvářet obecnější gramatiky jejich řetězců a používat je pro validaci. Práce navíc dává základ pro další zkoumání v této oblasti a je otevřená pro další vylepšení.cs
dc.description.abstractToday, software systems are often composed of several components that transmit data through various communication channels. Despite the fact that there are a number of standardized data encoding formats, developers still create their own mostly with regard to the specific use of the software they create. One of the essential parts of quality verification or minimization of data transmission errors is the validation of input data. The first step to validation is to formalize a language describing data structures. The most general formalism for these purposes is the grammar of the language in the standard description, e.g. BNF, ABNF, or EBNF. However, creating a language-specific grammar can be a step that is sensitive to error for an inexperienced developer. The aim of this project is a simple application for creating grammar from a sample of data. The work solves the generation of grammar and validation code snippets from the sample string of the language, e.g. the source code of the programming language. The user solves the problem by sequentially marking parts of the uploaded string, naming them, and assigning properties to them. This is aided by tools for splitting rules, merging rule prefixes and/or suffixes, creating lists, and optimizing the resulting rules. As part of the work, a single-page web application was created, which was able to pass relatively well when tested on JSON and XML, and it was possible to create a more general grammar despite the problems with a weak parser. Thanks to this work, even less experienced users can create more general grammars of their strings and use them for validation purposes. In addition, the work provides a basis for further research in this area and is open to further improvement.en
dc.description.markBcs
dc.identifier.citationKOTRAŠ, M. Interaktivní generátor syntaxe heterogenních datových struktur [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2020.cs
dc.identifier.other129119cs
dc.identifier.urihttp://hdl.handle.net/11012/191696
dc.language.isocscs
dc.publisherVysoké učení technické v Brně. Fakulta informačních technologiícs
dc.rightsStandardní licenční smlouva - přístup k plnému textu bez omezenícs
dc.subjectbezkontextová gramatikacs
dc.subjectformální jazykycs
dc.subjectABNFcs
dc.subjectvalidátorcs
dc.subjectgenerátor syntaxecs
dc.subjectmetadatacs
dc.subjectReactcs
dc.subjectReduxcs
dc.subjectcontext-free grammaren
dc.subjectformal languagesen
dc.subjectABNFen
dc.subjectvalidatoren
dc.subjectsyntax generatoren
dc.subjectmetadataen
dc.subjectReacten
dc.subjectReduxen
dc.titleInteraktivní generátor syntaxe heterogenních datových strukturcs
dc.title.alternativeInteractive Generator of Syntax of Heterogeneous Data Structuresen
dc.typeTextcs
dc.type.driverbachelorThesisen
dc.type.evskpbakalářská prácecs
dcterms.dateAccepted2020-07-08cs
dcterms.modified2020-07-13-23:41:08cs
eprints.affiliatedInstitution.facultyFakulta informačních technologiícs
sync.item.dbid129119en
sync.item.dbtypeZPen
sync.item.insts2025.03.18 19:32:02en
sync.item.modts2025.01.15 17:57:14en
thesis.disciplineInformační technologiecs
thesis.grantorVysoké učení technické v Brně. Fakulta informačních technologií. Ústav inteligentních systémůcs
thesis.levelBakalářskýcs
thesis.nameBc.cs
Files
Original bundle
Now showing 1 - 4 of 4
Loading...
Thumbnail Image
Name:
final-thesis.pdf
Size:
1.69 MB
Format:
Adobe Portable Document Format
Description:
final-thesis.pdf
Loading...
Thumbnail Image
Name:
Posudek-Vedouci prace-23128_v.pdf
Size:
85.43 KB
Format:
Adobe Portable Document Format
Description:
Posudek-Vedouci prace-23128_v.pdf
Loading...
Thumbnail Image
Name:
Posudek-Oponent prace-23128_o.pdf
Size:
86.3 KB
Format:
Adobe Portable Document Format
Description:
Posudek-Oponent prace-23128_o.pdf
Loading...
Thumbnail Image
Name:
review_129119.html
Size:
1.46 KB
Format:
Hypertext Markup Language
Description:
file review_129119.html
Collections