summaryrefslogtreecommitdiff
path: root/src/GF/Compile/BackOpt.hs
diff options
context:
space:
mode:
authorpeb <unknown>2005-02-09 19:45:54 +0000
committerpeb <unknown>2005-02-09 19:45:54 +0000
commit9afbd25b64607e68fe6275fb6b743159001ca984 (patch)
treec1c7f0f1bd7f83d721f4e55318160edd1f0eee1b /src/GF/Compile/BackOpt.hs
parentc467ef8d0323d896778c6ed68ce0b23441f3a65a (diff)
"Committed_by_peb"
Diffstat (limited to 'src/GF/Compile/BackOpt.hs')
-rw-r--r--src/GF/Compile/BackOpt.hs18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/GF/Compile/BackOpt.hs b/src/GF/Compile/BackOpt.hs
index d68b72635..1c030f8e1 100644
--- a/src/GF/Compile/BackOpt.hs
+++ b/src/GF/Compile/BackOpt.hs
@@ -10,6 +10,9 @@
-- > CVS $Revision $
--
-- Optimizations on GF source code: sharing, parametrization, value sets.
+--
+-- optimization: sharing branches in tables. AR 25\/4\/2003.
+-- following advice of Josef Svenningsson
-----------------------------------------------------------------------------
module BackOpt (shareModule, OptSpec, shareOpt, paramOpt, valOpt, allOpt) where
@@ -22,15 +25,24 @@ import Operations
import List
import qualified Modules as M
--- optimization: sharing branches in tables. AR 25/4/2003
--- following advice of Josef Svenningsson
-
type OptSpec = [Integer] ---
+
+doOptFactor :: OptSpec
doOptFactor opt = elem 2 opt
+
+doOptValues :: OptSpec
doOptValues opt = elem 3 opt
+
+shareOpt :: OptSpec
shareOpt = []
+
+paramOpt :: OptSpec
paramOpt = [2]
+
+valOpt :: OptSpec
valOpt = [3]
+
+allOpt :: OptSpec
allOpt = [2,3]
shareModule :: OptSpec -> (Ident, SourceModInfo) -> (Ident, SourceModInfo)