使用Fable从Fortran 77转换为C ++

时间:2014-09-11 11:42:22

标签: c++ fortran converter fable

我只是想尝试使用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 

有没有人看到寓言发现的问题?我之前从未使用它,所以我只想看看它是如何工作的。在此先感谢您的帮助!

2 个答案:

答案 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进行测试,您可以使用endend program结束程序,但不能使用end program XXXXX结束程序。这可以说是由于这个程序解析器的工作方式,并将program <something>的匹配解释为起始程序块,即使前面有end