language-objc-0.4.2.0: Analysis and generation of Objcective C code

Portabilityportable
Stabilityexperimental
Maintainerjwlato@gmail.com
Safe HaskellNone

Language.ObjC.System.Preprocess

Description

Invoking external preprocessors.

Synopsis

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

Instances

data CppOption Source

Generic Options for the preprocessor

data CppArgs Source

Generic arguments for the preprocessor

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

cppFile :: FilePath -> CppArgsSource

Cpp arguments that only specify the input file name.

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)