1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#include <csxbind.h>
#include <stdio.h>
int main()
{
init();
char *m = N("m");
char *n = N("n");
char *ackermann = N("ackermann");
printf("%d\n", *(int *)R(L(_do,
L(set, ackermann, L(fn, L(m, n, 0),
L(_if,
L(same, m, I(0), 0), L(_plus, n, I(1), 0),
L(same, n, I(0), 0), L(ackermann, L(_plus, m, I(-1), 0), I(1), 0),
L(ackermann,
L(_plus, m, I(-1), 0),
L(ackermann, m, L(_plus, n, I(-1), 0), 0),
0),
0),
0), 0),
L(ackermann, I(3), I(7), 0),
0)));
return 0;
}
|