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.
[
Skip to Readme]
Versions |
1.3, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.13.1, 1.13.2, 1.13.3, 1.14, 1.15, 1.16, 1.17, 1.17.1, 1.18, 1.18.1, 1.18.2, 1.18.3, 1.18.4, 1.18.5, 1.18.6, 1.18.7, 1.18.8, 1.18.9, 1.19, 1.19.1, 1.19.2, 1.19.3, 1.20, 1.20.1, 1.20.2, 1.20.3, 1.20.4, 1.20.5, 1.20.6, 1.20.7, 1.20.8, 1.20.9, 1.20.9.1, 1.20.9.1 |
Change log |
CHANGELOG |
Dependencies |
base (>=4.3 && <5), directory (<1.4), old-locale (>=1.0.0.2 && <1.1), polyparse (>=1.13 && <1.14), time (<1.11) [details] |
License |
LicenseRef-LGPL |
Copyright |
2004-2017, Malcolm Wallace |
Author |
Malcolm Wallace <[email protected]> |
Maintainer |
Malcolm Wallace <[email protected]> |
Category |
Development |
Home page |
http://projects.haskell.org/cpphs/
|
Bug tracker |
https://github.com/malcolmwallace/cpphs/issues
|
Source repo |
head: git clone https://github.com/hackage-trustees/malcolm-wallace-universe |
Uploaded |
by phadej at 2020-04-02T19:36:44Z |
This directory contains 'cpphs', a simplified but robust
re-implementation of cpp, the C pre-processor, in Haskell.
TO BUILD
--------
Just use
hmake cpphs [-package base]
or
ghc --make cpphs [-o cpphs] # -o needed for ghc <= 6.4.1 ]
or
runhugs cpphs # or rename the script cpphs.hugs to cpphs
USAGE
-----
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.
COPYRIGHT
---------
Copyright (c) 2004-2017 Malcolm Wallace ([email protected])
LICENCE
-------
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).
WEBSITE
-------
http://projects.haskell.org/cpphs/
darcs get http://code.haskell.org/~malcolm/cpphs