Systém pre introšpekciu v C++
Thesis title in thesis language (Slovak): | Systém pre introšpekciu v C++ |
---|---|
Thesis title in Czech: | Systém pro introspekci v C++ |
Thesis title in English: | A system for introspection in C++ |
Key words: | introšpekcia|C++|analýza zdrojových textov |
English key words: | introspection|C++|source-code analysis |
Academic year of topic announcement: | 2020/2021 |
Thesis type: | Bachelor's thesis |
Thesis language: | slovenština |
Department: | Department of Software Engineering (32-KSI) |
Supervisor: | RNDr. David Bednárek, Ph.D. |
Author: | hidden - assigned and confirmed by the Study Dept. |
Date of registration: | 11.04.2021 |
Date of assignment: | 12.04.2021 |
Confirmed by Study dept. on: | 20.04.2021 |
Date and time of defence: | 10.09.2021 09:00 |
Date of electronic submission: | 22.07.2021 |
Date of submission of printed version: | 22.07.2021 |
Date of proceeded defence: | 10.09.2021 |
Opponents: | Mgr. Pavel Ježek, Ph.D. |
Guidelines |
Introspection and reflection are powerful tools that allow generic implementation of problematic design patterns like double dispatch or serialization/deserialization. In C++, the support for introspection is seriously limited and confined to compile time while reflection is virtually non-existent. However, compiler-based tools like clang/LLVM allow programmatical extraction of language elements from C++ source files which in turn may enable run-time introspection. The goal of this thesis is the design and implementation of an introspection library, based on the addition of meta-data extracted from C++ source files by a compiler-based tool. The functionality of the system shall be demonstrated by the implementation of a selected design pattern which is not implementable in plain C++. |
References |
de Bayser M., Cerqueira R. (2012) A System for Runtime Type Introspection in C++. In: de Carvalho Junior F.H., Barbosa L.S. (eds) Programming Languages. SBLP 2012. Lecture Notes in Computer Science, vol 7554. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-33182-4_9
Bräutigam K. (2015) Expedient logging for C++ using reflection. Diploma Thesis, TU Wien. http://hdl.handle.net/20.500.12708/4675 Loikkanen T. (2019) Property systems in graphics frameworks. Bachelor Thesis, Tampere University. http://urn.fi/URN:NBN:fi:tty-201905311788 |