Static Parameter Generation
An evaluated dip::Environment can be exported as static, language-native
parameters. This is intended for simulations and compiled applications that
need to include a validated DIPL configuration directly, without parsing DIPL
at run time. Supported formats are C++, C, Fortran, Rust, Julia, JSON, and
YAML.
Native representation
Groups become nested native structures. Lists retain their order, maps retain
their keys as iterable key/value entries, and scalar arrays are emitted as
native nested collections. C++ uses std::array and supports one-, two-,
and three-dimensional arrays without an additional matrix-library dependency.
The Julia exporter uses immutable named tuples, tuples, and key => value
pairs for the same purpose.
C++
From C++:
environment.generate(snt::dip::ExportFormat::CPP, "parameters.hpp");
environment.generate(snt::dip::ExportFormat::JULIA, "parameters.jl");
Generation is also available from the Python binding, the C binding, the command-line interface, and the command-oriented C++ API guide.
Command line
For command-line workflows, parse a DIPL input or load a DIPH5 environment and select an output format:
snt dip parse --input file config.dip --generate cpp parameters.hpp
snt dip parse --load config.diph5 --generate julia parameters.jl
The CLI format names are cpp, c, fortran, rust, julia,
json, and yaml. Generation exports the complete evaluated environment;
request and tag filters only control text printed by the command.