cpphsSource codeContentsIndex
Language.Preprocessor.Cpphs.MacroPass
PortabilityAll
Stabilityexperimental
MaintainerMalcolm Wallace <Malcolm.Wallace@cs.york.ac.uk>
Description
Perform a cpp.second-pass, accumulating #define's and #undef's, whilst doing symbol replacement and macro expansion.
Synopsis
macroPass :: [(String, String)] -> Bool -> Bool -> Bool -> Bool -> [(Posn, String)] -> String
preDefine :: Bool -> Bool -> [(String, String)] -> SymTab HashDefine
Documentation
macroPassSource
:: [(String, String)]Pre-defined symbols and their values
-> BoolStrip C-comments?
-> BoolAccept # and ## operators?
-> BoolRetain layout in macros?
-> BoolInput language (Haskell/not)
-> [(Posn, String)]The input file content
-> StringThe file after processing
Walk through the document, replacing calls of macros with their expanded RHS.
preDefine :: Bool -> Bool -> [(String, String)] -> SymTab HashDefineSource
Turn command-line definitions (from -D) into HashDefines.
Produced by Haddock version 0.8