Annotation of gforth/vmgen-ex2/test.mini, revision 1.1

1.1     ! anton       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;

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>