From d698a006cc60f1c174b1adb6055a2e7f6877d26d Mon Sep 17 00:00:00 2001 From: bjorn Date: Thu, 16 Oct 2008 10:18:54 +0000 Subject: [PATCH] Removed on-demand parser generation from the PGF interpreter. --- GF.cabal | 4 ---- src/PGF.hs | 10 +--------- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/GF.cabal b/GF.cabal index 93dce4551..10c08edd1 100644 --- a/GF.cabal +++ b/GF.cabal @@ -587,10 +587,6 @@ library GF.Data.Assoc GF.Data.ErrM GF.Text.UTF8 --- needed only for the on demand generation of PMCFG - GF.Data.BacktrackM - GF.Compile.GenerateFCFG - GF.Compile.GeneratePMCFG executable gf build-depends: base, diff --git a/src/PGF.hs b/src/PGF.hs index 96fd73c86..dc777f4d5 100644 --- a/src/PGF.hs +++ b/src/PGF.hs @@ -69,7 +69,6 @@ import PGF.Raw.Parse import PGF.Raw.Print (printTree) import PGF.Parsing.FCFG import qualified PGF.Parsing.FCFG.Incremental as Incremental -import qualified GF.Compile.GeneratePMCFG as PMCFG import GF.Text.UTF8 import GF.Data.ErrM @@ -205,14 +204,7 @@ complete :: PGF -> Language -> Category -> String readPGF f = do s <- readFile f >>= return . decodeUTF8 -- pgf is in UTF8, internal in unicode g <- parseGrammar s - return $! addParsers $ toPGF g - --- Adds parsers for all concretes that don't have a parser. -addParsers :: PGF -> PGF -addParsers pgf = pgf { concretes = Map.map conv (concretes pgf) } - where - conv cnc | isJust (parser cnc) = cnc - | otherwise = cnc { parser = Just (PMCFG.convertConcrete (abstract pgf) cnc) } + return $! toPGF g linearize pgf lang = concat . take 1 . PGF.Linearize.linearizes pgf (mkCId lang)