Function many_till
fn many_till<I, E, F, G>(f: F, g: G) -> impl Parser<I, Output = (crate::lib::std::vec::Vec<<F as Parser<I>>::Output>, <G as Parser<I>>::Output), Error = E>
where
I: Clone + Input,
F: Parser<I, Error = E>,
G: Parser<I, Error = E>,
E: ParseError<I>
Applies the parser f until the parser g produces a result.
Returns a tuple of the results of f in a Vec and the result of g.
f keeps going so long as g produces Err::Error. To instead chain an error up, see [cut][crate::combinator::cut].
# use ;
use many_till;
use tag;
;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;
assert_eq!;