Macro dynparser::error

source ·
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"),
    }
}