pub fn from_json(filename: &str) -> Result<RawCode>Expand description
Reads JSON data from file and compiles it into RawCode
ยงExamples
extern crate codespawn;
let raw_code = codespawn::from_json("examples/sample.json").unwrap();Examples found in repository?
examples/json.rs (line 7)
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
fn main()
{
// Example of parsing a simplified JSON definition.
// 'name' and 'type' can be omitted and will be automatically deduced by the parser.
let raw_code = codespawn::from_json("examples/sample2.json").unwrap_or_else(|e| {
panic!("{}", e);
});
println!("\n*** Language specific configs (if defined):");
for c in raw_code.configs.iter() {
println!("{}", c.1);
}
println!("*** Structure of raw (unformatted) code data:\n{}", raw_code);
println!("*** Structure of C++ code generated from raw code data:\n{}", raw_code.to_cpp().unwrap());
println!("*** Structure of Rust code generated from raw code data:\n{}", raw_code.to_rust().unwrap());
println!("*** Generated C++ code:\n\n{}", raw_code.to_cpp().unwrap().to_string());
println!("*** Generated Rust code:\n\n{}", raw_code.to_rust().unwrap().to_string());
// save generated code to file
let _ = raw_code.to_cpp().unwrap().to_file("sample2.cpp");
let _ = raw_code.to_rust().unwrap().to_file("sample2.rs");
}