[][src]Function combine::parser::combinator::recognize

pub fn recognize<F, Input, P>(parser: P) -> Recognize<F, P> where
    Input: Stream,
    P: Parser<Input>,
    F: Default + Extend<<Input as StreamOnce>::Token>, 

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(), "")));