Function mo::parallel_generate_save_examples[][src]

pub fn parallel_generate_save_examples<S>(
    grammar_string: String,
    quantity: u32,
    start: String,
    path: S,
    name_format: String,
    config: &GeneratorConfig
) where
    S: AsRef<Path>, 

Generate and save a number of examples with the grammar,start rule and config provided

use std::path::Path;
use mo::config::GeneratorConfig;
use mo::parallel_generate_save_examples;

// Default configuration for the generator
let mut config: GeneratorConfig = Default::default();

// Grammar string
let mut grammar = r#"
        language = {"Rust" | "Python" | "Go" | "Java" | "PHP" | "Haskell"}
        one = {"1"}
        daysNumber = {one ~ " day" | !one ~ ASCII_NONZERO_DIGIT ~ " days"}
        sentence = {"I have been programming in " ~ language ~ " for " ~ daysNumber ~ "."}
    "#;

// Folder to save the examples
let path = Path::new("./my-examples/");

let template_name = "relevant-example-{}.txt".to_string();

// Generate and save the examples
let results = parallel_generate_save_examples(
            grammar.to_string(),       // The grammar
            5,                         // Quantity of examples
            "sentence".to_string(),   // Start rule
            path,                      // The folder to save the examples
            template_name,             // The name of the files saved
            &config,                   // Config of the generator
        );