summaryrefslogtreecommitdiff
path: root/src/GF
diff options
context:
space:
mode:
Diffstat (limited to 'src/GF')
-rw-r--r--src/GF/Canon/GFCC/FCFGParsing.hs6
-rw-r--r--src/GF/Canon/GFCC/GFCCAPI.hs6
-rw-r--r--src/GF/Canon/GFCC/ParGFCC.hs2
-rw-r--r--src/GF/Canon/GFCC/PrintGFCC.hs2
-rw-r--r--src/GF/Compile/ShellState.hs4
-rw-r--r--src/GF/Conversion/FTypes.hs1
-rw-r--r--src/GF/Conversion/SimpleToFCFG.hs13
-rw-r--r--src/GF/Formalism/FCFG.hs3
-rw-r--r--src/GF/Formalism/Utilities.hs1
-rw-r--r--src/GF/Parsing/FCFG.hs2
-rw-r--r--src/GF/Parsing/FCFG/Active.hs3
-rw-r--r--src/GF/Parsing/FCFG/PInfo.hs5
12 files changed, 13 insertions, 35 deletions
diff --git a/src/GF/Canon/GFCC/FCFGParsing.hs b/src/GF/Canon/GFCC/FCFGParsing.hs
index eeea653d2..9cd489278 100644
--- a/src/GF/Canon/GFCC/FCFGParsing.hs
+++ b/src/GF/Canon/GFCC/FCFGParsing.hs
@@ -2,7 +2,7 @@ module GF.Canon.GFCC.FCFGParsing (parserLang,buildPInfo,FCFPInfo) where
import GF.Canon.GFCC.DataGFCC
import GF.Canon.GFCC.AbsGFCC
-import GF.Conversion.SimpleToFCFG (convertGrammarCId,FCat(..))
+import GF.Conversion.SimpleToFCFG (convertGrammar,FCat(..))
--import GF.System.Tracing
--import GF.Infra.Print
@@ -35,11 +35,9 @@ import qualified GF.Parsing.FCFG as PF
import GF.Canon.GFCC.ErrM
import GF.Infra.PrintClass
---convertGrammarCId :: Grammar -> [(CId,FGrammar)]
-
parserLang :: GFCC -> CId -> CFCat -> [CFTok] -> Err [Exp]
parserLang mgr lang = parse info where
- fcfgs = convertGrammarCId mgr
+ fcfgs = convertGrammar mgr
info = buildPInfo $ maybe (error "no parser") id $ lookup lang fcfgs
type CFTok = String ----
diff --git a/src/GF/Canon/GFCC/GFCCAPI.hs b/src/GF/Canon/GFCC/GFCCAPI.hs
index 9c3978442..9315ae0fc 100644
--- a/src/GF/Canon/GFCC/GFCCAPI.hs
+++ b/src/GF/Canon/GFCC/GFCCAPI.hs
@@ -23,14 +23,14 @@ import GF.Canon.GFCC.PrintGFCC
import GF.Canon.GFCC.ErrM
import GF.Canon.GFCC.FCFGParsing
import qualified GF.Canon.GFCC.GenGFCC as G
-import GF.Conversion.SimpleToFCFG (convertGrammarCId,FCat(..)) ----
+import GF.Conversion.SimpleToFCFG (convertGrammar,FCat(..))
--import GF.Data.Operations
--import GF.Infra.UseIO
import qualified Data.Map as Map
import System.Random (newStdGen)
import System.Directory (doesFileExist)
-import System
+
-- This API is meant to be used when embedding GF grammars in Haskell
-- programs. The embedded system is supposed to use the
@@ -73,7 +73,7 @@ startCat :: MultiGrammar -> Category
file2grammar f = do
gfcc <- file2gfcc f
- let fcfgs = convertGrammarCId gfcc
+ let fcfgs = convertGrammar gfcc
return (MultiGrammar gfcc [(lang, buildPInfo fcfg) | (CId lang,fcfg) <- fcfgs])
file2gfcc f =
diff --git a/src/GF/Canon/GFCC/ParGFCC.hs b/src/GF/Canon/GFCC/ParGFCC.hs
index 2d208c20d..9aca361e7 100644
--- a/src/GF/Canon/GFCC/ParGFCC.hs
+++ b/src/GF/Canon/GFCC/ParGFCC.hs
@@ -4,7 +4,7 @@ module GF.Canon.GFCC.ParGFCC where
import GF.Canon.GFCC.AbsGFCC
import GF.Canon.GFCC.LexGFCC
import GF.Canon.GFCC.ErrM
-import Array
+import Data.Array
#if __GLASGOW_HASKELL__ >= 503
import GHC.Exts
#else
diff --git a/src/GF/Canon/GFCC/PrintGFCC.hs b/src/GF/Canon/GFCC/PrintGFCC.hs
index 05a9246cd..b3a2e3171 100644
--- a/src/GF/Canon/GFCC/PrintGFCC.hs
+++ b/src/GF/Canon/GFCC/PrintGFCC.hs
@@ -4,7 +4,7 @@ module GF.Canon.GFCC.PrintGFCC where
-- pretty-printer generated by the BNF converter
import GF.Canon.GFCC.AbsGFCC
-import Char
+import Data.Char
-- the top-level printing method
printTree :: Print a => a -> String
diff --git a/src/GF/Compile/ShellState.hs b/src/GF/Compile/ShellState.hs
index 57c0d1e88..e9533e1a0 100644
--- a/src/GF/Compile/ShellState.hs
+++ b/src/GF/Compile/ShellState.hs
@@ -17,6 +17,8 @@ module GF.Compile.ShellState where
import GF.Data.Operations
import GF.Canon.GFC
import GF.Canon.AbsGFC
+import GF.Canon.GFCC.AbsGFCC(CId(CId))
+import GF.Canon.GFCC.DataGFCC(mkGFCC)
import GF.Canon.CanonToGFCC as C2GFCC
import GF.Grammar.Macros
import GF.Grammar.MMacros
@@ -260,7 +262,7 @@ updateShellState opts ign mcnc sh ((_,sgr,gr,eenv),rts) = do
let fromGFC = snd . snd . Cnv.convertGFC opts
(mcfgs, cfgs) = unzip $ map (curry fromGFC cgr) concrs
- fcfgs = FCnv.convertGrammar (C2GFCC.mkCanon2gfccNoUTF8 cgr)
+ fcfgs = [(IC id,g) | (CId id,g) <- FCnv.convertGrammar (mkGFCC (C2GFCC.mkCanon2gfccNoUTF8 cgr))]
pInfos = zipWith3 Prs.buildPInfo mcfgs (map snd fcfgs) cfgs
diff --git a/src/GF/Conversion/FTypes.hs b/src/GF/Conversion/FTypes.hs
index 6538b04cd..9409fc4ee 100644
--- a/src/GF/Conversion/FTypes.hs
+++ b/src/GF/Conversion/FTypes.hs
@@ -1,6 +1,5 @@
module GF.Conversion.FTypes where
-import qualified GF.Infra.Ident as Ident (Ident(..), wildIdent, isWildIdent)
import qualified GF.Canon.GFCC.AbsGFCC as AbsGFCC (CId(..))
import GF.Formalism.FCFG
diff --git a/src/GF/Conversion/SimpleToFCFG.hs b/src/GF/Conversion/SimpleToFCFG.hs
index 6b580cb24..f5d771298 100644
--- a/src/GF/Conversion/SimpleToFCFG.hs
+++ b/src/GF/Conversion/SimpleToFCFG.hs
@@ -13,11 +13,9 @@
module GF.Conversion.SimpleToFCFG
- (convertGrammar,convertGrammarCId,FCat(..)) where
+ (convertGrammar,FCat(..)) where
-import GF.System.Tracing
import GF.Infra.PrintClass
-import GF.Infra.Ident
import Control.Monad
@@ -42,13 +40,8 @@ import Data.Maybe
type FToken = String
-convertGrammar :: Grammar -> [(Ident,FCFGrammar FCat FName FToken)]
-convertGrammar g = [(IC c, f) | (CId c,f) <- convertGrammarCId (mkGFCC g)]
-
--- this is more native for GFCC
-
-convertGrammarCId :: GFCC -> [(CId,FCFGrammar FCat FName FToken)]
-convertGrammarCId gfcc = [(cncname,convert abs_defs conc) |
+convertGrammar :: GFCC -> [(CId,FCFGrammar FCat FName FToken)]
+convertGrammar gfcc = [(cncname,convert abs_defs conc) |
cncname <- cncnames gfcc, conc <- Map.lookup cncname (concretes gfcc)]
where
diff --git a/src/GF/Formalism/FCFG.hs b/src/GF/Formalism/FCFG.hs
index e8e1f52e8..2fb4b0422 100644
--- a/src/GF/Formalism/FCFG.hs
+++ b/src/GF/Formalism/FCFG.hs
@@ -13,9 +13,6 @@ import Control.Monad (liftM)
import Data.List (groupBy)
import Data.Array
-import GF.Formalism.Utilities
---import GF.Formalism.GCFG
-
import GF.Infra.PrintClass
diff --git a/src/GF/Formalism/Utilities.hs b/src/GF/Formalism/Utilities.hs
index 5d6c5854e..d1826d095 100644
--- a/src/GF/Formalism/Utilities.hs
+++ b/src/GF/Formalism/Utilities.hs
@@ -43,7 +43,6 @@ filterCats syms = [ cat | Cat cat <- syms ]
filterToks :: [Symbol c t] -> [t]
filterToks syms = [ tok | Tok tok <- syms ]
-
------------------------------------------------------------
-- * edges
diff --git a/src/GF/Parsing/FCFG.hs b/src/GF/Parsing/FCFG.hs
index 9309dc78c..dfe26d0b3 100644
--- a/src/GF/Parsing/FCFG.hs
+++ b/src/GF/Parsing/FCFG.hs
@@ -13,8 +13,6 @@ module GF.Parsing.FCFG
import GF.Data.Operations (Err(..))
import GF.Formalism.Utilities
-import GF.Formalism.GCFG
-import GF.Formalism.MCFG
import GF.Parsing.FCFG.PInfo
import qualified GF.Parsing.FCFG.Active as Active
diff --git a/src/GF/Parsing/FCFG/Active.hs b/src/GF/Parsing/FCFG/Active.hs
index 243fc993c..d315ca1cc 100644
--- a/src/GF/Parsing/FCFG/Active.hs
+++ b/src/GF/Parsing/FCFG/Active.hs
@@ -14,12 +14,9 @@ import GF.Data.Assoc
import GF.Data.SortedList
import GF.Data.Utilities
-import GF.Formalism.GCFG
import GF.Formalism.FCFG
-import GF.Formalism.MCFG(Lin(..))
import GF.Formalism.Utilities
-import GF.Infra.Ident
import GF.Infra.PrintClass
import GF.Parsing.FCFG.Range
diff --git a/src/GF/Parsing/FCFG/PInfo.hs b/src/GF/Parsing/FCFG/PInfo.hs
index 0105bf24f..e463cf65a 100644
--- a/src/GF/Parsing/FCFG/PInfo.hs
+++ b/src/GF/Parsing/FCFG/PInfo.hs
@@ -9,11 +9,8 @@
module GF.Parsing.FCFG.PInfo where
-import GF.System.Tracing
import GF.Infra.PrintClass
-
import GF.Formalism.Utilities
-import GF.Formalism.GCFG
import GF.Formalism.FCFG
import GF.Data.SortedList
import GF.Data.Assoc
@@ -73,8 +70,6 @@ getLeftCornerCat lins
buildFCFPInfo :: (Ord c, Ord n, Ord t) => (t -> (c,SyntaxNode RuleId RangeRec)) -> FCFGrammar c n t -> FCFPInfo c n t
buildFCFPInfo lexer grammar =
- traceCalcFirst grammar $
- tracePrt "MCFG.PInfo - parser info" (prt) $
FCFPInfo { allRules = allrules
, topdownRules = topdownrules
-- , emptyRules = emptyrules