This module and the accompanying genex
program finds all permutations
of strings that matches every input regular expressions, ordered from
shortest to longest, with full support for back references ('\1' .. '\9')
and word boundaries ('\b').
It requires the yices
binary in PATH; please download it from:
http://yices.csl.sri.com/download-yices2.shtml
Documentation
A match consists of a string (list of codepoints), and a rank representing alternation order.
Model | |
|
genex :: [String] -> IO [String]Source
Given a list of regular repressions, returns all possible strings that matches every one of them. Guarantees to return shorter strings before longer ones.
genexPure :: [String] -> [String]Source
A pure and much faster variant of genex
, but without support for
back-references, anchors or word boundaries.
Does not guarantee orders about length of strings.
Does not depend on the external yices
SMT solver.
genexPrint :: [String] -> IO ()Source
Same as genexModels
, but print the models to standard output instead.