列出变量的类型以及在Fortran 77程序中定义它们的位置

时间:2018-02-05 12:16:30

标签: fortran fortran77

有没有办法列出Fortran 77程序中定义的所有变量,包括

  1. 定义变量?
  2. 变量的类型有哪些?
  3. 我希望可能有一些可以执行此操作的专用软件,或者某些编译器标记,例如: gfortran。

1 个答案:

答案 0 :(得分:1)

你试过grep吗?这是一个简短的片段,为您提供基本类型的出现:

for i in byte character integer logical \
         real "double[[:blank:]]+precision" \
         complex "double[[:blank:]]+complex" ; do 
    grep -Ein "^[[:blank:]]*${i}[[:blank:]\*(,:]" $(find . -name "*.[fF]*")
done

当然,只有在整个代码中使用显式类型声明时,这才有效。

说明:

grep与正则表达式(-E)和不区分大小写的匹配(-i)一起使用,以打印出所有Fortran文件中的行号和文件(-n)当前文件夹中的*.[fF]*

正则表达式是:

"^[[:blank:]]*                       Only whitespaces (if any) in the beginning
              ${i}                   Followed by the variable type
                  [[:blank:]\*(,:]"  Followed immediately by a whitespace, "*", 
                                     "(", ",", or ":"