13次发布
使用旧的Rust 2015
0.3.3 | 2017年5月8日 |
---|---|
0.3.2 | 2016年8月31日 |
0.3.0 | 2016年7月26日 |
0.2.1 | 2016年7月22日 |
0.0.1 | 2016年6月24日 |
#1896 in 开发工具
34次每月下载
52KB
1K SLoC
Codespawn
Codespawn是一个基本的C++和Rust代码生成器。可以使用JSON或XML定义所需的API,该软件包支持从文件或字符串中读取。目前可以生成枚举、结构体、函数、函数指针、变量和位标志,并具有所有适用的属性和属性。
该软件包是为ProDBG创建的一个辅助工具。有关如何构建API定义的说明,请参阅示例XML。
用法
# Cargo.toml
[dependencies]
codespawn = "0.3"
示例
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");
}
构建说明
cargo build
cargo run --example xml
cargo run --example json
这将运行示例,它将使用示例XML定义生成代码并保存到文件中。
许可证
以下任一许可证下授权:
- Apache许可证2.0版(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 http://opensource.org/licenses/MIT)
依赖项
~545KB
~12K SLoC