问题1:我们可以通过某些东西(在本例中是一个shell脚本)可靠地找出在某些编程语言中使用的最大数组(在本例中为COBOL)吗?
答案:不 - 通常你有动态访问权限(由变量访问),如果不运行带有所有可能输入的程序,则知道使用了多少是不可靠的.
问题2:我们可以在一些COBOL程序中编写一个shell脚本来查找数组的大小吗?
答:是的,如果您不使用2002+ OCCURS DYNAMIC(DEPENDING ON将动态设置大小),并且不使用IBM扩展OCCURS UNBOUNDED(DEPENDING ON用于定义大小并且需要外部分配).这离开了array OCCURS [min [TO]] max.只是grep(或者findstr如果你被锁定在Windows上),OCCURS其背后的最大尺寸.因为它可能在一个新行上,你需要在检查之前删除换行符(例如tr '\n\ ' ',如果文件可能包含一个额外的DOS换行符tr '\r\ ' ').由于您可能有内联注释,因此您需要先替换所有注释.根据格式(我假设固定格式参考格式),您必须首先删除每行的非代码部分,并满足连续行.如果您可以选择使用编译器预处理源代码可能要容易得多(我已经使用免费的GnuCOBOL编译器进行预处理以进行类似的代码调查一次),甚至可以使用源列表的符号表,如果它提供此(GnuCOBOL确实拥有它).grep在这种情况下,它归结为非常简单.
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |