From 5073ac4e7f4c24aa412ed3a3c3d719532df9f637 Mon Sep 17 00:00:00 2001 From: bjorn Date: Mon, 2 Jun 2008 15:32:01 +0000 Subject: Honor the --name flag when generating output files. Set module name in generated Haskell modules correctly. --- src-3.0/GF/Compile/GFCCtoHaskell.hs | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'src-3.0/GF/Compile/GFCCtoHaskell.hs') diff --git a/src-3.0/GF/Compile/GFCCtoHaskell.hs b/src-3.0/GF/Compile/GFCCtoHaskell.hs index 94210b65e..72e4cb922 100644 --- a/src-3.0/GF/Compile/GFCCtoHaskell.hs +++ b/src-3.0/GF/Compile/GFCCtoHaskell.hs @@ -27,24 +27,26 @@ import Data.List --(isPrefixOf, find, intersperse) import qualified Data.Map as Map -- | the main function -grammar2haskell :: PGF -> String -grammar2haskell gr = encodeUTF8 $ foldr (++++) [] $ - haskPreamble ++ [datatypes gr', gfinstances gr'] +grammar2haskell :: PGF + -> String -- ^ Module name. + -> String +grammar2haskell gr name = encodeUTF8 $ foldr (++++) [] $ + haskPreamble name ++ [datatypes gr', gfinstances gr'] where gr' = hSkeleton gr -grammar2haskellGADT :: PGF -> String -grammar2haskellGADT gr = encodeUTF8 $ foldr (++++) [] $ +grammar2haskellGADT :: PGF -> String -> String +grammar2haskellGADT gr name = encodeUTF8 $ foldr (++++) [] $ ["{-# OPTIONS_GHC -fglasgow-exts #-}"] ++ - haskPreamble ++ [datatypesGADT gr', gfinstances gr'] + haskPreamble name ++ [datatypesGADT gr', gfinstances gr'] where gr' = hSkeleton gr -- | by this you can prefix all identifiers with stg; the default is 'G' gId :: OIdent -> OIdent gId i = 'G':i -haskPreamble = +haskPreamble name = [ - "module GSyntax where", + "module " ++ name ++ " where", "", "import PGF.CId", "import PGF.Data", -- cgit v1.2.3