Analysis and generation of C code

Version on this page:0.4.7
LTS Haskell 8.2:0.5.0
Stackage Nightly 2017-02-22:0.5.0
Latest on Hackage:0.5.0
BSD3 licensed by AUTHORS
Maintained by

Module documentation for 0.4.7

There are no documented modules for this package.

= Language.C =

Language.C is a parser and pretty-printer framework for C99 and the extensions of gcc.


== 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
to configure.

== Compatibility ==

Tested with ghc-7.10.3 (Linux).
It is recommended to use the most recent platform release:

== 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.


Changes since 0.4.1
Thu Feb 28 2013
* Fix parsing and printing of octal character escapes.
Tue Jun 12 2012
* Export Annotated type class from AST module
Wed Aug 24 2012
* Patch for alex-3.0

Changes 0.3.1 - 0.4.1
Tue Aug 16 2011:
* Port to ghc-7.2
Fr April 15 2011: Alexander Bernauer <>
* Show instances (popular request) for AST types, DumpAst demo

Changes 0.3 - 0.3.1
Thu Aug 21
* add aliases for exposed parsers, in order to document them

Fri Aug 15
* Remove NameMap from Data.Name. We will do this right when neccessary.
* Parser public API: expose parsers and the Parser Monad
* ParserMonad: Return updated name supply when executing parser
* Parser: Expose expression, statement, declaration and file parsers
* Data: Add newNameSupply ~ (namesStartingFrom 0)

Thu Aug 14 17:13:29 CEST 2008
* Add a utility function to create a "blank" set of cpp arguments.
* Make that analysis traversal monad abstract.
* Export the type synonym "Register" (and bump version)

Wed Aug 13 12:00:57 CEST 2008
* add Data.Position: internalIdentAt

Old Changes

Mon Jun 9 23:12:46 CEST 2008
* License switched to 3-clause BSD
- In accordance with the original authors, Language.C is now licensed as BSD-3.

comments powered byDisqus