Source repository for https://hackage.haskell.org/package/language-c
See the codeLanguage.C is a parser and pretty-printer framework for C11 and the extensions of gcc.
See http://visq.github.io/language-c/
language-c has no comprehensive C23 support yet, but supports
bool keywordCurrently unsupported C11 constructs:
_Static_assert)_Generic)_Atomic, _Thread_localCurrently unsupported GNU C extensions:
__auto_type__builtin_offsetof
char a[__builtin_offsetof (struct S, sa->f)_Decimal32__asm__ __volatile__ ("" : : : );
__asm__ goto ("" : : : : label);__attribute__((packed)): types featuring this attribute may have an
incorrect size or alignment calculated.Since language-c-0.8, extended floating point types are supported (gcc 7 feature). Package maintainers may decide to disable these types (flag iecFpExtension) to work around the fact that the _Float128 type is redefined by glibc >= 2.26 if gcc < 7 is used for preprocessing:
/* The type _Float128 exists only since GCC 7.0. */
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
typedef __float128 _Float128;
# endif
A couple of small examples are available in examples.
See test/README.
(top 30 of 33)
Haskell
45.9%
C
40.6%
Yacc
8.3%
Lex
2.6%
Shell
1.4%
Source repository for https://hackage.haskell.org/package/language-c
See the codeLanguage.C is a parser and pretty-printer framework for C11 and the extensions of gcc.
See http://visq.github.io/language-c/
language-c has no comprehensive C23 support yet, but supports
bool keywordCurrently unsupported C11 constructs:
_Static_assert)_Generic)_Atomic, _Thread_localCurrently unsupported GNU C extensions:
__auto_type__builtin_offsetof
char a[__builtin_offsetof (struct S, sa->f)_Decimal32__asm__ __volatile__ ("" : : : );
__asm__ goto ("" : : : : label);__attribute__((packed)): types featuring this attribute may have an
incorrect size or alignment calculated.Since language-c-0.8, extended floating point types are supported (gcc 7 feature). Package maintainers may decide to disable these types (flag iecFpExtension) to work around the fact that the _Float128 type is redefined by glibc >= 2.26 if gcc < 7 is used for preprocessing:
/* The type _Float128 exists only since GCC 7.0. */
# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
typedef __float128 _Float128;
# endif
A couple of small examples are available in examples.
See test/README.
(top 30 of 33)
Haskell
45.9%
C
40.6%
Yacc
8.3%
Lex
2.6%
Shell
1.4%