begin
% computes factorial n iteratively %
integer procedure factorial( integer value n ) ;
if n < 2
then 1
else begin
integer f;
f := 2;
for i := 3 until n do f := f * i;
f
end factorial ;
for t := 0 until 10 do write( "factorial: ", t, factorial( t ) );
end.我已经编译了代码,但每次都显示错误。看见
$a68g main.alg
5 then 1
1
a68g: syntax error: 1: possibly a missing or erroneous separator nearby.
9 for i := 3 until n do f := f * i;
1
a68g: syntax error: 1: possibly a missing or erroneous separator nearby.
13 for t := 0 until 10 do write( "factorial: ", t, factorial( t ) );
1
a68g: syntax error: 1: possibly a missing or erroneous separator nearby.发布于 2021-01-28 19:21:42
您使用的是Algol 68编译器,但代码不是用Algol 68编写的。
Algol 60和Algol 68是具有不同语法的不同语言。
你需要将你的代码翻译成algol 68才能使用a68g或找到algol 60编译器。
发布于 2021-02-19 07:25:13
Try marst...“MARST是一个Algol到C的翻译器,它能自动将用Algol 60算法语言编写的程序翻译成C编程语言。
https://stackoverflow.com/questions/64317800
复制相似问题