A C++ code generator that transforms a declarative description into static types.
Project description
boilermaker
A C++ code generator that transforms a declarative description into static types.
The generated code has selectable features, such as serialization, deserialization, and reasoning about comparisons. You can define data types, and use most STL classes as well to aggregate an expressive static hierarchy, and rapidly change the declarations to modify swaths of C++ code.
The tool can be configured to read C-style and C++-style enumerations from headers, for use in the declarations as well.
Useful for rapidly generating C++ code that can read configuration files, and other data files in [Humon|https://github.com/spacemeat/humon] format. Usage docs coming eventually. Boilermaker can create header-only style C++, or headers and translations units, and emplace code directly into your project. Simply #include the main header in your project, and call the generated functions to create and load the complex types. All the generated code is readable, as you might write it, and you're encouraged to see what it's making.
installing boilermaker
$ pip install boilermaker
Usage
No info yet. This is a very nascent project.
Developing hboilermaker
To install boilermaker and the tools needed to develop and run tests, run the following:
$ pip install -e .[dev]
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file boilermaker-0.0.1.tar.gz
.
File metadata
- Download URL: boilermaker-0.0.1.tar.gz
- Upload date:
- Size: 5.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/44.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c9f8c07af7733e5e28a035b6e6b5c5fd5037ed2b8ceacc8b3709ad7fc511b5f7 |
|
MD5 | d41daf19885cd25d2cf752e79c80dc95 |
|
BLAKE2b-256 | 72c746661d8f02decf0e76e57a2ceefc3c767a20962b908faa06dd8096c104fe |