Supported features
- Variables
- Declaration
- Global variables
- Initialization
- Assignment
- Automatic type conversion
- Variable list
- Array variables declaration
- Sized
- Unsized
- Multiple inline variables declaration
- With pointers
- Declaration
- Functions
- Declaration with no definition
- Declaration with definition
- Arguments
- Recursion
- Types
- Pointers
- Arrays
- Multi-dimensional arrays
- Structures
- Declaration with no definition
- Declaration with definition
- Initialization
- Unions
- Enums
- Typedefs
- Statements
-
if -
for- With empty body
- With multiple increments
-
do -
while -
switch -
case -
default -
break -
continue -
return -
goto
-
- Expressions
- Array indexing
- List initialization
- Structure property access
- Pointer property access
- Function call
- Type casting
- Arithmetic
- Addition (+)
- Subtraction (-)
- Multiplication (*)
- Division (/)
- Modulo (%)
- Prefix increment (++)
- Prefix decrement (--)
- Postfix increment (++)
- Postfix decrement (--)
- Bitwise operations
- Bitwise AND (&)
- Bitwise OR (|)
- Bitwise XOR (^)
- Bitwise NOT (~)
- Bitwise Left Shift (<<)
- Bitwise Right Shift (>>)
- Logical operations
- Logical AND (&&)
- Logical OR (||)
- Logical NOT (!)
- Conditional operations
- Equality (==)
- Inequality (!=)
- Less than (<)
- Less than or equal to (<=)
- Greater than (>)
- Greater than or equal to (>=)
- Assignment operations
- Basic assignment (=)
- Addition assignment (+=)
- Subtraction assignment (-=)
- Multiplication assignment (*=)
- Division assignment (/=)
- Modulo assignment (%=)
- Bitwise AND assignment (&=)
- Bitwise OR assignment (|=)
- Bitwise XOR assignment (^=)
- Bitwise Left Shift assignment (<<=)
- Bitwise Right Shift assignment (>>=)
- Ternary operator (?:)
- Pointers operations
- Pointer dereference (*)
- Pointer addition (+)
- Pointer subtraction (-)
- Prefix pointer increment (++)
- Prefix pointer decrement (--)
- Postfix pointer increment (++)
- Postfix pointer decrement (--)
- Value address (&)
- Misc
- Comments
- Single-line comments
- Multi-line comments
-
sizeof
- Comments
- Preprocessor directives
-
#define A B -
#define F(x) x -
#define F(x) x ## 1 -
#undef A -
#if A -
#ifdef A -
#ifndef A -
#else -
#elif A -
#endif -
#include <stdlib.h> -
#include "./locallib.h"
-
- Standard Library
stdlib.h-
atof -
atoi -
atol -
strtod -
strtol -
strtoul -
calloc -
free -
malloc -
realloc -
abort -
atexit -
exit -
getenv -
system -
bsearch -
qsort -
abs -
div -
labs -
ldiv -
rand -
srand -
mblen -
mbstowcs -
mbtowc -
wcstombs -
wctomb
-
assert.h-
assert
-
string.h-
memset -
memchr -
memcmp -
memcpy -
memmove -
strcat -
strncat -
strchr -
strcmp -
strncmp -
strcoll -
strncpy -
strcspn -
strerror -
strlen -
strpbrk -
strrchr -
strspn -
strtok -
strxfrm
-