Module

Text.Parsing.Array.Repetition

Package
purescript-parsing-repetitionDEPRECATED
Repository
markfarrell/purescript-parsing-repetition

#until Source

until :: forall m a b c. Monad m => ParserT a m b -> ParserT a m c -> ParserT a m (Array b)

Consumes the current parse input with a parser p until the result of a parser q is successful. Does not consume the remaining parse input with the successful result of q.

#exact Source

exact :: forall a m b. Monad m => Int -> ParserT a m b -> ParserT a m (Array b)

Consumes the current parse input with a parser p, with n repetitions of p. Fails if the remaining parse input can be moreover be parsed with p.

#least Source

least :: forall a m b. Monad m => Int -> ParserT a m b -> ParserT a m (Array b)

Consumes the current parse input with a parser p, with n repetitions of p. Does not check if the remaining parse input can be moreover parsed with p.

#greedy Source

greedy :: forall m a b. Monad m => ParserT a m b -> ParserT a m (Tuple Int (Array b))

Consumes the current input with a parser p as many times as successful. Produces a pair of the number of successful repetitions of p, and the accumulated result. Not guaranteed to be stack-safe for large input.

#many Source

many :: forall m a b. Monad m => ParserT a m b -> ParserT a m (Array b)

Consumes the current input with a parser p as many times as successful. Produces the accumulated result, without the guarantee of being stack-safe for large input.

#many1 Source

many1 :: forall m a b. Monad m => ParserT a m b -> ParserT a m (Array b)

Consumes the current input with a parser p as many times as successful, with at least one occurrence of p. Produces the accumulated result, without the guarantee of being stack-safe for large input.

#most Source

most :: forall a m b. Monad m => Int -> ParserT a m b -> ParserT a m (Array b)

Consumes the current parse input with a parser p, with m greedy repetitions of p. Fails if m is greater than the constraint n passed to the function.

#range Source

range :: forall a m b. Monad m => Int -> Int -> ParserT a m b -> ParserT a m (Array b)

Consumes the current parse input with a parser p, with at least min and at most max >= min repetitions of p.