Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 368)
Detail práce
   Přihlásit přes CAS
Generátor parserů binárních dat
Název práce v češtině: Generátor parserů binárních dat
Název v anglickém jazyce: Generator of binary data parsers
Klíčová slova: generátor|parser
Klíčová slova anglicky: generátor|parser
Akademický rok vypsání: 2021/2022
Typ práce: bakalářská práce
Jazyk práce: čeština
Ústav: Katedra distribuovaných a spolehlivých systémů (32-KDSS)
Vedoucí / školitel: Mgr. Vojtěch Horký, Ph.D.
Řešitel: skrytý - zadáno a potvrzeno stud. odd.
Datum přihlášení: 27.09.2022
Datum zadání: 27.09.2022
Datum potvrzení stud. oddělením: 27.09.2022
Zásady pro vypracování
Cílem práce je navrhnout a implementovat generátor parserů binárních dat. Uživatel popíše binární datovou strukturu (třeba deskriptory hardwarových zařízení) pomocí DSL jazyka a aplikace vygeneruje konkrétní parser pro danou strukturu.

Součástí práce je jednak návrh vhodného doménově specifického jazyka pro popis struktur a pak vlastní generátor parseru pro zvolený programovací jazyk. Jazyk musí umět popsat základní obraty obvyklé v binárních strukturách: pevné struktury; opakování podčástí ať už pomocí předem určeného počtu (typicky uloženého v hlavičce dat) nebo do nalezení ukončovací sekvence či volitelné části. Vygenerovaný parser pak musí být schopen rozpoznat neplatná data a nabídnout API pro registraci obslužných rutin (tj. uživatelský kód, který reaguje na přítomnost určité hodnoty apod.). Parser nemusí ve vlastní režii řešit dokomprimaci dat.

Součástí práce bude analýza návrhu jazyka, popis implementace a demonstrace na reálně používaných strukturách (např. IP datagram, GIF obrázek nebo USB deskriptor). Důraz bude kladen na použitelnost zvoleného DSL a rozšiřitelnost generátoru pro různé programovací jazyky (prostředí).

Předběžně navrhovaní oponenti: Lubomír Bulej, David Bednárek, Jakub Yaghob
Seznam odborné literatury
* Grune, Dick; Jacobs, Ceriel J.H.: Parsing Techniques - A Practical Guide, Vrije Universiteit Amsterdam, Amsterdam, The Netherlands. 1990; ISBN 0-13-651431-6
* Kolektiv autorů: Express Learning: Principles of Compiler Design, Pearson Education, 2012; ISBN 8131761266
* https://www.usb.org/document-library/usb-20-specification
 
Univerzita Karlova | Informační systém UK