devana.preprocessing
Subpackages
devana.preprocessing.preprocessor
- class IDestination[source]
Bases:
IInputContract,ABCInterface specifying a class that manages the recording of preprocessor output artifacts. Typical use case is the generation of c++ code to files on disk, but other outputs are also possible, although the artifacts are generally focused on the disk.
- class IGenerator[source]
Bases:
IInputContract,IOutputContract,ABCA preprocessing unit which, based on general input data, generates output data by implementing methods of binding input and output data.
- class IInputContract[source]
Bases:
ABCContract that allows you to define what specific type is required.
- class IOutputContract[source]
Bases:
ABCContract that allows you to define what specific type is provided in the output.
- class ISource[source]
Bases:
IOutputContract,ABCThe data source interface for the processor. Typical implementation assumes reading files (JSON or header files) and returning the parsed output of the generator, for example, C++ type systems from Devana.
- class Preprocessor(source, generator, destination)[source]
Bases:
objectA preprocessor class that, through aggregation, combines the provided data source, generator or class that saves input data into one coherent entity. It also provides validation contracts of the classes used.
- property destination: IDestination
- Return type
- property generator: IGenerator
- Return type
A feature set that combines code parsing and generation to provide a high-level feature set that allows for context-aware code preprocessing, such as runtime information generation, metaclass, and more.