(* TEST: [-asc -tc -cg -ir] *) #include "std.alpha" function entry : string2integer function Fib : integer2integer Fib(i) := { [integer: a; integer: b ; Boolean: d ; integer: c] (*if( i = 0 ) then { return 7; } else { i := i; }*) (*b := b | (a & c); b := 2 < 3;*) (* `if(i = 1) then { return 1; } else { return Fib(i - 1) + Fib(i - 2); } *) a := 0; b := 1; while(0 < i) { c := a + b; a := b; b := c; } return c; } entry (arg) := { [ integer: x; integer: y ] x := 2; (* x := Fib(2);*) y := printInteger(Fib(3)); return 1; }