Module

Text.Parsing.Monoid.Repetition

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

#until Source

until :: forall c b a m. Monad m => Monoid b => ParserT a m b -> ParserT a m c -> ParserT a m 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 b m a. Monad m => Monoid b => Int -> ParserT a m b -> ParserT a m 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 b m a. Monad m => Monoid b => Int -> ParserT a m b -> ParserT a m 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 b m a. Monad m => Monoid b => ParserT a m b -> ParserT a m (Tuple Int 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 b m a. Monad m => Monoid b => ParserT a m b -> ParserT a m 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.