 | cpphs-1.9: 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.
|
|
| data Posn |
| Source positions contain a filename, line, column, and an
inclusion point, which is itself another source position,
recursively.
| | Constructors | | Instances | |
|
|
| newfile :: String -> Posn |
| Constructor
|
|
| addcol :: Int -> Posn -> Posn |
| Updates
|
|
| newline :: Posn -> Posn |
|
| tab :: Posn -> Posn |
|
| newlines :: Int -> Posn -> Posn |
|
| newpos :: Int -> Maybe String -> Posn -> Posn |
|
| cppline :: Posn -> String |
| cpp-style printing
|
|
| filename :: Posn -> String |
|
| lineno :: Posn -> Int |
| Projections
|
|
| directory :: Posn -> FilePath |
|
| Produced by Haddock version 2.4.2 |