From 6cbb8086c8bcaca638b993a75017b7738cd923c9 Mon Sep 17 00:00:00 2001 From: aarne Date: Sat, 15 Mar 2008 21:02:59 +0000 Subject: putting pattern macros in place (not properly tested yet) --- src/GF/Grammar/PatternMatch.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/GF/Grammar/PatternMatch.hs') diff --git a/src/GF/Grammar/PatternMatch.hs b/src/GF/Grammar/PatternMatch.hs index 4b69c3ffd..b96d35b93 100644 --- a/src/GF/Grammar/PatternMatch.hs +++ b/src/GF/Grammar/PatternMatch.hs @@ -111,13 +111,15 @@ tryMatch (p,t) = do matches <- checks [mapM tryMatch [(p1,K s1),(p2,K s2)] | (s1,s2) <- cuts] return (concat matches) - (PChar, ([],K [_],[])) -> return [] - (PRep p1, ([],K s, [])) -> checks [ trym (foldr (const (PSeq p1)) (PString "") [1..n]) t' | n <- [0 .. length s] ] >> return [] + + (PChar, ([],K [_], [])) -> return [] + (PChars cs, ([],K [c], [])) | elem c cs -> return [] + _ -> prtBad "no match in case expr for" t isInConstantForm :: Term -> Bool -- cgit v1.2.3