在 gfortran 5.2.0 中继续
Continuation in gfortran 5.2.0
我需要在我的 Macbook Pro 上处理 Fortran90 代码,它是多年前在 Microsoft Developer Tools 上编写的。作为一个免费选项,我在我的 Macbook 上安装了 gfortran
以便能够编译它。原始代码包括 &
长行的连续字符,但我无法使用它。没有 &
字符,一切正常。可能是什么问题?我需要激活某些东西才能使用 &
角色吗?
例如,我认为这样的事情应该可行:
x = 1
y = 2
z = x+
&y
end
但是,我遇到了这个错误。这可能是行尾错误。我该如何解决?
3:72: Error: Syntax error in expression at (1)
4:9: Error: Invalid character in name at (1)
在自由格式的 Fortran 中,要继续的行末尾的行继续字符 (&
)。您的代码应为:
program test
x = 1
y = 2
z = x+ &
y
end program
这在 Fortran 标准(此处:2008,但也适用于 Fortran 90),Cl 中有说明。 3.3.2.4 "Free form statement continuation":
1 The character “&” is used to indicate that the statement is continued on the next line that is not a comment line. [...]
2 If a noncharacter context is to be continued, an “&” shall be the last nonblank character on the line, or the last nonblank character before an “!”. [...]
我需要在我的 Macbook Pro 上处理 Fortran90 代码,它是多年前在 Microsoft Developer Tools 上编写的。作为一个免费选项,我在我的 Macbook 上安装了 gfortran
以便能够编译它。原始代码包括 &
长行的连续字符,但我无法使用它。没有 &
字符,一切正常。可能是什么问题?我需要激活某些东西才能使用 &
角色吗?
例如,我认为这样的事情应该可行:
x = 1
y = 2
z = x+
&y
end
但是,我遇到了这个错误。这可能是行尾错误。我该如何解决?
3:72: Error: Syntax error in expression at (1)
4:9: Error: Invalid character in name at (1)
在自由格式的 Fortran 中,要继续的行末尾的行继续字符 (&
)。您的代码应为:
program test
x = 1
y = 2
z = x+ &
y
end program
这在 Fortran 标准(此处:2008,但也适用于 Fortran 90),Cl 中有说明。 3.3.2.4 "Free form statement continuation":
1 The character “&” is used to indicate that the statement is continued on the next line that is not a comment line. [...]
2 If a noncharacter context is to be continued, an “&” shall be the last nonblank character on the line, or the last nonblank character before an “!”. [...]