Parser of extended POSIX regular expressions with (hopefully) unambiguous extensions from PCRE.
import public Data.Either
import public Data.DPair
import public Language.Reflection
import public Text.Regex.Interface
import public Text.Regex.ParserpostfixOp : Regex rx => PostfixOp -> rx a -> Exists rxcrumple : Monoid a => List (n : Nat ** f (Vect n a)) -> Exists (\tys => (All f tys, (n : Nat ** (All id tys -> Vect n a, Any id tys -> Vect n a))))parseRegex : Regex rx => String -> Either BadRegex (n : Nat ** rx (Vect n String))parseRegexN : Regex rx => (matchingGroupsCnt : Nat) -> String -> Either BadRegex (rx (Vect matchingGroupsCnt String))parseAnyRegex : Regex rx => String -> Either BadRegex (Exists rx)Parses regex with any returning type and retuns both the type and parsed regex
toRegex : {auto {conArg:5580} : Regex rx} -> (s : String) -> {auto 0 {conArg:5586} : IsRight (parseRegex s)} -> rx (Vect (fst (fromRight (parseRegex s))) String).erx : Regex rx => String -> Elab (rx a)