Ausführliche Beschreibung | Libaspect is a general purpose low-level library dedicated to feature-based,
aspect-oriented project modeling written in the C language. It is especially
relevant when embedded into a runtime environment such as ERESI, because it
makes the project to become reflective by allowing its uniform internal
structures to be modified directly from the Eresi language provided you
also link with librevm which is the interpreter for such language. Libaspect
also provides facilities for the project to auto-profile itself, which has
a concrete use in fast-diagnostic debugging of the analysis framework.
.
The main features of the ERESI aspects library are :
.
* A generic and extensive API and data structures for using hash tables.
* A generic modeling API and data structure called a reflective vector
aspect for modular feature-based portability system in the project
development.
* A generic macro system and help API for the auto-profiling of program's
functions developed in the C or C++ languages.
* A complete type definition system for the specification of new data types
in the Eresi meta-language and their use in domain specific Intermediate
Representation (IR), with a direct use in the realm of reflection, program
transformation and type-based decompilation.
|