comparison CbC-examples/tmp4.c @ 78:365b84b6fe04

more examples
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 20 Sep 2011 17:32:20 +0900
parents
children 5d30d517ebed
comparison
equal deleted inserted replaced
77:65b2ea5f1266 78:365b84b6fe04
1 #define __environment _CbC_environment
2 #define __return _CbC_return
3
4 #include "stdio.h"
5
6 int
7 main(ac,av)
8 int ac;
9 char *av[];
10 {
11 int i;
12 i=main0(ac,av);
13 fprintf(stdout,"#0012:1: %s %d\n",av[0]+2,i);
14 return 0;
15 }
16
17 int
18 main0(ac,av)
19 int ac;
20 char *av[];
21 {
22 int i,j,k;
23 i=123;
24 j=456;
25 k=789;
26 fprintf(stdout,"#0025:2: %s\n",av[0]+2);
27 goto code0(i,j,k,av,__return,__environment);
28 }
29
30 __code code0(i,j,k,av,ret,retenv)
31 int i,j,k;
32 char *av[];
33 __code (*ret)();
34 void *retenv;
35 {
36 char *p;
37 p = av[0]+2;
38 fprintf(stdout,"#0037:3: i=%d j=%d k=%d av[0]=%s p=%s\n",i,j,k,av[0]+2,p);
39 goto code1(i,j,k,av,ret,retenv);
40 }
41
42 __code code1(i,j,k,av,ret,retenv)
43 int i,j,k;
44 char *av[];
45 __code (*ret)();
46 void *retenv;
47 {
48 fprintf(stdout,"#0047:4: %s\n",av[0]+2);
49 goto code2(i,j,k,av,ret,retenv);
50 }
51
52 __code code2(i,j,k,av,ret,retenv)
53 int i,j,k;
54 char *av[];
55 __code (*ret)();
56 void *retenv;
57 {
58 fprintf(stdout,"#0057:5: %s\n",av[0]+2);
59 fprintf(stdout,"#0058:5: i=%d j=%d k=%d\n",i,j,k);
60 goto (*ret)(1234,retenv);
61 }