module Language.Haskell.DTC.Parser
(
ParseResult
, HsModule
, parseModule
, parseModuleWithFN
, parseModuleWithSrc
) where
import Language.Haskell.Syntax
import Language.Haskell.Parser
parseModuleWithFN :: FilePath -> String -> ParseResult HsModule
parseModuleWithFN = parseModuleWithMode . ParseMode
parseModuleWithSrc :: FilePath -> IO HsModule
parseModuleWithSrc fp =
do str <- readFile fp
let r = parseModuleWithFN fp str
case r of
ParseOk p -> return p
ParseFailed loc err -> do fail $ concat [ err
, " at: " , srcFilename loc
, ":" , show $ srcLine loc
, ":" , show $ srcColumn loc
]