Macro synom::delimited [] [src]

macro_rules! delimited {
    ($i:expr, $submac:ident!( $($args:tt)* ), $($rest:tt)+) => { ... };
    ($i:expr, $f:expr, $($rest:tt)+) => { ... };
}

Value surrounded by a pair of delimiters.

  • Syntax: delimited!(OPEN, THING, CLOSE)
  • Output: THING
extern crate syn;
#[macro_use] extern crate synom;

use syn::Expr;
use syn::parse::expr;

// An expression surrounded by [[ ... ]].
named!(double_bracket_expr -> Expr,
    delimited!(punct!("[["), expr, punct!("]]"))
);

fn main() {
    let input = "[[ 1 + 1 ]]";

    let parsed = double_bracket_expr(input).expect("double bracket expr");

    println!("{:?}", parsed);
}