Skip to content

Generative metaprogramming

Dmitry Ponyatov edited this page Jul 16, 2019 · 3 revisions

Generative metaprogramming

Implementation and target languages

The selection of languages you are working with is not a problem until you know how to slide between the model of every language or platform.

Some problems you will have with low-level languages like C++, which have no automatic memory and garbage collection. It will trouble you a most, as you will be required to implement it yourself. In case you really need a very effective engine for resource-constrained systems (embedded, especially microcontroller based), you have no choices.

But there is one choice: cross-development system contains host and target. The host is unlimited in resources so you can do anything up to big data processing in grids. Target is an extra limited device with few Kb(!) of RAM. So you can’t run interpreter on a target, besides maybe bytecode.interpreter (see bcx).

The only way in such configuration is embedded C code generation, and compiling it to the target.

But you have the freedom to move between high-level system specification and low-level C code representation which will be translated into .c files as is.

Knowledge Database

Clone this wiki locally