summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Speech
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2013-11-05 13:11:10 +0000
committerhallgren <hallgren@chalmers.se>2013-11-05 13:11:10 +0000
commit3814841d7d3b77b3f033cb98c1c0a04ac39435d7 (patch)
tree1ad913a0a7ca870b7ec62db86afbc422cab97df1 /src/compiler/GF/Speech
parent74357cdedf90178253d5d812931cb78a9bdf54aa (diff)
Eliminate mutual dependencies between the GF compiler and the PGF library
+ References to modules under src/compiler have been eliminated from the PGF library (under src/runtime/haskell). Only two functions had to be moved (from GF.Data.Utilities to PGF.Utilities) to make this possible, other apparent dependencies turned out to be vacuous. + In gf.cabal, the GF executable no longer directly depends on the PGF library source directory, but only on the exposed library modules. This means that there is less duplication in gf.cabal and that the 30 modules in the PGF library will no longer be compiled twice while building GF. To make this possible, additional PGF library modules have been exposed, even though they should probably be considered for internal use only. They could be collected in a PGF.Internal module, or marked as "unstable", to make this explicit. + Also, by using the -fwarn-unused-imports flag, ~220 redundant imports were found and removed, reducing the total number of imports by ~15%.
Diffstat (limited to 'src/compiler/GF/Speech')
-rw-r--r--src/compiler/GF/Speech/CFG.hs10
-rw-r--r--src/compiler/GF/Speech/CFGToFA.hs10
-rw-r--r--src/compiler/GF/Speech/FiniteState.hs2
-rw-r--r--src/compiler/GF/Speech/GSL.hs4
-rw-r--r--src/compiler/GF/Speech/JSGF.hs8
-rw-r--r--src/compiler/GF/Speech/PGFToCFG.hs8
-rw-r--r--src/compiler/GF/Speech/SISR.hs6
-rw-r--r--src/compiler/GF/Speech/SLF.hs6
-rw-r--r--src/compiler/GF/Speech/SRG.hs12
-rw-r--r--src/compiler/GF/Speech/SRGS_ABNF.hs6
-rw-r--r--src/compiler/GF/Speech/SRGS_XML.hs8
-rw-r--r--src/compiler/GF/Speech/VoiceXML.hs14
12 files changed, 47 insertions, 47 deletions
diff --git a/src/compiler/GF/Speech/CFG.hs b/src/compiler/GF/Speech/CFG.hs
index 56d360dac..1a252139e 100644
--- a/src/compiler/GF/Speech/CFG.hs
+++ b/src/compiler/GF/Speech/CFG.hs
@@ -8,16 +8,16 @@ module GF.Speech.CFG where
import GF.Data.Utilities
import PGF
-import GF.Infra.Option
+--import GF.Infra.Option
import GF.Data.Relation
-import Control.Monad
-import Control.Monad.State (State, get, put, evalState)
+--import Control.Monad
+--import Control.Monad.State (State, get, put, evalState)
import Data.Map (Map)
import qualified Data.Map as Map
import Data.List
-import Data.Maybe (fromMaybe)
-import Data.Monoid (mconcat)
+--import Data.Maybe (fromMaybe)
+--import Data.Monoid (mconcat)
import Data.Set (Set)
import qualified Data.Set as Set
diff --git a/src/compiler/GF/Speech/CFGToFA.hs b/src/compiler/GF/Speech/CFGToFA.hs
index 3045ac842..4f5e3621e 100644
--- a/src/compiler/GF/Speech/CFGToFA.hs
+++ b/src/compiler/GF/Speech/CFGToFA.hs
@@ -14,17 +14,17 @@ import qualified Data.Map as Map
import Data.Set (Set)
import qualified Data.Set as Set
-import PGF.CId
+--import PGF.CId
import PGF.Data
import GF.Data.Utilities
import GF.Speech.CFG
-import GF.Speech.PGFToCFG
-import GF.Infra.Ident (Ident)
+--import GF.Speech.PGFToCFG
+--import GF.Infra.Ident (Ident)
import GF.Data.Graph
-import GF.Data.Relation
+--import GF.Data.Relation
import GF.Speech.FiniteState
-import GF.Speech.CFG
+--import GF.Speech.CFG
data Recursivity = RightR | LeftR | NotR
diff --git a/src/compiler/GF/Speech/FiniteState.hs b/src/compiler/GF/Speech/FiniteState.hs
index 136d773a2..4eaf3873a 100644
--- a/src/compiler/GF/Speech/FiniteState.hs
+++ b/src/compiler/GF/Speech/FiniteState.hs
@@ -41,7 +41,7 @@ import qualified Data.Map as Map
import Data.Set (Set)
import qualified Data.Set as Set
-import GF.Data.Utilities
+--import GF.Data.Utilities
import GF.Data.Graph
import qualified GF.Data.Graphviz as Dot
diff --git a/src/compiler/GF/Speech/GSL.hs b/src/compiler/GF/Speech/GSL.hs
index f1cf02ab3..3557ff21f 100644
--- a/src/compiler/GF/Speech/GSL.hs
+++ b/src/compiler/GF/Speech/GSL.hs
@@ -8,12 +8,12 @@
module GF.Speech.GSL (gslPrinter) where
-import GF.Data.Utilities
+--import GF.Data.Utilities
import GF.Speech.CFG
import GF.Speech.SRG
import GF.Speech.RegExp
import GF.Infra.Option
-import GF.Infra.Ident
+--import GF.Infra.Ident
import PGF
import Data.Char (toUpper,toLower)
diff --git a/src/compiler/GF/Speech/JSGF.hs b/src/compiler/GF/Speech/JSGF.hs
index 2cfeea5f5..921108e11 100644
--- a/src/compiler/GF/Speech/JSGF.hs
+++ b/src/compiler/GF/Speech/JSGF.hs
@@ -12,20 +12,20 @@
module GF.Speech.JSGF (jsgfPrinter) where
-import GF.Data.Utilities
+--import GF.Data.Utilities
import GF.Infra.Option
import GF.Speech.CFG
import GF.Speech.RegExp
import GF.Speech.SISR
import GF.Speech.SRG
-import PGF.CId
+--import PGF.CId
import PGF.Data
import Data.Char
import Data.List
-import Data.Maybe
+--import Data.Maybe
import Text.PrettyPrint.HughesPJ
-import Debug.Trace
+--import Debug.Trace
width :: Int
width = 75
diff --git a/src/compiler/GF/Speech/PGFToCFG.hs b/src/compiler/GF/Speech/PGFToCFG.hs
index 39c5b2a32..1f011dcec 100644
--- a/src/compiler/GF/Speech/PGFToCFG.hs
+++ b/src/compiler/GF/Speech/PGFToCFG.hs
@@ -6,18 +6,18 @@
----------------------------------------------------------------------
module GF.Speech.PGFToCFG (bnfPrinter, pgfToCFG) where
-import PGF.CId
+import PGF(showCId)
import PGF.Data as PGF
import PGF.Macros
-import GF.Infra.Ident
+--import GF.Infra.Ident
import GF.Speech.CFG hiding (Symbol)
import Data.Array.IArray as Array
-import Data.List
+--import Data.List
import Data.Map (Map)
import qualified Data.Map as Map
import qualified Data.IntMap as IntMap
-import Data.Maybe
+--import Data.Maybe
import Data.Set (Set)
import qualified Data.Set as Set
diff --git a/src/compiler/GF/Speech/SISR.hs b/src/compiler/GF/Speech/SISR.hs
index f966d96b9..8417fb203 100644
--- a/src/compiler/GF/Speech/SISR.hs
+++ b/src/compiler/GF/Speech/SISR.hs
@@ -10,12 +10,12 @@ module GF.Speech.SISR (SISRFormat(..), SISRTag, prSISR,
import Data.List
-import GF.Data.Utilities
-import GF.Infra.Ident
+--import GF.Data.Utilities
+--import GF.Infra.Ident
import GF.Infra.Option (SISRFormat(..))
import GF.Speech.CFG
import GF.Speech.SRG (SRGNT)
-import PGF.CId
+import PGF(showCId)
import qualified GF.JavaScript.AbsJS as JS
import qualified GF.JavaScript.PrintJS as JS
diff --git a/src/compiler/GF/Speech/SLF.hs b/src/compiler/GF/Speech/SLF.hs
index 84633149b..7785f2382 100644
--- a/src/compiler/GF/Speech/SLF.hs
+++ b/src/compiler/GF/Speech/SLF.hs
@@ -15,17 +15,17 @@ module GF.Speech.SLF (slfPrinter,slfGraphvizPrinter,
import GF.Data.Utilities
import GF.Speech.CFG
import GF.Speech.FiniteState
-import GF.Speech.CFG
+--import GF.Speech.CFG
import GF.Speech.CFGToFA
import GF.Speech.PGFToCFG
import qualified GF.Data.Graphviz as Dot
import PGF
-import PGF.CId
+--import PGF.CId
import Control.Monad
import qualified Control.Monad.State as STM
import Data.Char (toUpper)
-import Data.List
+--import Data.List
import Data.Maybe
data SLFs = SLFs [(String,SLF)] SLF
diff --git a/src/compiler/GF/Speech/SRG.hs b/src/compiler/GF/Speech/SRG.hs
index 8acd31aa9..4e5508de0 100644
--- a/src/compiler/GF/Speech/SRG.hs
+++ b/src/compiler/GF/Speech/SRG.hs
@@ -17,21 +17,21 @@ module GF.Speech.SRG (SRG(..), SRGRule(..), SRGAlt(..), SRGItem, SRGSymbol
, lookupFM_
) where
-import GF.Data.Operations
+--import GF.Data.Operations
import GF.Data.Utilities
-import GF.Infra.Ident
+--import GF.Infra.Ident
import GF.Infra.Option
import GF.Speech.CFG
import GF.Speech.PGFToCFG
-import GF.Data.Relation
-import GF.Speech.FiniteState
+--import GF.Data.Relation
+--import GF.Speech.FiniteState
import GF.Speech.RegExp
import GF.Speech.CFGToFA
-import GF.Infra.Option
+--import GF.Infra.Option
import PGF
import Data.List
-import Data.Maybe (fromMaybe, maybeToList)
+--import Data.Maybe (fromMaybe, maybeToList)
import Data.Map (Map)
import qualified Data.Map as Map
import Data.Set (Set)
diff --git a/src/compiler/GF/Speech/SRGS_ABNF.hs b/src/compiler/GF/Speech/SRGS_ABNF.hs
index 2df1316a8..5d07762bb 100644
--- a/src/compiler/GF/Speech/SRGS_ABNF.hs
+++ b/src/compiler/GF/Speech/SRGS_ABNF.hs
@@ -19,7 +19,7 @@
module GF.Speech.SRGS_ABNF (srgsAbnfPrinter, srgsAbnfNonRecursivePrinter) where
-import GF.Data.Utilities
+--import GF.Data.Utilities
import GF.Infra.Option
import GF.Speech.CFG
import GF.Speech.SISR as SISR
@@ -27,11 +27,11 @@ import GF.Speech.SRG
import GF.Speech.RegExp
import PGF (PGF, CId)
-import Data.Char
+--import Data.Char
import Data.List
import Data.Maybe
import Text.PrettyPrint.HughesPJ
-import Debug.Trace
+--import Debug.Trace
width :: Int
width = 75
diff --git a/src/compiler/GF/Speech/SRGS_XML.hs b/src/compiler/GF/Speech/SRGS_XML.hs
index 5f3579406..fe973c2e6 100644
--- a/src/compiler/GF/Speech/SRGS_XML.hs
+++ b/src/compiler/GF/Speech/SRGS_XML.hs
@@ -6,7 +6,7 @@
----------------------------------------------------------------------
module GF.Speech.SRGS_XML (srgsXmlPrinter, srgsXmlNonRecursivePrinter) where
-import GF.Data.Utilities
+--import GF.Data.Utilities
import GF.Data.XML
import GF.Infra.Option
import GF.Speech.CFG
@@ -15,11 +15,11 @@ import GF.Speech.SISR as SISR
import GF.Speech.SRG
import PGF (PGF, CId, Token)
-import Control.Monad
-import Data.Char (toUpper,toLower)
+--import Control.Monad
+--import Data.Char (toUpper,toLower)
import Data.List
import Data.Maybe
-import qualified Data.Map as Map
+--import qualified Data.Map as Map
srgsXmlPrinter :: Options
-> PGF -> CId -> String
diff --git a/src/compiler/GF/Speech/VoiceXML.hs b/src/compiler/GF/Speech/VoiceXML.hs
index 23a07b62f..24c2e4d86 100644
--- a/src/compiler/GF/Speech/VoiceXML.hs
+++ b/src/compiler/GF/Speech/VoiceXML.hs
@@ -6,21 +6,21 @@
-----------------------------------------------------------------------------
module GF.Speech.VoiceXML (grammar2vxml) where
-import GF.Data.Operations
-import GF.Data.Str (sstrV)
-import GF.Data.Utilities
+--import GF.Data.Operations
+--import GF.Data.Str (sstrV)
+--import GF.Data.Utilities
import GF.Data.XML
-import GF.Infra.Ident
+--import GF.Infra.Ident
import PGF
import PGF.Data
import PGF.Macros
-import Control.Monad (liftM)
-import Data.List (isPrefixOf, find, intersperse)
+--import Control.Monad (liftM)
+import Data.List (intersperse) -- isPrefixOf, find
import qualified Data.Map as Map
import Data.Maybe (fromMaybe)
-import Debug.Trace
+--import Debug.Trace
-- | the main function
grammar2vxml :: PGF -> CId -> String