[gforth] / gforth / vmgen-ex / test.mini  

gforth: gforth/vmgen-ex/test.mini


1 : anton 1.1 func operators()
2 :     print 3 = 3;
3 :     print (3+5) = 8;
4 :     print (5-3) = 2;
5 :     print (3*5) = 15;
6 :     print (3&5) = 1;
7 :     print (3|5) = 7;
8 :     print (3<5) = 1;
9 :     print (5<3) = 0;
10 :     print (3=5) = 0;
11 :     print (5=5) = 1;
12 :     print (!3) = 0;
13 :     print (!0) = 1;
14 :     print (-3) = (0-3);
15 :     return 0;
16 :     end func;
17 :    
18 :     func params(a, b, c)
19 :     print a = 3;
20 :     print b = 5;
21 :     print c = 7;
22 :     return 9;
23 :     end func;
24 :    
25 :     func locals(a)
26 :     var b;
27 :     var c;
28 :     b:=a+1;
29 :     c:=b+1;
30 :     a:=c+1;
31 :     return a;
32 :     end func;
33 :    
34 :     func inc(x)
35 :     return x+1;
36 :     end func;
37 :    
38 :     func sign(n)
39 :     var r;
40 :     if (n<0) then
41 :     r:=-1;
42 :     else
43 :     if (0<n) then
44 :     r:=1;
45 :     else
46 :     r:=0;
47 :     end if;
48 :     end if;
49 :     return r;
50 :     end func;
51 :    
52 :     func recfac(n)
53 :     var r;
54 :     if (n<1) then
55 :     r:=1;
56 :     else
57 :     r:=recfac(n-1)*n;
58 :     end if;
59 :     return r;
60 :     end func;
61 :    
62 :     func itfac(n)
63 :     var r;
64 :     r:=1;
65 :     while (0<n) do
66 :     r:=r*n;
67 :     n:=n-1;
68 :     end while;
69 :     return r;
70 :     end func;
71 :    
72 :     func testfac()
73 :     var i;
74 :     i:=0;
75 :     while (i<10) do
76 :     print itfac(i) = recfac(i);
77 :     i:=i+1;
78 :     end while;
79 :     return 0;
80 :     end func;
81 :    
82 :     func main()
83 :     operators();
84 :     print params(3,5,7) = 9;
85 :     print locals(3) = 6;
86 :     print (inc(1)+inc(inc(inc(3))))=8;
87 :     print sign(5) = 1;
88 :     print sign(0) = 0;
89 :     print sign(-5) = (-1);
90 :     print itfac(5) = 120;
91 :     testfac();
92 :     return 0;
93 :     end func;

CVS Admin

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help