diff options
| author | aarne <aarne@cs.chalmers.se> | 2006-11-13 17:52:58 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2006-11-13 17:52:58 +0000 |
| commit | ae4ba74838ece4a5ac5fe4517260b7eb5467967f (patch) | |
| tree | ff21fbed435ce2ec85045e599e14a56cb732f8cf /src | |
| parent | 49c8a52adea8056bc1f55e62e2d9c30a446d1ead (diff) | |
an alternative lookup strategy in Compute
Diffstat (limited to 'src')
| -rw-r--r-- | src/GF/Grammar/Compute.hs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/GF/Grammar/Compute.hs b/src/GF/Grammar/Compute.hs index b31718bd5..a299d9eb5 100644 --- a/src/GF/Grammar/Compute.hs +++ b/src/GF/Grammar/Compute.hs @@ -17,6 +17,7 @@ module GF.Grammar.Compute (computeConcrete, computeTerm,computeConcreteRec) wher import GF.Data.Operations import GF.Grammar.Grammar import GF.Infra.Ident +import GF.Infra.Option import GF.Data.Str import GF.Grammar.PrGrammar import GF.Infra.Modules @@ -287,6 +288,19 @@ computeTermOpt rec gr = comp where | rec = lookupResDef gr p c >>= comp [] | otherwise = lookupResDef gr p c +{- + look p c = case lookupResDefKind gr p c of + Ok (t,_) | noExpand p || rec -> comp [] t + Ok (t,_) -> return t + Bad s -> raise s + + noExpand p = errVal False $ do + mo <- lookupModMod gr p + return $ case getOptVal (iOpts (flags mo)) useOptimizer of + Just "noexpand" -> True + _ -> False +-} + ext x a g = (x,a):g returnC = return --- . computed |
