mini-c-parser 0.12.2

minimal C language lexer & parser & virtual executer from scratch
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#define MY_MACRO 10
#define MY_ADD(x, y) y + x * 10
#define MY_ADD2(x, y) (y) + (x) * 10

#if MY_MACRO == 10

int main()
{
  print(MY_ADD(MY_MACRO + 1, 20)); // print( 20 + MY_MACRO + 1 * 10 ) = 40
  print(MY_ADD2(MY_MACRO + 1, 20)); // print( (20) + (MY_MACRO + 1) * 10 ) = 130
  return 0;
}

#endif