codespawn

Function from_json

Source
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");
}