summaryrefslogtreecommitdiff
path: root/src/GF/Grammar/Macros.hs
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2006-01-07 14:39:40 +0000
committeraarne <aarne@cs.chalmers.se>2006-01-07 14:39:40 +0000
commitd133e0353ca614b36357dadb782aea43de895e09 (patch)
treea68ecef132a1b18a12899ef9b718ed411816528f /src/GF/Grammar/Macros.hs
parent4e42d73ee508715e83c8f1a160b7bc696b78571b (diff)
regular expression patterns
Diffstat (limited to 'src/GF/Grammar/Macros.hs')
-rw-r--r--src/GF/Grammar/Macros.hs4
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