Today I released pycparser version 2.00, with support for C99 syntax. The following features were implemented:
  • Mix of declarations and statements inside a block
  • long long type, including corresponding integer literals
  • New keywords: restrict, inline
  • Variable-length arrays (VLAs), including the [*] notation for function parameter lists
  • Declaration in the first expression of for loops
  • Named initializers, including support for anonymous objects (compound literals)
The API (specifically, some of the AST nodes) of version 2.00 is slightly incompatible with that of 1.xx. For this reason I intend to keep the 1.xx alive and available for download for a long time - it's a very functional parser fully supporting the old ANSI/ISO C89/C90. However, most future development effort will be invested in version 2.xx, which can be thought as a superset of 1.xx