annotate CbC-examples/test_tree.c @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 26042f4007d5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 //#include<stdio.h>
126
5d30d517ebed fix example
mir3636
parents: 16
diff changeset
2 extern int printf(const char*, ...);
5d30d517ebed fix example
mir3636
parents: 16
diff changeset
3 extern void exit(int);
16
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 double test(char, char, int, double);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 __code cs(int , double , char );
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 void testvoid(double a);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 int testint(double a);
150
26042f4007d5 fix examples
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
8 void test_goto(int a, int b, double c);
26042f4007d5 fix examples
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 126
diff changeset
9 __code test_goto1(int a, int b, double c);
16
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 __code cs(int a, double b, char c){
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 printf("__code cs was called.\n");
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 printf("a = %d, b = %lf, c = %d\n", a, b, c);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 exit(0);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 }
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 __code cs1(int a, double b, char c, int d){
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 printf("__code cs1 was called.\n");
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 printf("a = %d, b = %lf, c = %d, d = %d\n", a, b, c, d);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 exit(0);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 }
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 int main(int argc, char **argv){
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 double t;
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 //goto cs(2, 10.2, 2);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 t = test('a', 'b', 10, 2.5);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 printf("t = %lf\n", t);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 testvoid(2.22);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 testint(2.22);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 printf("test_goto\n");
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 goto test_goto1(10, 20, 30.3);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 return 0;
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 }
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 void test0(){
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 exit(0);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 }
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 void testvoid(double a){
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 return ;
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 }
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 int testint(double a){
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 int b;
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 b = (a*100-a) +2;
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 return 1;
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 }
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 double test(char c, char l, int a, double d){
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 return (double)a*d+c+l;
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 }
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 void test_goto(int a, int b, double c){
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 goto cs(2, 10.2, 3);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 }
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 __code test_goto1(int a, int b, double c){
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 goto cs1(2, 10.2, 3, 4);
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 }
4c6926a2b9bc examples.
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58