treating Int as PredefAbs.Int in lookup

This commit is contained in:
aarne
2008-06-12 13:11:18 +00:00
parent f28e32e688
commit 0a6085a7e2
3 changed files with 9 additions and 4 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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