comparison test/goto.c @ 79:82d0e30f61dd

*** empty log message ***
author kono
date Mon, 03 Mar 2003 04:56:51 +0900
parents
children 83d901658ce9
comparison
equal deleted inserted replaced
78:8418d4b7caa7 79:82d0e30f61dd
1
2
3 code (*conv)(int,code (*)());
4 code a2(int i,code conv());
5 code a3(int i,code conv());
6 code a4(int i,code conv());
7 code a5(int i,code conv());
8
9 code (*exit0)(int);
10 void *env;
11
12 code
13 a2(int i,code conv())
14 {
15 printf("%d %x\n",i,conv);
16 goto conv(i+1,a4);
17 }
18
19 code
20 a3(int i,code (*conv)())
21 {
22 printf("%d %x\n",i,conv);
23 goto conv(i+1,a5);
24 }
25
26 code
27 a4(int i,code conv())
28 {
29 printf("%d %x\n",i,conv);
30 goto (*conv)(i+1,exit0);
31 }
32
33 code
34 a5(int i,code (*conv)())
35 {
36 printf("%d %x\n",i,conv);
37 goto (*conv)(i+1),env;
38 }
39
40 main(int ac,char *av[]) {
41 exit0 = return;
42 env = environment;
43 conv = a2;
44 goto conv(1,a3);
45 }