78
|
1 #define __environment _CbC_environment
|
|
2 #define __return _CbC_return
|
|
3
|
|
4 #include <stdio.h>
|
|
5
|
|
6 #undef WRONGNUMBER
|
|
7
|
|
8 typedef __code
|
|
9 (*CCC)( int f1,int f2,int f3,int f4,int f5,int f6,int f7,int f8,int f9,int fa,int fb,int fc,int fd,int fe,int ff,
|
|
10 __code(*ret)(int,void *),
|
|
11 void *env);
|
|
12
|
|
13 __code
|
|
14 tcode2( int f1,int f2,int f3,int f4,int f5,int f6,int f7,int f8,int f9,int fa,int fb,int fc,int fd,int fe,int ff,
|
|
15 __code(*ret)(int,void *),
|
|
16 void *env)
|
|
17 {
|
|
18 fprintf(stdout,"#0017:tcode2: f1=%d,f2=%d,f3=%d,f4=%d,f5=%d,f6=%d,f7=%d,f8=%d,f9=%d,fa=%d,fb=%d,fc=%d,fd=%d,fe=%d,ff=%d\n",
|
|
19 f1,f2,f3,f4,f5,f6,f7,f8,f9,fa,fb,fc,fd,fe,ff);
|
|
20 goto ret(0,env);
|
|
21 }
|
|
22
|
|
23 __code
|
|
24 tcode1(f1,f2,f3,f4,f5,f6,f7,f8,f9,fa,fb,fc,fd,fe,ff,ret,env)
|
|
25 int f1,f2,f3,f4,f5,f6,f7,f8,f9,fa,fb,fc,fd,fe,ff;
|
|
26 __code(*ret)(int,void *);
|
|
27 void *env;
|
|
28 {
|
|
29 fprintf(stdout,"#0028:tcode1: f1=%d,f2=%d,f3=%d,f4=%d,f5=%d,f6=%d,f7=%d,f8=%d,f9=%d,fa=%d,fb=%d,fc=%d,fd=%d,fe=%d,ff=%d\n",
|
|
30 f1,f2,f3,f4,f5,f6,f7,f8,f9,fa,fb,fc,fd,fe,ff);
|
|
31 goto ret(0,env);
|
|
32 }
|
|
33
|
|
34 __code
|
79
|
35 tcode4(int x,int y,CCC junction,__code(*ret)(int,void *),void *env)
|
78
|
36 {
|
|
37 #ifdef WRONGNUMBER
|
|
38 goto junction(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,ret,env);
|
|
39 #else
|
|
40 goto junction(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,ret,env);
|
|
41 #endif
|
|
42 }
|
|
43
|
|
44 __code
|
79
|
45 tcode0(int x,int y,__code(*junction)(int,int,int,int,int,int,int,int,int,int,int,int,int,int,int,__code(*)(int, void *),void *),__code(*ret)(int,void *),void *env)
|
78
|
46 {
|
|
47 #ifdef WRONGNUMBER
|
|
48 goto junction(0,1,2,3,4,5,6,7,8,9,10,11,12,13,ret,env);
|
|
49 #else
|
|
50 goto junction(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,ret,env);
|
|
51 #endif
|
|
52 }
|
|
53
|
|
54 int
|
|
55 main0()
|
|
56 {
|
|
57 #ifdef WRONGNUMBER
|
|
58 goto tcode2(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,
|
|
59 __return,__environment);
|
|
60 #else
|
|
61 goto tcode2(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
|
|
62 __return,__environment);
|
|
63 #endif
|
|
64 }
|
|
65
|
|
66 int
|
|
67 main1()
|
|
68 {
|
|
69 #ifdef WRONGNUMBER
|
|
70 goto tcode1(0,1,2,3,4,5,6,7,8,9,10,11,12,13,
|
|
71 __return,__environment);
|
|
72 #else
|
|
73 goto tcode1(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,
|
|
74 __return,__environment);
|
|
75 #endif
|
|
76 }
|
|
77
|
|
78 int
|
|
79 main2()
|
|
80 {
|
|
81 goto tcode0(0,1,tcode1,__return,__environment);
|
|
82 }
|
|
83
|
|
84 int
|
|
85 main4()
|
|
86 {
|
|
87 goto tcode4(0,1,tcode2,__return,__environment);
|
|
88 }
|
|
89
|
|
90 int
|
|
91 main()
|
|
92 {
|
|
93 printf("#0092:main4\n");
|
|
94 main4();
|
|
95 printf("#0094:main2\n");
|
|
96 main2();
|
|
97 printf("#0096:main0\n");
|
|
98 main0();
|
|
99 printf("#0098:main1\n");
|
|
100 main1();
|
|
101 return 0;
|
|
102 }
|
|
103
|
|
104 //
|