| Portability | All |
|---|---|
| Stability | experimental |
| Maintainer | Malcolm Wallace <Malcolm.Wallace@cs.york.ac.uk> |
Language.Preprocessor.Cpphs
Description
Include the interface that is exported
- runCpphs :: CpphsOptions -> FilePath -> String -> IO String
- cppIfdef :: FilePath -> [(String, String)] -> [String] -> BoolOptions -> String -> IO [(Posn, String)]
- macroPass :: [(String, String)] -> BoolOptions -> [(Posn, String)] -> IO String
- data CpphsOptions = CpphsOptions {}
- data BoolOptions = BoolOptions {}
- parseOptions :: [String] -> Either String CpphsOptions
- defaultCpphsOptions :: CpphsOptions
- defaultBoolOptions :: BoolOptions
- data Posn = Pn String !Int !Int (Maybe Posn)
- newfile :: String -> Posn
- addcol :: Int -> Posn -> Posn
- newline :: Posn -> Posn
- tab :: Posn -> Posn
- newlines :: Int -> Posn -> Posn
- newpos :: Int -> Maybe String -> Posn -> Posn
- cppline :: Posn -> String
- haskline :: Posn -> String
- cpp2hask :: String -> String
- filename :: Posn -> String
- lineno :: Posn -> Int
- directory :: Posn -> FilePath
Documentation
Arguments
| :: 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.
Arguments
| :: [(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.
data BoolOptions
Options representable as Booleans.
Constructors
| BoolOptions | |
Fields
| |
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.