language-c-0.3.1.1: Analysis and generation of C codeSource codeContentsIndex
Language.C.System.Preprocess
Portabilityportable
Stabilityexperimental
Maintainerbenedikt.huber@gmail.com
Description
Invoking external preprocessors.
Synopsis
class Preprocessor cpp where
parseCPPArgs :: cpp -> [String] -> Either String (CppArgs, [String])
runCPP :: cpp -> CppArgs -> IO ExitCode
data CppOption
= IncludeDir FilePath
| Define String String
| Undefine String
| IncludeFile FilePath
data CppArgs = CppArgs {
cppOptions :: [CppOption]
extraOptions :: [String]
cppTmpDir :: Maybe FilePath
inputFile :: FilePath
outputFile :: Maybe FilePath
}
rawCppArgs :: [String] -> FilePath -> CppArgs
addCppOption :: CppArgs -> CppOption -> CppArgs
addExtraOption :: CppArgs -> String -> CppArgs
runPreprocessor :: Preprocessor cpp => cpp -> CppArgs -> IO (Either ExitCode InputStream)
isPreprocessed :: FilePath -> Bool
Documentation
class Preprocessor cpp whereSource
Preprocessor encapsulates the abstract interface for invoking C preprocessors
Methods
parseCPPArgs :: cpp -> [String] -> Either String (CppArgs, [String])Source
parse the given command line arguments, and return a pair of parsed and ignored arguments
runCPP :: cpp -> CppArgs -> IO ExitCodeSource
run the preprocessor
data CppOption Source
Generic Options for the preprocessor
Constructors
IncludeDir FilePath
Define String String
Undefine String
IncludeFile FilePath
data CppArgs Source
Generic arguments for the preprocessor
Constructors
CppArgs
cppOptions :: [CppOption]
extraOptions :: [String]
cppTmpDir :: Maybe FilePath
inputFile :: FilePath
outputFile :: Maybe FilePath
rawCppArgs :: [String] -> FilePath -> CppArgsSource
use the given preprocessor arguments without analyzing them
addCppOption :: CppArgs -> CppOption -> CppArgsSource
add a typed option to the given preprocessor arguments
addExtraOption :: CppArgs -> String -> CppArgsSource
add a string option to the given preprocessor arguments
runPreprocessor :: Preprocessor cpp => cpp -> CppArgs -> IO (Either ExitCode InputStream)Source
run the preprocessor and return an InputStream if preprocesssing succeeded
isPreprocessed :: FilePath -> BoolSource
guess whether a file is preprocessed (file end with .i)
Produced by Haddock version 2.6.0