language-c99

An implementation of the C99 AST that strictly follows the standard.

LTS Haskell 23.1:0.2.0
Stackage Nightly 2024-12-27:0.2.0
Latest on Hackage:0.2.0

See all snapshots language-c99 appears in

MIT licensed by Frank Dedden
Maintained by Frank Dedden
This version can be pinned in stack with:language-c99-0.2.0@sha256:660689db3191edf6164b6e1a00f700bd8d3ebc46dde87c26ad975fd0edbb9953,1587

Module documentation for 0.2.0

Depends on 2 packages(full list with versions):
Used by 3 packages in nightly-2024-09-15(full list with versions):

This package contains an implementation of the C99 AST as described in http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf. Sticking closely to this standard assures us that the program we deal with is a valid C99 program.

Additionally the library comes with a pretty printer.

The package does not come with handy wrapper and utility functions to write a C99 program, it just contains the bare AST. It is highly recommended to use the wrapper provided by 'language-c99-simple' and 'language-c99-util' for writing programs.

Changes

Revision history for language-c99

0.2.0 – 2022-05-21

  • Renamed InitArray to InitList.

0.1.3 – 2021-09-13

  • Fixed a bug where I and J where swapped in the pretty printer. (Thanks to Benjamin Selfridge)
  • Extended the prettyprinter. (Thanks to Alexander Vieth)

0.1.2 – 2019-11-30

  • Added newline to the end of translation units.

0.1.1 – 2019-04-01

  • Small update, fixed indentation of some code blocks.

0.1.0.0 – 2019-03-30

  • First version. Containing full AST, but only a part of the pretty printer.