Language.C - A C99 library for haskell

The Language.C project aims to be a stable and compliant C99 language processing library for haskell.

As for now, it features a complete, reasonably well tested parser and pretty printer for all of C99 and a large set of GNU extensions (C language support).

Eventually, we also want to provide a complete analysis framework for C.

Good news, everybody

  • 2008/08/26: Released 0.3.1
  • 2008/08/12: Released 0.3

Download

Documentation

Press

  • In this blog post keigoi shows how to move declarations to the top of statement blocks using Language.C and Data.Generics (japanese). The follow up shows how to convert C99 flexible array members to arrays of size 0.

Feedback

  • Please submit bug reports and feature request using the bug tracker
  • You may also contact the me at benedikt <dot> huber <at> gmail <dot> com

License

Language.C is released under the BSD-3 license.

Acknowledgments

Google's Summer Of Code funded Benedikt Huber to work on this project (updated detailed proposal). Iavor Diatchki and Don Steward have been the great supervisors and Duncan Coutts provided a lot of valuable suggestions.