This parser combinator library provides a series of combinators for
assembling parsers. The library also keeps track of position
information, which makes it ideal for providing good error messages.
signature PARSE = sigtype token
datatype ('a,'b) either = OK of 'a | NO of 'b
type locerr = Region.loc * (unit -> string)
type 'a p = (token*Region.reg)list -> ('a * Region.reg * (token*Region.reg)list, locerr) either
val>>> : 'a p * 'b p -> ('a*'b)p
val->> : unit p * 'b p -> 'b p
val>>- : 'a p * unit p -> 'a p
val?? : 'a p * 'b p -> ('a*'b -> 'a) -> 'a p
val??? : 'a p * 'b p -> ('a*'b*Region.reg -> 'a) -> 'a p
val??* : 'a p * 'b p -> ('a*'b -> 'a) -> 'a p
val|| : 'a p * 'a p -> 'a p
valoo : 'a p * ('a -> 'b) -> 'b p
valign : 'a p -> unit p
valeat : token -> unit p
valoor : 'a p * ('a*Region.reg -> 'b) -> 'b p
end