|
|
|
|
|
Description |
This Text.Regex.TDFA.Pattern module provides the Pattern data
type and its subtypes. This Pattern type is used to represent
the parsed form of a Regular Expression.
|
|
Synopsis |
|
|
|
Documentation |
|
data Pattern |
Pattern is the type returned by the regular expression parser.
This is consumed by the CorePattern module and the tender leaves
are nibbled by the TNFA module.
| Constructors | | Instances | |
|
|
data PatternSet |
Constructors | | Instances | |
|
|
newtype PatternSetCharacterClass |
Constructors | | Instances | |
|
|
newtype PatternSetCollatingElement |
Constructors | PatternSetCollatingElement | | |
| Instances | |
|
|
newtype PatternSetEquivalenceClass |
Constructors | PatternSetEquivalenceClass | | |
| Instances | |
|
|
type GroupIndex = Int |
GroupIndex is for indexing submatches from capturing
parenthesized groups (PGroup/Group)
|
|
newtype DoPa |
Used to track elements of the pattern that accept characters or
are anchors
| Constructors | | Instances | |
|
|
showPattern :: Pattern -> String |
I have not been checking, but this should have the property that
parsing the resulting string should result in an identical Pattern.
This is not true if starTrans has created PNonCapture and PNonEmpty
values or a (PStar False). The contents of a [ ] grouping are
always shown in a sorted canonical order.
|
|
Internal use
|
|
starTrans :: Pattern -> Pattern |
Do the transformation and simplification in a single traversal.
This removes the PPlus, PQuest, and PBound values, changing to POr
and PEmpty and PStar True/False. For some PBound values it adds
PNonEmpty and PNonCapture semantic marker. It also simplifies to
flatten out nested POr and PConcat instances and eliminate some
uneeded PEmpty values.
|
|
Internal use, Operations to support debugging under ghci
|
|
starTrans' :: Pattern -> Pattern |
|
simplify' :: Pattern -> Pattern |
Function to transform a pattern into an equivalent, but less
redundant form. Nested POr and PConcat are flattened. PEmpty
is propagated.
|
|
dfsPattern |
:: Pattern -> Pattern | The transformation function
| -> Pattern | The Pattern to transform
| -> Pattern | The transformed Pattern
| Apply a Pattern transfomation function depth first
|
|
|
Produced by Haddock version 2.3.0 |