Macro synom::peek
[−]
[src]
macro_rules! peek { ($i:expr, $submac:ident!( $($args:tt)* )) => { ... }; ($i:expr, $f:expr) => { ... }; }
Parse a value without consuming it from the input data.
- Syntax:
peek!(THING)
- Output:
THING
extern crate syn; #[macro_use] extern crate synom; use syn::Expr; use syn::parse::{ident, expr}; use synom::IResult; // Parse an expression that begins with an identifier. named!(ident_expr -> Expr, preceded!(peek!(ident), expr) ); fn main() { // begins with an identifier let input = "banana + 1"; let parsed = ident_expr(input).expect("ident"); println!("{:?}", parsed); // does not begin with an identifier let input = "1 + banana"; let err = ident_expr(input); assert_eq!(err, IResult::Error); }