diff options
| author | bjorn <bjorn@bringert.net> | 2008-06-02 15:32:01 +0000 |
|---|---|---|
| committer | bjorn <bjorn@bringert.net> | 2008-06-02 15:32:01 +0000 |
| commit | 5073ac4e7f4c24aa412ed3a3c3d719532df9f637 (patch) | |
| tree | e9e60a0b58800dcc71aee9df2361852105c25574 /src-3.0/GF/Compile/GFCCtoHaskell.hs | |
| parent | 20ea9ea5ec7c65ab01bff47d78f55e06b85fe79d (diff) | |
Honor the --name flag when generating output files. Set module name in generated Haskell modules correctly.
Diffstat (limited to 'src-3.0/GF/Compile/GFCCtoHaskell.hs')
| -rw-r--r-- | src-3.0/GF/Compile/GFCCtoHaskell.hs | 18 |
1 files changed, 10 insertions, 8 deletions
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", |
