46 lines
826 B
Plaintext
46 lines
826 B
Plaintext
include "cowgol.coh";
|
|
|
|
sub print_back(s: [uint8]) is
|
|
while [s] != 0 loop;
|
|
print_char([s]);
|
|
s := @prev s;
|
|
end loop;
|
|
print_nl();
|
|
end sub;
|
|
|
|
sub incr(n: [uint8]): (r: [uint8]) is
|
|
r := n;
|
|
while [n] != 0 loop;
|
|
n := @prev n;
|
|
end loop;
|
|
n := @next n;
|
|
loop
|
|
if [n] == 0 then
|
|
[n] := '1';
|
|
[@next n] := 0;
|
|
r := n;
|
|
break;
|
|
elseif [n] == '9' then
|
|
[n] := '0';
|
|
n := @next n;
|
|
continue;
|
|
else
|
|
[n] := [n] + 1;
|
|
break;
|
|
end if;
|
|
end loop;
|
|
end sub;
|
|
|
|
sub init(n: [uint8]): (r: [uint8]) is
|
|
[n] := 0;
|
|
[n+1] := '0';
|
|
[n+2] := 0;
|
|
r := n+1;
|
|
end sub;
|
|
|
|
var infnum := init(LOMEM);
|
|
loop
|
|
infnum := incr(infnum);
|
|
print_back(infnum);
|
|
end loop;
|