Thesis (Selection of subject)Thesis (Selection of subject)(version: 368)
Thesis details
   Login via CAS
Generátor parserů binárních dat
Thesis title in Czech: Generátor parserů binárních dat
Thesis title in English: Generator of binary data parsers
Key words: generátor|parser
English key words: generátor|parser
Academic year of topic announcement: 2021/2022
Thesis type: Bachelor's thesis
Thesis language: čeština
Department: Department of Distributed and Dependable Systems (32-KDSS)
Supervisor: Mgr. Vojtěch Horký, Ph.D.
Author: hidden - assigned and confirmed by the Study Dept.
Date of registration: 27.09.2022
Date of assignment: 27.09.2022
Confirmed by Study dept. on: 27.09.2022
Guidelines
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
References
* 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
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html