|
| 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 |
|
|
|
|
| :: 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
| | -> IO [(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.
|
|
|
|
| :: [(String, String)] | Pre-defined symbols and their values
| | -> BoolOptions | Options that alter processing style
| | -> [(Posn, String)] | The input file content
| | -> IO String | The file after processing
| | Walk through the document, replacing calls of macros with the expanded RHS.
|
|
|
|
| Cpphs options structure.
| | Constructors | |
|
|
|
| Options representable as Booleans.
| | Constructors | | BoolOptions | | | macros :: Bool | Leave #define and #undef in output of ifdef?
| | locations :: Bool | Place #line droppings in output?
| | hashline :: Bool | Write -} ?
| | 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?
|
|
|
|
|
|
| Parse all command-line options.
|
|
|
| Default options.
|
|
|
| Default settings of boolean options.
|
|
|
| Source positions contain a filename, line, column, and an
inclusion point, which is itself another source position,
recursively.
| | Constructors | |
|
|
|
| Constructor. Argument is filename.
|
|
|
| Increment column number by given quantity.
|
|
|
| Increment row number, reset column to 1.
|
|
|
| Increment column number, tab stops are every 8 chars.
|
|
|
| Increment row number by given quantity.
|
|
|
| Update position with a new row, and possible filename.
|
|
|
| cpp-style printing of file position
|
|
|
| haskell-style printing of file position
|
|
|
| Conversion from a cpp-style to haskell-style pragma.
|
|
|
| Project the filename.
|
|
|
| Project the line number.
|
|
|
| Project the directory of the filename.
|
|
| Produced by Haddock version 2.6.0 |