用于查找cobol程序数组大小的Shell脚本

时间:2017-03-04 13:30:21

标签: shell cobol

我们是否可以编写一个shell脚本来查找cobol程序中数组的大小,就像数组的最大大小和填充的数组一样。

1 个答案:

答案 0 :(得分:5)

问题1:我们能否通过某些东西(在本例中为shell脚本)可靠地找出某些编程语言中使用的最大数组(在本例中为COBOL)?

答案:不 - 通常您拥有动态访问权限(通过变量访问),如果您不使用所有程序运行程序,那么知道使用了多少是不可靠的可能的输入。

问题2:我们可以编写一个shell脚本来查找某些COBOL程序中的数组大小吗?

答案:是的,如果您不使用2002 + OCCURS DYNAMICDEPENDING ON将动态设置大小)并且不使用IBM扩展{{1 (OCCURS UNBOUNDED用于定义大小,需要外部分配)。这留下了DEPENDING ON。 只有array OCCURS [min [TO]] max(或grep,如果您已锁定在Windows上)findstr,其后面会有最大尺寸。{1}}由于它可能位于新行上,因此您需要在检查之前删除换行符(例如,使用OCCURS,如果文件可能包含DOS换行符,则需要额外tr '\n\ ' ')。由于您可能有内联评论,因此需要先替换所有评论。根据格式(我假设固定格式参考格式),您必须首先删除每行的非代码部分,以满足连续行的需要。 如果您可以选择使用编译器预处理源代码可能要容易得多(我已经使用预处理免费的GnuCOBOL编译器进行类似的代码调查一次),甚至使用源列表的符号表,如果它提供了这个(GnuCOBOL确实有它)。在这种情况下,它归结为一个非常简单的tr '\r\ ' '