chomp::parser! [] [src]

macro_rules! parser {
    ( $($t:tt)* ) => { ... };
}

Macro wrapping an invocation to parse! in a closure, useful for creating parsers inline.

This makes it easier to eg. implement branching in the same parse! block:

use chomp::{Input};
use chomp::{or, string};

let i = Input::new(b"ac");

let r = parse!{i;
  or(parser!{string(b"ab")},
     parser!{string(b"ac")})};

assert_eq!(r.unwrap(), b"ac");