1
0
forked from GitHub/gf-core

Some more ByteString related chandes in GF2

This commit is contained in:
krasimir
2008-04-17 13:22:10 +00:00
parent 4a8346086d
commit 1858db942c
2 changed files with 6 additions and 4 deletions

View File

@@ -44,6 +44,7 @@ import GF.Infra.ReadFiles ----
import Data.Char (toUpper)
import Data.List (nub)
import qualified Data.ByteString.Char8 as BS
import Control.Monad (foldM)
import System (system)
@@ -61,14 +62,14 @@ getSourceModule opts file0 = do
let string = case getOptVal opts uniCoding of
Just "utf8" -> decodeUTF8 string0
_ -> string0
let tokens = myLexer string
let tokens = myLexer (BS.pack string)
mo1 <- ioeErr $ err2err $ pModDef tokens
ioeErr $ transModDef mo1
getSourceGrammar :: Options -> FilePath -> IOE SourceGrammar
getSourceGrammar opts file = do
string <- readFileIOE file
let tokens = myLexer string
let tokens = myLexer (BS.pack string)
gr1 <- ioeErr $ err2err $ pGrammar tokens
ioeErr $ transGrammar gr1
@@ -117,7 +118,7 @@ ioeEErr = ioeErr . err2err
-- change them by turning the final letter to upper case.
--- There is a risk of clash.
oldLexer :: String -> [L.Token]
oldLexer = map change . L.tokens where
oldLexer = map change . L.tokens . BS.pack where
change t = case t of
(L.PT p (L.TS s)) | elem s newReservedWords ->
(L.PT p (L.TV (init s ++ [toUpper (last s)])))

View File

@@ -29,10 +29,11 @@ import GF.Grammar.Macros
import GF.Grammar.MMacros
import GF.Data.Operations
import qualified Data.ByteString.Char8 as BS
pTerm :: String -> Err Term
pTerm s = do
e <- err2err $ pExp $ myLexer s
e <- err2err $ pExp $ myLexer (BS.pack s)
transExp e
pTrm :: String -> Term