diff options
Diffstat (limited to 'src/compiler/GF')
| -rw-r--r-- | src/compiler/GF/Index.hs | 36 | ||||
| -rw-r--r-- | src/compiler/GF/Infra/Option.hs | 10 |
2 files changed, 5 insertions, 41 deletions
diff --git a/src/compiler/GF/Index.hs b/src/compiler/GF/Index.hs deleted file mode 100644 index eeb8697b3..000000000 --- a/src/compiler/GF/Index.hs +++ /dev/null @@ -1,36 +0,0 @@ -{-- -This module provide a function for indexing a pgf. - -It reads the pgf and add a global flag, called "index", containing a string -with concrete names and size in bytes separated by a column. -ex : "DisambPhrasebookEng:18778 PhrasebookBul:49971 PhrasebookCat:32738..." ---} -module GF.Index (addIndex) where - -import PGF -import PGF.Data ---import PGF.Binary -import Data.Binary -import Data.ByteString.Lazy (length) -- readFile -import qualified Data.Map as Map -import Data.Map (toAscList) -import Data.List (intercalate) ---import qualified Data.ByteString.Lazy as BS - -addIndex :: PGF -> PGF -addIndex pgf = pgf {gflags = flags} - where flags = Map.insert (mkCId "index") (LStr $ showIndex index) (gflags pgf) - index = getIndex pgf - - -showIndex :: [(String,Int)] -> String -showIndex = intercalate " " . map f - where f (name,size) = name ++ ":" ++ show size - -getsize :: Binary a => a -> Int -getsize x = let bs = encode x in fromIntegral $ Data.ByteString.Lazy.length bs - -getIndex :: PGF -> [(String,Int)] -getIndex pgf = cncindex - where cncindex = map f $ Data.Map.toAscList $ concretes pgf - f (cncname,cnc) = (show cncname, getsize cnc) diff --git a/src/compiler/GF/Infra/Option.hs b/src/compiler/GF/Infra/Option.hs index fb516a690..7a7f77a1e 100644 --- a/src/compiler/GF/Infra/Option.hs +++ b/src/compiler/GF/Infra/Option.hs @@ -161,7 +161,7 @@ data Flags = Flags { optPMCFG :: Bool, optOptimizations :: Set Optimization, optOptimizePGF :: Bool, - optMkIndexPGF :: Bool, + optSplitPGF :: Bool, optCFGTransforms :: Set CFGTransform, optLibraryPath :: [FilePath], optStartCat :: Maybe String, @@ -272,7 +272,7 @@ defaultFlags = Flags { optPMCFG = True, optOptimizations = Set.fromList [OptStem,OptCSE,OptExpand,OptParametrize], optOptimizePGF = False, - optMkIndexPGF = False, + optSplitPGF = False, optCFGTransforms = Set.fromList [CFGRemoveCycles, CFGBottomUpFilter, CFGTopDownFilter, CFGMergeIdentical], optLibraryPath = [], @@ -367,8 +367,8 @@ optDescr = "Select an optimization package. OPT = all | values | parametrize | none", Option [] ["optimize-pgf"] (NoArg (optimize_pgf True)) "Enable or disable global grammar optimization. This could significantly reduce the size of the final PGF file", - Option [] ["mk-index"] (NoArg (mkIndex True)) - "Add an index to the pgf file", + Option [] ["split-pgf"] (NoArg (splitPGF True)) + "Split the PGF into one file per language. This allows the runtime to load only individual languages", Option [] ["stem"] (onOff (toggleOptimize OptStem) True) "Perform stem-suffix analysis (default on).", Option [] ["cse"] (onOff (toggleOptimize OptCSE) True) "Perform common sub-expression elimination (default on).", Option [] ["cfg"] (ReqArg cfgTransform "TRANS") "Enable or disable specific CFG transformations. TRANS = merge, no-merge, bottomup, no-bottomup, ...", @@ -437,7 +437,7 @@ optDescr = Nothing -> fail $ "Unknown optimization package: " ++ x optimize_pgf x = set $ \o -> o { optOptimizePGF = x } - mkIndex x = set $ \o -> o { optMkIndexPGF = x } + splitPGF x = set $ \o -> o { optSplitPGF = x } toggleOptimize x b = set $ setOptimization' x b |
