ANN: cpphs-0.1 (was: #ifdef considered harmful)
Graham Klyne
GK at ninebynine.org
Wed Apr 7 21:59:54 EDT 2004
At 18:11 07/04/04 +0100, Malcolm Wallace wrote:
>I wrote:
> > > Half of the cpp parsing/selection code is
> > > already available within hmake. I would take on the project myself,
> > > if I had time.
>
>OK, that was a fatal statement on my part I fear.... I have hacked
>on the hmake code a bit today, and can now announce the first release of:
I just checked it out with Hugs under Windows, and it seems (mostly) OK.
The only oddity I noticed was an extra '/' in a #line directive for an
included file:
[[
#line 1 "tests//inclusion"
hello world, this is an inclusion
#line 21 "tests/testfile"
]]
-- http://www.ninebynine.org/Software/HaskellUtils/cpphs/tests/expectfile3
...
I've hacked the main program module to include an HUnit test based on your
test files, which can be run interactively from Hugs, thus:
[[
Main> run allTests
Cases: 3 Tried: 3 Errors: 0 Failures: 0
Main>
]]
The main program function itself is not affected (though I've split it into
two parts).
The modifications are available here:
http://www.ninebynine.org/Software/HaskellUtils/cpphs/cpphs.hs
(The unit tests could easily enough be split into a separate file)
The tests directory also contains 3 additional files with the expected
results of the three test cases created:
http://www.ninebynine.org/Software/HaskellUtils/cpphs/tests/
(resultfile is a temporary file created by the test case logic.)
#g
------------
Graham Klyne
For email:
http://www.ninebynine.org/#Contact
More information about the Libraries
mailing list