 | cpphs-1.6: A liberalised re-implementation of cpp, the C pre-processor. | Contents | Index |
|
Language.Preprocessor.Cpphs | Portability | All | Stability | experimental | Maintainer | Malcolm Wallace <Malcolm.Wallace@cs.york.ac.uk> |
|
|
|
Description |
Include the interface that is exported
|
|
Synopsis |
|
|
|
Documentation |
|
runCpphs :: CpphsOptions -> FilePath -> String -> String |
|
cppIfdef |
:: FilePath | File for error reports
| -> [(String, String)] | Pre-defined symbols and their values
| -> [String] | Search path for #includes
| -> BoolOptions | Options controlling output style
| -> String | The input file content
| -> [(Posn, String)] | The file after processing (in lines)
| Run a first pass of cpp, evaluating #ifdef's and processing #include's,
whilst taking account of #define's and #undef's as we encounter them.
|
|
|
macroPass |
:: [(String, String)] | Pre-defined symbols and their values
| -> BoolOptions | Options that alter processing style
| -> [(Posn, String)] | The input file content
| -> String | The file after processing
| Walk through the document, replacing calls of macros with the expanded RHS.
|
|
|
data CpphsOptions |
Cpphs options structure.
| Constructors | |
|
|
data BoolOptions |
Options representable as Booleans.
| Constructors | BoolOptions | | macros :: Bool | Leave #define and #undef in output of ifdef?
| locations :: Bool | Place #line droppings in output?
| 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?
|
|
|
|
|
parseOptions :: [String] -> Either String CpphsOptions |
Parse all command-line options.
|
|
defaultCpphsOptions :: CpphsOptions |
Default options.
|
|
defaultBoolOptions :: BoolOptions |
Default settings of boolean options.
|
|
Produced by Haddock version 2.3.0 |