Function combine::parser::combinator::recognize [−][src]
pub fn recognize<F, Input, P>(parser: P) -> Recognize<F, P> where
Input: Stream,
P: Parser<Input>,
F: Default + Extend<<Input as StreamOnce>::Token>,
Expand description
Constructs a parser which returns the tokens parsed by parser
accumulated in
F: Extend<Input::Token>
instead of P::Output
.
use combine::Parser; use combine::parser::{repeat::skip_many1, token::token, combinator::recognize, char::digit}; let mut parser = recognize((skip_many1(digit()), token('.'), skip_many1(digit()))); assert_eq!(parser.parse("123.45"), Ok(("123.45".to_string(), ""))); assert_eq!(parser.parse("123.45"), Ok(("123.45".to_string(), "")));