Source to source compilation from QML to C++
Golubev, Andrei (2021-06-17)
Golubev, Andrei
A. Golubev
17.06.2021
© 2021 Andrei Golubev. Tämä Kohde on tekijänoikeuden ja/tai lähioikeuksien suojaama. Voit käyttää Kohdetta käyttöösi sovellettavan tekijänoikeutta ja lähioikeuksia koskevan lainsäädännön sallimilla tavoilla. Muunlaista käyttöä varten tarvitset oikeudenhaltijoiden luvan.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-202106188579
https://urn.fi/URN:NBN:fi:oulu-202106188579
Tiivistelmä
Modern computer technology is tightly related to programming languages, which are typically rather high-level. These high-level languages allow programmers to abstract from the actual hardware implementations and focus on the business logic. Over the years, many programming languages were created, some for the general purpose and some for the domain specific use.
This thesis focuses on the domain specific language called QML, which is designed and used within the Qt project, and, in particular, on the development of a novel compilation approach that allows to translate this language into optimized C++ code. The produced C++ program makes use of the available components of the Qt framework. This simplifies the compilation logic significantly and enables the reuse of the extensive software foundation. In the end, the generated code is compiled into the machine code for any supported target system by the C++ compiler available on that system, which makes C++ act as a convenient program representation and ensure that the whole approach is cross-platform by design.
This thesis focuses on the domain specific language called QML, which is designed and used within the Qt project, and, in particular, on the development of a novel compilation approach that allows to translate this language into optimized C++ code. The produced C++ program makes use of the available components of the Qt framework. This simplifies the compilation logic significantly and enables the reuse of the extensive software foundation. In the end, the generated code is compiled into the machine code for any supported target system by the C++ compiler available on that system, which makes C++ act as a convenient program representation and ensure that the whole approach is cross-platform by design.
Kokoelmat
- Avoin saatavuus [31988]