Module nom::multi[][src]

combinators applying their child parser multiple times

Functions

count

Runs the embedded parser a specified number of times. Returns the results in a Vec.

fold_many0

Applies a parser until it fails and accumulates the results using a given function and initial value.

fold_many1

Applies a parser until it fails and accumulates the results using a given function and initial value. Fails if the embedded parser does not succeed at least once.

fold_many_m_n

Applies a parser n times or until it fails and accumulates the results using a given function and initial value. Fails if the embedded parser does not succeed at least m times.

length_data

Gets a number from the parser and returns a subslice of the input of that size. If the parser returns Incomplete, length_data will return an error.

length_value

Gets a number from the first parser, takes a subslice of the input of that size, then applies the second parser on that subslice. If the second parser returns Incomplete, length_value will return an error.

many0

Repeats the embedded parser until it fails and returns the results in a Vec.

many0_count

Repeats the embedded parser until it fails and returns the number of successful iterations.

many1

Runs the embedded parser until it fails and returns the results in a Vec. Fails if the embedded parser does not produce at least one result.

many1_count

Repeats the embedded parser until it fails and returns the number of successful iterations. Fails if the embedded parser does not succeed at least once.

many_m_n

Repeats the embedded parser n times or until it fails and returns the results in a Vec. Fails if the embedded parser does not succeed at least m times.

many_till

Applies the parser f until the parser g produces a result. Returns a pair consisting of the results of f in a Vec and the result of g.

separated_list

Alternates between two parsers to produce a list of elements.

separated_nonempty_list

Alternates between two parsers to produce a list of elements. Fails if the element parser does not produce at least one element.