有没有一些好的工具可以从自由Fortran代码中删除不使用的局部变量?
背景是我们有一个非常大的代码库,并且在过去的20年里禁用了未使用的警告,所以有相当多的警告,太多了,无法手动修复。
我知道Photran有这种重构,但我尝试了一下,遇到了问题。出于某些原因,它要求可以解析整个源代码(它无法处理我们的代码库)来进行重构,尽管对于这种重构,只需要检查单个文件就足够了。
发布于 2010-11-28 04:26:41
根据编译器消息,我已经手工完成了这项工作。一种可能的自动化工具:SPAG / plusFORT的编写如下所示:
SPAG识别并选择性地删除死代码(永远不会执行的语句)和杂乱(声明了但从未使用过的变量或参数)。
我使用了免费的、功能精简的版本,但不记得该版本是否删除了未使用的变量。
发布于 2010-11-27 23:09:51
这是一个答案,因为它不能放在评论框中-尽管不要把它当作一个答案,而更多的是一个评论
除此之外,对不起,我不认为有这样的工具存在。TZXH问你使用的是什么编译器--不是因为它有很大的不同,而是(我想)可能是因为他正在考虑解析编译器警告以获得变量列表,然后浏览Fortran文件,并半手动地删除这些变量。
我从来没有做过这样的事情,但这是一个可以工作的过程。有一些潜在的缺点,但它可以工作。
除此之外,对于Fortran源代码的分析(以及编写新的代码,因为它确实是一个非常好的集成开发环境),我发现SciTools Understand是一个非常有用的工具。我不确定它是否有你想要的功能,但它可能会有所帮助。
发布于 2010-12-07 19:23:47
有一个“美化”Python脚本作为GPL工具链的一部分。您可以在in the CP2K project source repository中找到它。您将需要prettify.py和normalizeFortranFile.py脚本。由于它还试图“美化”文件,如果您真的只想删除局部变量,则必须编辑该脚本。
https://stackoverflow.com/questions/4291248
复制相似问题