我正在开发一个解析 Cobol 程序的应用程序。在这些程序中,有些程序遵循传统的编码风格(程序文本从第 8 列到第 72 列),有些则较新,不遵循这种风格。
在我的应用程序中,我需要确定编码风格,以便知道是否应该解析第 72 列之后的内容。
我已经能够确定程序是从第 1 列开始还是从第 8 列开始,但是从第 1 列开始的程序也可以遵循第 72 列之后的注释规则。
所以我试图找到规则,让我能够确定第 72 列之后的文本是注释还是有效代码。
我找到了一些,但很难说它是否每次都有效:
第 72 列后的点,确定句子的结尾,但我担心点也可以在注释中
查找第 72 列之后语句的结束字符:
"' ) }
在第 71 - 72 - 73 列查找 char,如果没有空格则查找整个单词,并检查它是否是关键字或 var。问题,它可能是来自 COPY 的 var 或替换等...
我想知道您对这些规则有何看法,以及您是否有任何想法可以帮助我确定 Cobol 程序的编码风格。
我不需要 API 或其他东西,只需要我可以依赖的可靠规则。
最佳答案
我认为你需要了解每个程序的COBOL编译器。它的文档应该告诉您它使用哪些约定/配置/开关来决定源代码是否在第 72 列结束。
那么......哪个编译器?
如果您认为第 72 列问题很麻烦,请等到您开始实际解析 COBOL 本身。如果您没有充分准备好处理该语言的词汇问题,那么您可能也没有做好处理语法问题的准备。
关于parsing - 确定 Cobol 编码风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10727481/