40 lines
690 B
Plaintext
40 lines
690 B
Plaintext
(* 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;
|
|
}
|