macro_rules! error {
($e:expr) => { ... };
}
Expand description
Generate an error
example
#[macro_use] extern crate dynparser;
use dynparser::parse;
fn main() {
let rules = rules!{
"main" => error!("aa")
};
assert!(parse("aa", &rules).is_err())
}
extern crate dynparser;
use dynparser::{parse, rules_from_peg};
fn main() {
let rules = rules_from_peg(
r#"
main = '(' main ( ')' / error("unbalanced parenthesis") )
/ 'hello'
"#,
).unwrap();
match parse("((hello)", &rules) {
Ok(_) => panic!("It should fail"),
Err(e) => assert!(e.descr == "unbalanced parenthesis"),
}
}