cod
codespawn
cargo install codespawn
cod

codespawn

Code generator written in Rust

by Krzysztof Kondrak

0.3.3 (see all)License:MIT/Apache-2.0
cargo install codespawn
Readme

Codespawn

Crates.io Documentation Build Status Build status Coverage Status

Codespawn is a basic C++ and Rust code generator. Desired API can be defined using either JSON or XML and the crate supports both reading from a file or a string. Currently it's possible to generate enums, structs, functions, function pointers, variables and bitflags with all applicable attributes and properties.

This crate was created as a helper tool for ProDBG. See example XML for instructions on how to construct the API definition.

Documentation

Usage

# Cargo.toml
[dependencies]
codespawn = "0.3"

Example

extern crate codespawn;

fn main()
{
    // generate from XML definition
    let raw_code = codespawn::from_xml("examples/sample.xml").unwrap();
    // generate from JSON definition
    //let raw_code = codespawn::from_json("examples/sample.json").unwrap();

    // generate code, store as String
    let cpp_code  = raw_code.to_cpp().unwrap().to_string();
    let rust_code = raw_code.to_rust().unwrap().to_string();

    // generate and save directly to file
    raw_code.to_cpp().unwrap().to_file("sample.cpp");
    raw_code.to_rust().unwrap().to_file("sample.rs");
}

Build instructions

cargo build
cargo run --example xml
cargo run --example json

This will run the example which will generate code and save it to files using sample XML definition.

License

Licensed under either of

GitHub Stars

28

LAST COMMIT

3yrs ago

MAINTAINERS

1

CONTRIBUTORS

1

OPEN ISSUES

0

OPEN PRs

0
VersionTagPublished
0.3.3
5yrs ago
0.3.2
6yrs ago
0.3.1
6yrs ago
0.3.0
6yrs ago
No alternatives found
No tutorials found
Add a tutorial