Metaprogramming. Creation of programs which in their turn create other programs as the result of their work, or change or amend themselves during execution. An example of metaprogramming: a C++ program generates SQL script to save data into a relational database. We can speak of two types of metaprogramming: metaprogramming on the stage of compilation (code generation) and metaprogramming on the stage of execution (code self-modification). Under metaprogramming within the framework of VivaCore library we should understand the possibility of extending C/C++ syntax and functionality in order to create our own programming language. Metaprograms written in this programming language can be then translated with the help of VivaCore into C/C++ code and compiled by an third-party compiler.