Language C is a haskell library for the analysis and generation of C code. It features a complete, well tested parser and pretty printer for all of C99 and a large set of GNU extensions. (Here, examples/Process.hs parses and analyzes the input file, and then just prints the program from AST; it accepts the same options as cpp/gcc; it must break iff the code is bad .) (fork of imz's language-c_process_analyze-silently) (https://hackage.haskell.org/package/language-c)
root
- docs
- examples
- scripts
- src
- test
- test-framework
- AUTHORS
- AUTHORS.c2hs
- ChangeLog
- LICENSE
- MAINTENANCE
- README
- Setup.hs
- language-c.cabal
= Language.C =
Language.C is a parser and pretty-printer framework for C99 and the extensions of gcc.
See http://www.sivity.net/projects/language.c/
== Build and Install ==
cabal install
-- or --
runhaskell Setup.hs configure FLAGS
runhaskell Setup.hs build
runhaskell Setup.hs install
Provide the set of flags passing
--flags="<flags-seperated-by-space>"
to configure.
== Compatibility ==
Tested with ghc-7.2 (Ubuntu) and ghc-7.4 (Ubuntu).
It is recommended to use the most recent platform release: http://hackage.haskell.org/platform/.
== Sources ==
see src/README
== Examples ==
A couple of small examples are available in /examples
== Testing ==
A couple of regression tests can be run via
> cd test/harness; make
For more tests, see test/README.