summaryrefslogtreecommitdiff
path: root/src/GF/Canon/CanonToGrammar.hs
diff options
context:
space:
mode:
authoraarne <unknown>2004-09-23 14:41:42 +0000
committeraarne <unknown>2004-09-23 14:41:42 +0000
commit2c60a2d82a0d7b90924e7dbbcacf36afb8549d17 (patch)
tree0a04734e741c294cb9f58cfdcafa2ff2b55894dd /src/GF/Canon/CanonToGrammar.hs
parentd5b4230d6dbee8c03eedf8d181dfa2badf1a954b (diff)
Ints n
Diffstat (limited to 'src/GF/Canon/CanonToGrammar.hs')
-rw-r--r--src/GF/Canon/CanonToGrammar.hs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/GF/Canon/CanonToGrammar.hs b/src/GF/Canon/CanonToGrammar.hs
index 927f7747d..75dc81bc0 100644
--- a/src/GF/Canon/CanonToGrammar.hs
+++ b/src/GF/Canon/CanonToGrammar.hs
@@ -111,6 +111,7 @@ redCType t = case t of
Table p v -> liftM2 G.Table (redCType p) (redCType v)
Cn mc -> liftM (uncurry G.QC) $ redQIdent mc
TStr -> return $ F.typeStr
+ TInts i -> return $ F.typeInts (fromInteger i)
redCTerm :: Term -> Err G.Term
redCTerm x = case x of
@@ -139,6 +140,7 @@ redCTerm x = case x of
C term0 term -> liftM2 G.C (redCTerm term0) (redCTerm term)
FV terms -> liftM G.FV $ mapM redCTerm terms
K (KS str) -> return $ G.K str
+ EInt i -> return $ G.EInt $ fromInteger i
E -> return $ G.Empty
K (KP d vs) -> return $
G.Alts (tList d,[(tList s, G.Strs $ map G.K v) | Var s v <- vs])
@@ -169,5 +171,6 @@ redPatt p = case p of
ls' = map redLabel ls
ts <- mapM redPatt ts
return $ G.PR $ zip ls' ts
+ PI i -> return $ G.PInt (fromInteger i)
_ -> Bad $ "cannot recompile pattern" +++ show p