diff options
| author | hallgren <hallgren@chalmers.se> | 2013-11-05 13:11:10 +0000 |
|---|---|---|
| committer | hallgren <hallgren@chalmers.se> | 2013-11-05 13:11:10 +0000 |
| commit | 3814841d7d3b77b3f033cb98c1c0a04ac39435d7 (patch) | |
| tree | 1ad913a0a7ca870b7ec62db86afbc422cab97df1 /src/compiler/GF/Speech | |
| parent | 74357cdedf90178253d5d812931cb78a9bdf54aa (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.hs | 10 | ||||
| -rw-r--r-- | src/compiler/GF/Speech/CFGToFA.hs | 10 | ||||
| -rw-r--r-- | src/compiler/GF/Speech/FiniteState.hs | 2 | ||||
| -rw-r--r-- | src/compiler/GF/Speech/GSL.hs | 4 | ||||
| -rw-r--r-- | src/compiler/GF/Speech/JSGF.hs | 8 | ||||
| -rw-r--r-- | src/compiler/GF/Speech/PGFToCFG.hs | 8 | ||||
| -rw-r--r-- | src/compiler/GF/Speech/SISR.hs | 6 | ||||
| -rw-r--r-- | src/compiler/GF/Speech/SLF.hs | 6 | ||||
| -rw-r--r-- | src/compiler/GF/Speech/SRG.hs | 12 | ||||
| -rw-r--r-- | src/compiler/GF/Speech/SRGS_ABNF.hs | 6 | ||||
| -rw-r--r-- | src/compiler/GF/Speech/SRGS_XML.hs | 8 | ||||
| -rw-r--r-- | src/compiler/GF/Speech/VoiceXML.hs | 14 |
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 |
