Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boilermaker-0.0.1.tar.gz (5.7 kB view details)

Uploaded Source

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

Hashes for boilermaker-0.0.1.tar.gz
Algorithm Hash digest
SHA256 c9f8c07af7733e5e28a035b6e6b5c5fd5037ed2b8ceacc8b3709ad7fc511b5f7
MD5 d41daf19885cd25d2cf752e79c80dc95
BLAKE2b-256 72c746661d8f02decf0e76e57a2ceefc3c767a20962b908faa06dd8096c104fe

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page