diff options
| author | aarne <aarne@cs.chalmers.se> | 2006-01-07 14:39:40 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2006-01-07 14:39:40 +0000 |
| commit | d133e0353ca614b36357dadb782aea43de895e09 (patch) | |
| tree | a68ecef132a1b18a12899ef9b718ed411816528f /src/GF/Grammar/Macros.hs | |
| parent | 4e42d73ee508715e83c8f1a160b7bc696b78571b (diff) | |
regular expression patterns
Diffstat (limited to 'src/GF/Grammar/Macros.hs')
| -rw-r--r-- | src/GF/Grammar/Macros.hs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/GF/Grammar/Macros.hs b/src/GF/Grammar/Macros.hs index bc394b143..8261f7f36 100644 --- a/src/GF/Grammar/Macros.hs +++ b/src/GF/Grammar/Macros.hs @@ -509,6 +509,9 @@ term2patt trm = case termForm trm of Ok ([], Cn (IC "@"), [Vr a,b]) -> do b' <- term2patt b return (PAs a b') + Ok ([], Cn (IC "-"), [a]) -> do + a' <- term2patt a + return (PNeg a') Ok ([], Cn (IC "*"), [a]) -> do a' <- term2patt a return (PRep a') @@ -540,6 +543,7 @@ patt2term pt = case pt of PSeq a b -> appc "+" [(patt2term a), (patt2term b)] --- an encoding PAlt a b -> appc "|" [(patt2term a), (patt2term b)] --- an encoding PRep a -> appc "*" [(patt2term a)] --- an encoding + PNeg a -> appc "-" [(patt2term a)] --- an encoding redirectTerm :: Ident -> Term -> Term |
