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 |