ghc-7.7.20130829: The GHC API

Safe HaskellNone

HeaderInfo

Description

Parsing the top of a Haskell source file to get its module name, imports and options.

(c) Simon Marlow 2005 (c) Lemmih 2006

Synopsis

Documentation

getImportsSource

Arguments

:: DynFlags 
-> StringBuffer

Parse this.

-> FilePath

Filename the buffer came from. Used for reporting parse error locations.

-> FilePath

The original source filename (used for locations in the function result)

-> IO ([Located (ImportDecl RdrName)], [Located (ImportDecl RdrName)], Located ModuleName)

The source imports, normal imports, and the module name.

Parse the imports of a source file.

Throws a SourceError if parsing fails.

getOptionsFromFileSource

Arguments

:: DynFlags 
-> FilePath

Input file

-> IO [Located String]

Parsed options, if any.

Parse OPTIONS and LANGUAGE pragmas of the source file.

Throws a SourceError if flag parsing fails (including unsupported flags.)

getOptionsSource

Arguments

:: DynFlags 
-> StringBuffer

Input Buffer

-> FilePath

Source filename. Used for location info.

-> [Located String]

Parsed options.

Parse OPTIONS and LANGUAGE pragmas of the source file.

Throws a SourceError if flag parsing fails (including unsupported flags.)

checkProcessArgsResult :: MonadIO m => DynFlags -> [Located String] -> m ()Source

Complain about non-dynamic flags in OPTIONS pragmas.

Throws a SourceError if the input list is non-empty claiming that the input flags are unknown.