fn zero_or_more<'a, P, A>(parser: P) -> impl Parser<'a, Vec<A>>
where
    P: Parser<'a, A>
{
    move |mut input| {
        let mut result = Vec::new();

        while let Ok((next_input, next_item)) = parser.parse(input) {
            input = next_input;
            result.push(next_item);
        }
        Ok((input, result))
    }
}
// NOTE(elsuizo:2020-12-15): aca lo unico que hacemos es saltearnos el primer chequeo, por eso el
// nombre de zero o mas...
2020-12-15): aca lo unico que hacemos es saltearnos el primer chequeo, por eso el
nombre de zero o mas
2020 - 12 - 15 ) : aca lo unico que hacemos es saltearnos el primer chequeo por eso el nombre de zero o mas
fn zero_or_more<'a, P, A>(parser: P) -> impl Parser<'a, Vec<A>>
where
    P: Parser<'a, A>
{
    move |mut input| {
        let mut result = Vec::new();
        while let Ok((next_input, next_item)) = parser.parse(input) {
            input = next_input;
            result.push(next_item);
        }
        Ok((input, result))
    }
}
fn zero_or_more < ' a , P , A > ( parser : P ) -> impl Parser < ' a , Vec < A > > where P : Parser < ' a , A > { move | mut input | { let mut result = Vec :: new ( ) ; while let Ok ( ( next_input , next_item ) ) = parser . parse ( input ) { input = next_input ; result . push ( next_item ) ; } Ok ( ( input , result ) ) } }
NOTE(elsuizo:2020-12-15): aca lo unico que hacemos es saltearnos el primer chequeo, por eso el
nombre de zero o mas...
NOTE ( elsuizo : 2020 - 12 - 15 ) : aca lo unico que hacemos es saltearnos el primer chequeo por eso el nombre de zero o mas ...
parser
P
parser
P