A liberalised re-implementation of cpp
, the C pre-processor.
cpphs
is a re-implementation of the C pre-processor that is both more compatible with Haskell,
and itself written in Haskell so that it can be distributed with compilers.
This version of the C pre-processor is pretty-much feature-complete and compatible with traditional (K&R) pre-processors. Additional features include: a plain-text mode; an option to unlit literate code files; and an option to turn off macro-expansion.
cpphs [filename | -Dsym | -Dsym=val | -Ipath]+ [-Ofile]
[ --include=file ]*
[ --nomacro | --noline | --nowarn | --strip | --strip-eol |
--pragma | --text | --hashes | --layout | --unlit |
--linepragma ]*
[ --cpp compatopts ]
For fuller details, see docs/index.html.
If you want to use cpphs
as a completely drop-in replacement for the
real cpp, that is, to accept the same arguments, and have broadly
the same behaviour in response to them, then use the --cpp
compatibility
option.
(c) 2004-2017 Malcolm Wallace ([email protected])
These library modules are distributed under the terms of the LGPL.
The application module cpphs.hs
is GPL.
This software comes with no warranty. Use at your own risk.
If you have a commercial use for cpphs, and feel the terms of the (L)GPL are too onerous, you have the option of distributing unmodified binaries (only, not sources) under the terms of a different licence (see LICENCE-commercial).
Description see: https://hackage.haskell.org/package/cpphs
Old homepage: https://archives.haskell.org/projects.haskell.org/cpphs/