diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-03-11 14:37:10 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-03-11 14:37:10 +0000 |
| commit | aa94e340980f715b8d20e6cbc60d989b5c59e6b5 (patch) | |
| tree | fa604a0657e0e019d6e8fa009b43101b04833583 /src/GF | |
| parent | 5f731b3ad6f19cdcc3b160b63b9b0531c5739ad0 (diff) | |
coding flag as pragma in files
Diffstat (limited to 'src/GF')
| -rw-r--r-- | src/GF/Compile/Compile.hs | 6 | ||||
| -rw-r--r-- | src/GF/Compile/GetGrammar.hs | 6 |
2 files changed, 10 insertions, 2 deletions
diff --git a/src/GF/Compile/Compile.hs b/src/GF/Compile/Compile.hs index faece6a99..856544152 100644 --- a/src/GF/Compile/Compile.hs +++ b/src/GF/Compile/Compile.hs @@ -53,6 +53,7 @@ import GF.Canon.GetGFC import GF.Data.Operations import GF.Infra.UseIO +import GF.Text.UTF8 ---- import GF.System.Arch import Control.Monad @@ -338,9 +339,12 @@ generateModuleCode opts path minfo@(name,info) = do let (file,out) = (gfrFile pname, prGrammar (MGrammar [rminfo])) putp (" wrote file" +++ file) $ ioeIO $ writeFile file $ compactPrint out _ -> return () + let encode = case getOptVal opts uniCoding of + Just "utf8" -> encodeUTF8 + _ -> id (file,out) <- do code <- return $ MkGFC.prCanonModInfo minfo' - return (gfcFile pname, code) + return (gfcFile pname, encode code) if emit && nomulti ---- && isCompilable info then putp (" wrote file" +++ file) $ ioeIO $ writeFile file out else putpp ("no need to save module" +++ prt name) $ return () diff --git a/src/GF/Compile/GetGrammar.hs b/src/GF/Compile/GetGrammar.hs index d9afc9546..2b908bd81 100644 --- a/src/GF/Compile/GetGrammar.hs +++ b/src/GF/Compile/GetGrammar.hs @@ -29,6 +29,7 @@ import qualified GF.Source.AbsGF as A import GF.Source.SourceToGrammar ---- import Macros ---- import Rename +import GF.Text.UTF8 ---- import GF.Infra.Option --- import Custom import GF.Source.ParGF @@ -56,7 +57,10 @@ getSourceModule opts file0 = do -- ioeIO $ putStrLn $ "preproc" +++ cmd return tmp _ -> return file0 - string <- readFileIOE file + string0 <- readFileIOE file + let string = case getOptVal opts uniCoding of + Just "utf8" -> decodeUTF8 string0 + _ -> string0 let tokens = myLexer string mo1 <- ioeErr $ {- err2err $ -} pModDef tokens ioeErr $ transModDef mo1 |
