diff options
| author | aarne <aarne@cs.chalmers.se> | 2005-12-06 12:39:36 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2005-12-06 12:39:36 +0000 |
| commit | a6dc94435648dfeeb10a691a1fd6d3ad2f6dd154 (patch) | |
| tree | f09c361d6bdfaa30d8c28206da29702db6debde5 /src/GF/Compile | |
| parent | 54671579f56112271c9f96783d2e9e8a447e9f51 (diff) | |
opers in cnc
Diffstat (limited to 'src/GF/Compile')
| -rw-r--r-- | src/GF/Compile/CheckGrammar.hs | 8 | ||||
| -rw-r--r-- | src/GF/Compile/Optimize.hs | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/GF/Compile/CheckGrammar.hs b/src/GF/Compile/CheckGrammar.hs index fc77bb6fa..08b14e3fb 100644 --- a/src/GF/Compile/CheckGrammar.hs +++ b/src/GF/Compile/CheckGrammar.hs @@ -218,7 +218,7 @@ checkCncInfo gr m (a,abs) (c,info) = do checkPrintname gr mpr return (c,CncCat (Yes typ') mdef' mpr) - _ -> return (c,info) + _ -> checkResInfo gr (c,info) where env = gr @@ -740,6 +740,12 @@ checkEqLType env t u trm = do all (\ (l,a) -> any (\ (k,b) -> alpha g a b && l == k) ts) rs + (ExtR r s, ExtR r' s') -> alpha g r r' && alpha g s s' + + (ExtR r s, t) -> alpha g r t || alpha g s t + + + -- the following say that Ints n is a subset of Int and of Ints m (App (Q (IC "Predef") (IC "Ints")) (EInt n), App (Q (IC "Predef") (IC "Ints")) (EInt m)) -> m >= n diff --git a/src/GF/Compile/Optimize.hs b/src/GF/Compile/Optimize.hs index 65ccc056f..40514b75c 100644 --- a/src/GF/Compile/Optimize.hs +++ b/src/GF/Compile/Optimize.hs @@ -63,7 +63,7 @@ evalModule oopts ms mo@(name,mod) = case mod of MGrammar (mod' : _) <- foldM evalOp gr ids return $ mod' MTConcrete a -> do - js' <- mapMTree (evalCncInfo oopts gr0 name a) js + js' <- mapMTree (evalCncInfo oopts gr name a) js ---- <- gr0 6/12/2005 return $ (name, ModMod (Module mt st fs me ops js')) _ -> return $ (name,mod) |
