1
0
forked from GitHub/gf-core

coding flag as pragma in files

This commit is contained in:
aarne
2008-03-11 14:37:10 +00:00
parent 5f731b3ad6
commit aa94e34098
2 changed files with 10 additions and 2 deletions

View File

@@ -53,6 +53,7 @@ import GF.Canon.GetGFC
import GF.Data.Operations import GF.Data.Operations
import GF.Infra.UseIO import GF.Infra.UseIO
import GF.Text.UTF8 ----
import GF.System.Arch import GF.System.Arch
import Control.Monad import Control.Monad
@@ -338,9 +339,12 @@ generateModuleCode opts path minfo@(name,info) = do
let (file,out) = (gfrFile pname, prGrammar (MGrammar [rminfo])) let (file,out) = (gfrFile pname, prGrammar (MGrammar [rminfo]))
putp (" wrote file" +++ file) $ ioeIO $ writeFile file $ compactPrint out putp (" wrote file" +++ file) $ ioeIO $ writeFile file $ compactPrint out
_ -> return () _ -> return ()
let encode = case getOptVal opts uniCoding of
Just "utf8" -> encodeUTF8
_ -> id
(file,out) <- do (file,out) <- do
code <- return $ MkGFC.prCanonModInfo minfo' code <- return $ MkGFC.prCanonModInfo minfo'
return (gfcFile pname, code) return (gfcFile pname, encode code)
if emit && nomulti ---- && isCompilable info if emit && nomulti ---- && isCompilable info
then putp (" wrote file" +++ file) $ ioeIO $ writeFile file out then putp (" wrote file" +++ file) $ ioeIO $ writeFile file out
else putpp ("no need to save module" +++ prt name) $ return () else putpp ("no need to save module" +++ prt name) $ return ()

View File

@@ -29,6 +29,7 @@ import qualified GF.Source.AbsGF as A
import GF.Source.SourceToGrammar import GF.Source.SourceToGrammar
---- import Macros ---- import Macros
---- import Rename ---- import Rename
import GF.Text.UTF8 ----
import GF.Infra.Option import GF.Infra.Option
--- import Custom --- import Custom
import GF.Source.ParGF import GF.Source.ParGF
@@ -56,7 +57,10 @@ getSourceModule opts file0 = do
-- ioeIO $ putStrLn $ "preproc" +++ cmd -- ioeIO $ putStrLn $ "preproc" +++ cmd
return tmp return tmp
_ -> return file0 _ -> return file0
string <- readFileIOE file string0 <- readFileIOE file
let string = case getOptVal opts uniCoding of
Just "utf8" -> decodeUTF8 string0
_ -> string0
let tokens = myLexer string let tokens = myLexer string
mo1 <- ioeErr $ {- err2err $ -} pModDef tokens mo1 <- ioeErr $ {- err2err $ -} pModDef tokens
ioeErr $ transModDef mo1 ioeErr $ transModDef mo1