检查单个 fortran 文件的语法

问题描述 投票:0回答:1

我正在使用一个大型 Fortran 代码库,并且正在对其中的一个文件进行更改。构建系统很复杂,必须在某个非本地计算机上运行,并且非常耗时。我想检查我正在编辑的单个 fortran 文件的语法,而无需进行完整编译。有什么工具可以做到这一点?工具必须能够在 Linux 上轻松安装和运行。

到目前为止,我已经尝试过https://github.com/cphyc/fortran-linter,但我看不到如何仅输出语法错误。 VS Code 带有 fortran 插件,但我的理解是 linter 依赖于第三方编译器(例如 gfortran 和 ifort),并且由于代码库的复杂性,很难为我的项目设置这些编译器。

编辑:这个问题如何使用 Fortran 编译器来解析检查或漂亮打印源文件?建议使用

gfortran -fsyntax-only <file>
,这正是我正在寻找的东西。但是,当我在我的一个文件上尝试它时,它失败了:
Fatal Error: Cannot open module file ‘<filename>.mod’

fortran linter syntax-checking
1个回答
0
投票

我有一个可行的解决方案。构建系统很复杂,但它确实在可预测的位置生成所有

<filename>.mod
文件。因此,虽然我无法轻松修改构建系统,但我可以将我正在处理的几个文件复制到构建源目录中,然后相对于现有的 .mod 文件编译这些文件。非常感谢 @cup 的建议。并向其他评论者提供有关 Fortran 构建系统的有用想法/解释。

我现在明白为什么在不编译所有依赖模块的情况下不可能进行完整的语法检查(感谢 @francescalus 的示例),但在我看来,基本语法检查应该仍然很容易(放错位置的“&”,“, ”等)。如果有人对此有想法,我仍然希望得到新的答案......

© www.soinside.com 2019 - 2024. All rights reserved.