vhdl-0.1.1: Language/VHDL/FileIO.hs
-----------------------------------------------------------------------------
-- |
-- Module : Language.VHDL.FileIO
-- Copyright : (c) SAM Group, KTH/ICT/ECS 2007-2008
-- License : BSD-style (see the file LICENSE)
--
-- Maintainer : forsyde-dev@ict.kth.se
-- Stability : experimental
-- Portability : portable
--
-- Functions working with files in the VHDL backend.
--
-----------------------------------------------------------------------------
module Language.VHDL.FileIO (writeDesignFile) where
import Language.VHDL.AST
import Language.VHDL.AST.Ppr() -- instances
import qualified Language.VHDL.Ppr as Ppr (ppr)
import System.IO
import Text.PrettyPrint.HughesPJ
-- | Write a design file to a file in disk
writeDesignFile :: DesignFile -> FilePath -> IO ()
writeDesignFile df fp = do
handle <- openFile fp WriteMode
hPutStrLn handle "-- Automatically generated VHDL"
hPutStr handle $ (renderStyle mystyle . Ppr.ppr) df
hClose handle
where mystyle = style{lineLength=80, ribbonsPerLine=1}