From 3eba03569133aebbe83571c85d0a89a9f8f7a740 Mon Sep 17 00:00:00 2001 From: bringert Date: Thu, 20 Dec 2007 17:34:12 +0000 Subject: [PATCH] Replace all the different ErrM.hs modules with GF.Data.ErrM. --- src/GF/Command/Commands.hs | 2 +- src/GF/Command/ErrM.hs | 26 -------------------------- src/GF/Command/Interpreter.hs | 2 +- src/GF/Command/PPrTree.hs | 2 +- src/GF/Command/ParGFShell.hs | 2 +- src/GF/Data/ErrM.hs | 2 +- src/GF/Devel/Compile/GFC.hs | 2 +- src/GF/Devel/GFC.hs | 2 +- src/GF/GFCC/API.hs | 2 +- src/GF/GFCC/CheckGFCC.hs | 2 +- src/GF/GFCC/ErrM.hs | 26 -------------------------- src/GF/GFCC/Raw/ErrM.hs | 26 -------------------------- src/GF/GFCC/Raw/ParGFCCRaw.hs | 2 +- src/GF/GFCC/Raw/ParGFCCRaw.y | 2 +- src/GF/GFCC/SkelGFCC.hs | 2 +- src/GF/GFCC/TestGFCC.hs | 2 +- src/GF/JavaScript/ErrM.hs | 16 ---------------- src/GF/JavaScript/ParJS.hs | 2 +- src/GF/JavaScript/ParJS.y | 2 +- src/GF/JavaScript/SkelJS.hs | 2 +- src/GF/JavaScript/TestJS.hs | 2 +- src/GF/Parsing/FCFG.hs | 2 +- src/GF/Parsing/GFC.hs | 9 ++++----- 23 files changed, 22 insertions(+), 117 deletions(-) delete mode 100644 src/GF/Command/ErrM.hs delete mode 100644 src/GF/GFCC/ErrM.hs delete mode 100644 src/GF/GFCC/Raw/ErrM.hs delete mode 100644 src/GF/JavaScript/ErrM.hs diff --git a/src/GF/Command/Commands.hs b/src/GF/Command/Commands.hs index d8d77bc11..f89a3d111 100644 --- a/src/GF/Command/Commands.hs +++ b/src/GF/Command/Commands.hs @@ -18,7 +18,7 @@ import GF.GFCC.Macros import GF.Devel.PrintGFCC import GF.GFCC.DataGFCC ---- -import GF.Command.ErrM ---- +import GF.Data.ErrM ---- import qualified Data.Map as Map diff --git a/src/GF/Command/ErrM.hs b/src/GF/Command/ErrM.hs deleted file mode 100644 index b1f6329c2..000000000 --- a/src/GF/Command/ErrM.hs +++ /dev/null @@ -1,26 +0,0 @@ --- BNF Converter: Error Monad --- Copyright (C) 2004 Author: Aarne Ranta - --- This file comes with NO WARRANTY and may be used FOR ANY PURPOSE. -module GF.Command.ErrM where - --- the Error monad: like Maybe type with error msgs - -import Control.Monad (MonadPlus(..), liftM) - -data Err a = Ok a | Bad String - deriving (Read, Show, Eq, Ord) - -instance Monad Err where - return = Ok - fail = Bad - Ok a >>= f = f a - Bad s >>= f = Bad s - -instance Functor Err where - fmap = liftM - -instance MonadPlus Err where - mzero = Bad "Err.mzero" - mplus (Bad _) y = y - mplus x _ = x diff --git a/src/GF/Command/Interpreter.hs b/src/GF/Command/Interpreter.hs index ab6ee7f44..10730e7ef 100644 --- a/src/GF/Command/Interpreter.hs +++ b/src/GF/Command/Interpreter.hs @@ -11,7 +11,7 @@ import GF.GFCC.API import GF.GFCC.Macros import GF.GFCC.DataGFCC -import GF.Command.ErrM ---- +import GF.Data.ErrM ---- import qualified Data.Map as Map diff --git a/src/GF/Command/PPrTree.hs b/src/GF/Command/PPrTree.hs index 4067fdec6..7372c722d 100644 --- a/src/GF/Command/PPrTree.hs +++ b/src/GF/Command/PPrTree.hs @@ -6,7 +6,7 @@ import GF.GFCC.Macros import qualified GF.Command.ParGFShell as P import GF.Command.PrintGFShell import GF.Command.AbsGFShell -import GF.Command.ErrM +import GF.Data.ErrM pTree :: String -> Exp pTree s = case P.pTree (P.myLexer s) of diff --git a/src/GF/Command/ParGFShell.hs b/src/GF/Command/ParGFShell.hs index a334c3179..1fc85b4b7 100644 --- a/src/GF/Command/ParGFShell.hs +++ b/src/GF/Command/ParGFShell.hs @@ -3,7 +3,7 @@ module GF.Command.ParGFShell where import GF.Command.AbsGFShell import GF.Command.LexGFShell -import GF.Command.ErrM +import GF.Data.ErrM #if __GLASGOW_HASKELL__ >= 503 import Data.Array #else diff --git a/src/GF/Data/ErrM.hs b/src/GF/Data/ErrM.hs index 8d5ab5403..f588df1c0 100644 --- a/src/GF/Data/ErrM.hs +++ b/src/GF/Data/ErrM.hs @@ -16,5 +16,5 @@ module GF.Data.ErrM ( module GF.Data.Operations ) where -import GF.Data.Operations +import GF.Data.Operations (Err(..)) diff --git a/src/GF/Devel/Compile/GFC.hs b/src/GF/Devel/Compile/GFC.hs index 1e1bb9ce8..31be084a1 100644 --- a/src/GF/Devel/Compile/GFC.hs +++ b/src/GF/Devel/Compile/GFC.hs @@ -12,7 +12,7 @@ import GF.GFCC.Raw.ConvertGFCC import GF.Devel.UseIO import GF.Infra.Option import GF.GFCC.API -import GF.GFCC.ErrM +import GF.Data.ErrM mainGFC :: [String] -> IO () mainGFC xx = do diff --git a/src/GF/Devel/GFC.hs b/src/GF/Devel/GFC.hs index af124c9ed..85c9328f4 100644 --- a/src/GF/Devel/GFC.hs +++ b/src/GF/Devel/GFC.hs @@ -12,7 +12,7 @@ import GF.GFCC.Raw.ConvertGFCC import GF.Devel.UseIO import GF.Infra.Option import GF.GFCC.API -import GF.GFCC.ErrM +import GF.Data.ErrM mainGFC :: [String] -> IO () mainGFC xx = do diff --git a/src/GF/GFCC/API.hs b/src/GF/GFCC/API.hs index e3a7fc3c9..111857b18 100644 --- a/src/GF/GFCC/API.hs +++ b/src/GF/GFCC/API.hs @@ -24,7 +24,7 @@ import GF.GFCC.Raw.ConvertGFCC import GF.GFCC.Raw.ParGFCCRaw import GF.Command.PPrTree -import GF.GFCC.ErrM +import GF.Data.ErrM import GF.Parsing.FCFG import GF.Conversion.SimpleToFCFG (convertGrammar) diff --git a/src/GF/GFCC/CheckGFCC.hs b/src/GF/GFCC/CheckGFCC.hs index a6fd0332d..dfd9b2a0e 100644 --- a/src/GF/GFCC/CheckGFCC.hs +++ b/src/GF/GFCC/CheckGFCC.hs @@ -3,7 +3,7 @@ module GF.GFCC.CheckGFCC (checkGFCC, checkGFCCio, checkGFCCmaybe) where import GF.GFCC.CId import GF.GFCC.Macros import GF.GFCC.DataGFCC -import GF.GFCC.ErrM +import GF.Data.ErrM import qualified Data.Map as Map import Control.Monad diff --git a/src/GF/GFCC/ErrM.hs b/src/GF/GFCC/ErrM.hs deleted file mode 100644 index 15b014ae7..000000000 --- a/src/GF/GFCC/ErrM.hs +++ /dev/null @@ -1,26 +0,0 @@ --- BNF Converter: Error Monad --- Copyright (C) 2004 Author: Aarne Ranta - --- This file comes with NO WARRANTY and may be used FOR ANY PURPOSE. -module GF.GFCC.ErrM where - --- the Error monad: like Maybe type with error msgs - -import Control.Monad (MonadPlus(..), liftM) - -data Err a = Ok a | Bad String - deriving (Read, Show, Eq, Ord) - -instance Monad Err where - return = Ok - fail = Bad - Ok a >>= f = f a - Bad s >>= f = Bad s - -instance Functor Err where - fmap = liftM - -instance MonadPlus Err where - mzero = Bad "Err.mzero" - mplus (Bad _) y = y - mplus x _ = x diff --git a/src/GF/GFCC/Raw/ErrM.hs b/src/GF/GFCC/Raw/ErrM.hs deleted file mode 100644 index ce9401669..000000000 --- a/src/GF/GFCC/Raw/ErrM.hs +++ /dev/null @@ -1,26 +0,0 @@ --- BNF Converter: Error Monad --- Copyright (C) 2004 Author: Aarne Ranta - --- This file comes with NO WARRANTY and may be used FOR ANY PURPOSE. -module GF.GFCC.Raw.ErrM where - --- the Error monad: like Maybe type with error msgs - -import Control.Monad (MonadPlus(..), liftM) - -data Err a = Ok a | Bad String - deriving (Read, Show, Eq, Ord) - -instance Monad Err where - return = Ok - fail = Bad - Ok a >>= f = f a - Bad s >>= f = Bad s - -instance Functor Err where - fmap = liftM - -instance MonadPlus Err where - mzero = Bad "Err.mzero" - mplus (Bad _) y = y - mplus x _ = x diff --git a/src/GF/GFCC/Raw/ParGFCCRaw.hs b/src/GF/GFCC/Raw/ParGFCCRaw.hs index 16a15cba1..dd3f42991 100644 --- a/src/GF/GFCC/Raw/ParGFCCRaw.hs +++ b/src/GF/GFCC/Raw/ParGFCCRaw.hs @@ -3,7 +3,7 @@ module GF.GFCC.Raw.ParGFCCRaw (parseGrammar) where import GF.GFCC.Raw.AbsGFCCRaw import GF.GFCC.Raw.LexGFCCRaw -import GF.GFCC.Raw.ErrM +import GF.Data.ErrM #if __GLASGOW_HASKELL__ >= 503 import Data.Array #else diff --git a/src/GF/GFCC/Raw/ParGFCCRaw.y b/src/GF/GFCC/Raw/ParGFCCRaw.y index 80643d6d0..630d65a9d 100644 --- a/src/GF/GFCC/Raw/ParGFCCRaw.y +++ b/src/GF/GFCC/Raw/ParGFCCRaw.y @@ -4,7 +4,7 @@ module GF.GFCC.Raw.ParGFCCRaw (parseGrammar) where import GF.GFCC.Raw.AbsGFCCRaw import GF.GFCC.Raw.LexGFCCRaw -import GF.GFCC.Raw.ErrM +import GF.Data.ErrM } %name pGrammar Grammar diff --git a/src/GF/GFCC/SkelGFCC.hs b/src/GF/GFCC/SkelGFCC.hs index f9fffa217..6972fd3c3 100644 --- a/src/GF/GFCC/SkelGFCC.hs +++ b/src/GF/GFCC/SkelGFCC.hs @@ -3,7 +3,7 @@ module GF.GFCC.SkelGFCC where -- Haskell module generated by the BNF converter import GF.GFCC.AbsGFCC -import GF.GFCC.ErrM +import GF.Data.ErrM type Result = Err String failure :: Show a => a -> Result diff --git a/src/GF/GFCC/TestGFCC.hs b/src/GF/GFCC/TestGFCC.hs index 761e1db5f..c379a687a 100644 --- a/src/GF/GFCC/TestGFCC.hs +++ b/src/GF/GFCC/TestGFCC.hs @@ -14,7 +14,7 @@ import GF.GFCC.AbsGFCC -import GF.GFCC.ErrM +import GF.Data.ErrM type ParseFun a = [Token] -> Err a diff --git a/src/GF/JavaScript/ErrM.hs b/src/GF/JavaScript/ErrM.hs deleted file mode 100644 index 71d3519a2..000000000 --- a/src/GF/JavaScript/ErrM.hs +++ /dev/null @@ -1,16 +0,0 @@ --- BNF Converter: Error Monad --- Copyright (C) 2004 Author: Aarne Ranta - --- This file comes with NO WARRANTY and may be used FOR ANY PURPOSE. -module GF.JavaScript.ErrM where - --- the Error monad: like Maybe type with error msgs - -data Err a = Ok a | Bad String - deriving (Read, Show, Eq) - -instance Monad Err where - return = Ok - fail = Bad - Ok a >>= f = f a - Bad s >>= f = Bad s diff --git a/src/GF/JavaScript/ParJS.hs b/src/GF/JavaScript/ParJS.hs index 90d0820ca..b7c0d04b0 100644 --- a/src/GF/JavaScript/ParJS.hs +++ b/src/GF/JavaScript/ParJS.hs @@ -3,7 +3,7 @@ module GF.JavaScript.ParJS where import GF.JavaScript.AbsJS import GF.JavaScript.LexJS -import GF.JavaScript.ErrM +import GF.Data.ErrM #if __GLASGOW_HASKELL__ >= 503 import Data.Array #else diff --git a/src/GF/JavaScript/ParJS.y b/src/GF/JavaScript/ParJS.y index 21d1468b6..bbbb959e5 100644 --- a/src/GF/JavaScript/ParJS.y +++ b/src/GF/JavaScript/ParJS.y @@ -4,7 +4,7 @@ module GF.JavaScript.ParJS where import GF.JavaScript.AbsJS import GF.JavaScript.LexJS -import GF.JavaScript.ErrM +import GF.Data.ErrM } %name pProgram Program diff --git a/src/GF/JavaScript/SkelJS.hs b/src/GF/JavaScript/SkelJS.hs index e2022ef8f..fd4a88ebd 100644 --- a/src/GF/JavaScript/SkelJS.hs +++ b/src/GF/JavaScript/SkelJS.hs @@ -3,7 +3,7 @@ module GF.JavaScript.SkelJS where -- Haskell module generated by the BNF converter import GF.JavaScript.AbsJS -import GF.JavaScript.ErrM +import GF.Data.ErrM type Result = Err String failure :: Show a => a -> Result diff --git a/src/GF/JavaScript/TestJS.hs b/src/GF/JavaScript/TestJS.hs index 25e1fc597..3ddb52074 100644 --- a/src/GF/JavaScript/TestJS.hs +++ b/src/GF/JavaScript/TestJS.hs @@ -14,7 +14,7 @@ import GF.JavaScript.AbsJS -import GF.JavaScript.ErrM +import GF.Data.ErrM type ParseFun a = [Token] -> Err a diff --git a/src/GF/Parsing/FCFG.hs b/src/GF/Parsing/FCFG.hs index 8cd969b69..30a7801c8 100644 --- a/src/GF/Parsing/FCFG.hs +++ b/src/GF/Parsing/FCFG.hs @@ -24,7 +24,7 @@ import GF.Parsing.FCFG.PInfo import GF.GFCC.DataGFCC import GF.GFCC.CId import GF.GFCC.Macros -import GF.GFCC.ErrM +import GF.Data.ErrM import qualified Data.Map as Map diff --git a/src/GF/Parsing/GFC.hs b/src/GF/Parsing/GFC.hs index ed450b63f..9f1328a50 100644 --- a/src/GF/Parsing/GFC.hs +++ b/src/GF/Parsing/GFC.hs @@ -19,14 +19,13 @@ import GF.System.Tracing import GF.Infra.Print import qualified GF.Grammar.PrGrammar as PrGrammar -import GF.Data.Operations (Err(..)) +import GF.Data.ErrM import qualified GF.Grammar.Grammar as Grammar import qualified GF.Grammar.Macros as Macros import qualified GF.Canon.AbsGFC as AbsGFC import qualified GF.GFCC.DataGFCC as AbsGFCC import GF.GFCC.CId -import qualified GF.GFCC.ErrM as ErrM import qualified GF.Infra.Ident as Ident import GF.CF.CFIdent (CFCat, cfCat2Ident, CFTok, wordsCFTok, prCFTok) @@ -73,7 +72,7 @@ parse :: String -- ^ parsing algorithm (mcfg or cfg) -> Ident.Ident -- ^ abstract module name -> CFCat -- ^ starting category -> [CFTok] -- ^ input tokens - -> GF.Data.Operations.Err [Grammar.Term] -- ^ resulting GF terms + -> Err [Grammar.Term] -- ^ resulting GF terms -- parsing via CFG @@ -137,8 +136,8 @@ parse "f" strategy pinfo abs startCat inString = let Ident.IC x = cfCat2Ident startCat cat' = CId x in case PF.parseFCF strategy (fcfPInfo pinfo) cat' (map prCFTok inString) of - ErrM.Ok es -> Ok (map (exp2term abs) es) - ErrM.Bad msg -> Bad msg + Ok es -> Ok (map (exp2term abs) es) + Bad msg -> Bad msg -- error parser: