summaryrefslogtreecommitdiff
path: root/src/GF/Compile
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2008-04-22 08:33:23 +0000
committerkrasimir <krasimir@chalmers.se>2008-04-22 08:33:23 +0000
commit92917e6e5e17a9c2bee27d33835755516a8b1178 (patch)
tree6556633e247b13745ebe14f2d31229bb4ac06aaf /src/GF/Compile
parent4c73735de917e2811f1ce75561397dc875365f94 (diff)
Use Happy grammar for imports extraction instead of hand made shallow crapy grammar
Diffstat (limited to 'src/GF/Compile')
-rw-r--r--src/GF/Compile/GetGrammar.hs15
-rw-r--r--src/GF/Compile/PGrammar.hs2
2 files changed, 5 insertions, 12 deletions
diff --git a/src/GF/Compile/GetGrammar.hs b/src/GF/Compile/GetGrammar.hs
index 62826746c..f0cf5d197 100644
--- a/src/GF/Compile/GetGrammar.hs
+++ b/src/GF/Compile/GetGrammar.hs
@@ -14,8 +14,7 @@
module GF.Compile.GetGrammar (
getSourceModule, getSourceGrammar,
- getOldGrammar, getCFGrammar, getEBNFGrammar,
- err2err
+ getOldGrammar, getCFGrammar, getEBNFGrammar
) where
import GF.Data.Operations
@@ -63,14 +62,14 @@ getSourceModule opts file0 = do
Just "utf8" -> decodeUTF8 string0
_ -> string0
let tokens = myLexer (BS.pack string)
- mo1 <- ioeErr $ err2err $ pModDef tokens
+ mo1 <- ioeErr $ pModDef tokens
ioeErr $ transModDef mo1
getSourceGrammar :: Options -> FilePath -> IOE SourceGrammar
getSourceGrammar opts file = do
string <- readFileIOE file
let tokens = myLexer (BS.pack string)
- gr1 <- ioeErr $ err2err $ pGrammar tokens
+ gr1 <- ioeErr $ pGrammar tokens
ioeErr $ transGrammar gr1
@@ -102,18 +101,12 @@ parseOldGrammar :: FilePath -> IOE ([FilePath],[A.TopDef])
parseOldGrammar file = do
putStrLnE $ "reading old file" +++ file
s <- ioeIO $ readFileIf file
- A.OldGr incl topdefs <- ioeErr $ err2err $ pOldGrammar $ oldLexer $ fixNewlines s
+ A.OldGr incl topdefs <- ioeErr $ pOldGrammar $ oldLexer $ fixNewlines s
includes <- ioeErr $ transInclude incl
return (includes, topdefs)
----
-err2err :: E.Err a -> Err a
-err2err (E.Ok v) = Ok v
-err2err (E.Bad s) = Bad s
-
-ioeEErr = ioeErr . err2err
-
-- | To resolve the new reserved words:
-- change them by turning the final letter to upper case.
--- There is a risk of clash.
diff --git a/src/GF/Compile/PGrammar.hs b/src/GF/Compile/PGrammar.hs
index e4e60d623..521f616b5 100644
--- a/src/GF/Compile/PGrammar.hs
+++ b/src/GF/Compile/PGrammar.hs
@@ -33,7 +33,7 @@ import qualified Data.ByteString.Char8 as BS
pTerm :: String -> Err Term
pTerm s = do
- e <- err2err $ pExp $ myLexer (BS.pack s)
+ e <- pExp $ myLexer (BS.pack s)
transExp e
pTrm :: String -> Term