summaryrefslogtreecommitdiff
path: root/src/GF/Canon/GFCC
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2006-10-01 15:41:32 +0000
committeraarne <aarne@cs.chalmers.se>2006-10-01 15:41:32 +0000
commite97bbc054f3542e65ecf28d01067a1677fa58644 (patch)
treec4d4f6f3b1a47b3c28512650a58d7549add9e841 /src/GF/Canon/GFCC
parent35e17afb3858fb2b9a1792d8ab684b77ecb3d56c (diff)
gfcc compilation: know bugs fixed
Diffstat (limited to 'src/GF/Canon/GFCC')
-rw-r--r--src/GF/Canon/GFCC/DataGFCC.hs9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/GF/Canon/GFCC/DataGFCC.hs b/src/GF/Canon/GFCC/DataGFCC.hs
index 09b0acbf5..8588d2f9b 100644
--- a/src/GF/Canon/GFCC/DataGFCC.hs
+++ b/src/GF/Canon/GFCC/DataGFCC.hs
@@ -97,20 +97,21 @@ compute mcfg lang args = comp where
look = lookLin mcfg lang
idx xs i =
if length xs <= i ---- debug
- then K (KS ("ERROR" ++ show xs ++ " !! " ++ show i)) else
- xs !! i
+ then trace ("ERROR in compiler producing " ++ show xs ++ " !! " ++ show i)
+ (last xs)
+ else xs !! i
getIndex t0 t = case t of
C i -> fromInteger i
RP p _ -> getIndex t0 $ p
- _ -> error $ "compiler error: index from " ++ show t
+ _ -> trace ("ERROR in compiler: index from " ++ show t) 0
---- TODO: this is workaround for a compiler bug
-- R (u : _) -> trace (show t ++ " IN\n" ++ show t0) $ getIndex t0 u
getFields t = case t of
R rs -> rs
RP _ r -> getFields r
- _ -> error $ "compiler error: fields from " ++ show t
+ _ -> trace ("ERROR in compiler: fields from " ++ show t) [t]
mkGFCC :: Grammar -> GFCC
mkGFCC (Grm (Hdr a cs) ab@(Abs funs) ccs) = GFCC {