Original title:
Systém pro introspekci v C++
Translated title:
A system for introspection in C++
Authors:
Fačko, Peter ; Bednárek, David (advisor) ; Ježek, Pavel (referee) Document type: Bachelor's theses
Year:
2021
Language:
slo Abstract:
[eng][cze] Introspection and reflection are powerful programming tools that allow generic solu- tions for difficult problems such as multiple dispatch or serialization. In C++, the support for introspection is seriously limited, while reflection is virtually non-existent. The langu- age standard has been developing significantly in recent past and thus it is now possible to extend the language with those features using a custom tool. The result of this thesis is an introspection library working with metadata generated from source code and a compiler- based metadata generator. The functionality of the whole system shall be demonstrated by implementing multiple dispatch, for which there is no simple implementation in stan- dard C++. 1Introšpekcia a reflexia sú silné programovacie nástroje umožňujúce všeobecné riešenie problematických úloh, ako napríklad multiple dispatch alebo serializácia. V C++ je pod- pora pre introšpekciu veľmi slabá a reflexia nie je možná vôbec. Štandard jazyka sa za posledné obdobie značne rozvinul, vďaka čomu je už možné do jazyka tieto mechanizmy doplniť vlastným rozšírením. Výsledkom tejto práce je knižnica pre introšpekciu pracuj- úca s metadátami vygenerovanými zo zdrojového textu a generátor týchto metadát ako nástroj nad prekladačom. Funkčnosť celého systému je demonštrovaná implementáciou mechanizmu multiple dispatch, ktorý nie je jednoducho implementovateľný v štandard- nom C++. 1
Keywords:
introspection|C++|source-code analysis; introšpekcia|C++|analýza zdrojových textov
Institution: Charles University Faculties (theses)
(web)
Document availability information: Available in the Charles University Digital Repository. Original record: http://hdl.handle.net/20.500.11956/148390