Název:
Systém pro introspekci v C++
Překlad názvu:
A system for introspection in C++
Autoři:
Fačko, Peter ; Bednárek, David (vedoucí práce) ; Ježek, Pavel (oponent) Typ dokumentu: Bakalářské práce
Rok:
2021
Jazyk:
slo
Abstrakt: [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
Klíčová slova:
introšpekcia|C++|analýza zdrojových textov; introspection|C++|source-code analysis