Frontend prekladace pro TinyC
TinyC Compiler Frontend
Typ dokumentu
bakalářská prácebachelor thesis
Autor
Mykhailo Anisimov
Vedoucí práce
Máj Petr
Oponent práce
Pecka Tomáš
Studijní obor
Software Engineering 2021Studijní program
InformaticsInstituce přidělující hodnost
katedra softwarového inženýrstvíObhájeno
2025-06-23Práva
A university thesis is a work protected by the Copyright Act. Extracts, copies and transcripts of the thesis are allowed for personal use only and at one?s own expense. The use of thesis should be in compliance with the Copyright Act http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf and the citation ethics http://knihovny.cvut.cz/vychova/vskp.htmlVysokoškolská závěrečná práce je dílo chráněné autorským zákonem. Je možné pořizovat z něj na své náklady a pro svoji osobní potřebu výpisy, opisy a rozmnoženiny. Jeho využití musí být v souladu s autorským zákonem http://www.mkcr.cz/assets/autorske-pravo/01-3982006.pdf a citační etikou http://knihovny.cvut.cz/vychova/vskp.html
Metadata
Zobrazit celý záznamAbstrakt
Tato práce představuje překladový frontend pro programovací jazyk tinyC používaný v kurzu NI-GEN, navržený k usnadnění implementace backendu v různých programovacích jazycích. Frontend nabízí jak standardizované JSON rozhraní pro jazykově nezávislý vývoj backendu, tak i přímé použití C++ knihovny. Na základě analýzy technologií parserů a reprezentací AST implementace zahrnuje rekurzivní sestupný parser s LL(1) gramatikou, sledování pozic ve zdrojovém kódu a definované JSON schéma. Díky své přehledné architektuře a dokumentaci slouží tento frontend jako výukový nástroj při zachování rozšiřitelnosti pro budoucí vylepšení. This thesis presents a compiler frontend for the tinyC programming language used in the NI-GEN course, designed to facilitate backend implementation in diverse programming languages. The frontend offers both a standardized JSON interface for language-agnostic backend development and a direct C++ library option. Based on analysis of parser technologies and AST representations, the implementation features a recursive descent parser with LL(1) grammar, source location tracking, and a defined JSON schema. With its clean architecture and documentation, this frontend serves as an educational tool while maintaining extensibility for future enhancements.
Kolekce
- Bakalářské práce - 18102 [1873]