arpx_job_parser

Parse arpx job scripts for runtime

Description

This library provides parser functions for processing arpx job scripts.

Usage

```rust use arpxjobparser::job;

let job = r#" [ (loop1 ? loop2 : loop3;) loop2 ? loop3 : loop4; ] loop3 ? loop4 : loop5; loop6; (loop7 ? loop8;) "#;

let parsed = job().parse(example);

dbg!(parsed);

// Ok(( // "", // Job { // tasks: vec![ // Task { // processes: vec![ // Process { // name: "loop1".tostring(), // onsucceed: "loop2".tostring(), // onfail: "loop3".tostring(), // silent: true, // }, // Process { // name: "loop2".tostring(), // onsucceed: "loop3".tostring(), // onfail: "loop4".tostring(), // silent: false, // }, // ], // }, // Task { // processes: vec![Process { // name: "loop3".tostring(), // onsucceed: "loop4".tostring(), // onfail: "loop5".tostring(), // silent: false, // }], // }, // Task { // processes: vec![Process { // name: "loop6".tostring(), // onsucceed: String::new(), // onfail: String::new(), // silent: false, // }], // }, // Task { // processes: vec![Process { // name: "loop7".tostring(), // onsucceed: "loop8".tostring(), // onfail: String::new(), // silent: true, // }], // }, // ], // }, // )) ```