summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2008-06-12 13:11:18 +0000
committeraarne <aarne@cs.chalmers.se>2008-06-12 13:11:18 +0000
commit0a6085a7e2699fca3c8d6d38a08b3072430f8b5e (patch)
treef2903db4256f5e20014c9e49d2f8d4992014c931
parentf28e32e688df00676abf327dba5d3695f0026b9f (diff)
treating Int as PredefAbs.Int in lookup
-rw-r--r--src-3.0/GF/Compile.hs1
-rw-r--r--src-3.0/GF/Grammar/Lookup.hs6
-rw-r--r--src-3.0/GF/Grammar/PrGrammar.hs6
3 files changed, 9 insertions, 4 deletions
diff --git a/src-3.0/GF/Compile.hs b/src-3.0/GF/Compile.hs
index 71eb35bb4..13c96930c 100644
--- a/src-3.0/GF/Compile.hs
+++ b/src-3.0/GF/Compile.hs
@@ -176,7 +176,6 @@ compileSourceModule opts env@(k,gr,_) mo@(i,mi) = do
if null warnings then return () else putp warnings $ return ()
intermOut opts DumpTypeCheck (prModule mo3)
-
(k',mo3r:_) <- putpp " refreshing " $ ioeErr $ refreshModule (k,mos) mo3
intermOut opts DumpRefresh (prModule mo3r)
diff --git a/src-3.0/GF/Grammar/Lookup.hs b/src-3.0/GF/Grammar/Lookup.hs
index 6f4b5daa3..a4208b21b 100644
--- a/src-3.0/GF/Grammar/Lookup.hs
+++ b/src-3.0/GF/Grammar/Lookup.hs
@@ -50,12 +50,14 @@ lookupResDef gr m c = liftM fst $ lookupResDefKind gr m c
-- 0 = oper, 1 = lin, 2 = canonical. v > 0 means: no need to be recomputed
lookupResDefKind :: SourceGrammar -> Ident -> Ident -> Err (Term,Int)
-lookupResDefKind gr m c = look True m c where
+lookupResDefKind gr m c
+ | isPredefCat c = return (Q cPredefAbs c,2) --- need this in gf3 12/6/2008
+ | otherwise = look True m c where
look isTop m c = do
mi <- lookupModule gr m
case mi of
ModMod mo -> do
- info <- lookupIdentInfo mo c
+ info <- lookupIdentInfoIn mo m c
case info of
ResOper _ (Yes t) -> return (qualifAnnot m t, 0)
ResOper _ Nope -> return (Q m c, 0) ---- if isTop then lookExt m c
diff --git a/src-3.0/GF/Grammar/PrGrammar.hs b/src-3.0/GF/Grammar/PrGrammar.hs
index 1b824da32..c1593dd63 100644
--- a/src-3.0/GF/Grammar/PrGrammar.hs
+++ b/src-3.0/GF/Grammar/PrGrammar.hs
@@ -30,7 +30,7 @@ module GF.Grammar.PrGrammar (Print(..),
prConstrs, prConstraints,
prMetaSubst, prEnv, prMSubst,
prExp, prOperSignature,
- lookupIdent, lookupIdentInfo,
+ lookupIdent, lookupIdentInfo, lookupIdentInfoIn,
prTermTabular
) where
@@ -255,6 +255,10 @@ lookupIdent c t = case lookupTree prt c t of
lookupIdentInfo :: Module Ident a -> Ident -> Err a
lookupIdentInfo mo i = lookupIdent i (jments mo)
+lookupIdentInfoIn :: Module Ident a -> Ident -> Ident -> Err a
+lookupIdentInfoIn mo m i =
+ err (\s -> Bad (s +++ "in module" +++ prt m)) return $ lookupIdentInfo mo i
+
--- printing cc command output AR 26/5/2008