我只是想尝试使用fable将一个基本的helloworld.f程序转换为C ++(以后为更大的程序做准备)。我收到的错误虽然说:
fable.read.Error: Missing END for PROGRAM:
at hello.f(1):
| program HelloWorld|
我不明白,因为它编译并正常运行。该计划只是:
program HelloWorld
implicit none
write (*,*) 'Hello, world!' ! This is an inline comment
end program HelloWorld
有没有人看到寓言发现的问题?我之前从未使用它,所以我只想看看它是如何工作的。在此先感谢您的帮助!
答案 0 :(得分:0)
我认为它无法解析end program HelloWorld
。尝试将其更改为end program
或仅更改为end
。
更新:事实上,在Fortran 77中,一切都必须结束with just END:
END语句指示程序单元(3.5)的语句和注释行序列的结束。如果在函数或子程序子程序中执行,则它具有RETURN语句的效果(15.8)。如果在主程序中执行,它将终止可执行程序的执行。
END语句的形式是:
END
END语句仅在初始行的第7列到第72列中写入。 不得继续使用END语句。程序单元中的任何其他语句都不能具有看似END语句的初始行。 每个程序单元的最后一行必须是END语句。
答案 1 :(得分:0)
在python 2.7.7上使用fable进行测试,您可以使用end
或end program
结束程序,但不能使用end program XXXXX
结束程序。这可以说是由于这个程序解析器的工作方式,并将program <something>
的匹配解释为起始程序块,即使前面有end
。