diff options
| author | krasimir <krasimir@chalmers.se> | 2008-04-22 08:33:23 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2008-04-22 08:33:23 +0000 |
| commit | 92917e6e5e17a9c2bee27d33835755516a8b1178 (patch) | |
| tree | 6556633e247b13745ebe14f2d31229bb4ac06aaf /src/GF/Compile | |
| parent | 4c73735de917e2811f1ce75561397dc875365f94 (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.hs | 15 | ||||
| -rw-r--r-- | src/GF/Compile/PGrammar.hs | 2 |
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 |
