cpphs

PortabilityAll
Stabilityexperimental
MaintainerMalcolm Wallace <Malcolm.Wallace@cs.york.ac.uk>
Safe HaskellSafe-Inferred

Language.Preprocessor.Cpphs.Options

Description

This module deals with Cpphs options and parsing them

Synopsis

Documentation

data CpphsOptions

Cpphs options structure.

Constructors

CpphsOptions 

Fields

infiles :: [FilePath]
 
outfiles :: [FilePath]
 
defines :: [(String, String)]
 
includes :: [String]
 
preInclude :: [FilePath]

Files to #include before anything else

boolopts :: BoolOptions
 

Instances

data BoolOptions

Options representable as Booleans.

Constructors

BoolOptions 

Fields

macros :: Bool

Leave #define and #undef in output of ifdef?

locations :: Bool

Place #line droppings in output?

hashline :: Bool

Write #line or {-# LINE #-} ?

pragma :: Bool

Keep #pragma in final output?

stripEol :: Bool

Remove C eol (//) comments everywhere?

stripC89 :: Bool

Remove C inline (/**/) comments everywhere?

lang :: Bool

Lex input as Haskell code?

ansi :: Bool

Permit stringise # and catenate ## operators?

layout :: Bool

Retain newlines in macro expansions?

literate :: Bool

Remove literate markup?

warnings :: Bool

Issue warnings?

Instances

parseOptions :: [String] -> Either String CpphsOptions

Parse all command-line options.

defaultCpphsOptions :: CpphsOptions

Default options.

defaultBoolOptions :: BoolOptions

Default settings of boolean options.

trailing :: Eq a => [a] -> [a] -> [a]

Trim trailing elements of the second list that match any from the first list. Typically used to remove trailing forward/back slashes from a directory path.