我正在将一些COBOL代码从zOS迁移到Linux,并偶然发现了位于COBOL程序顶部的该代码:
CBL DATEPROC(FLAG),YEARWINDOW(-90) 004220CB
ID DIVISION. 004220CB
PROGRAM-ID. AL0001. 004220C
是COBOL编译器检测到的那些编译器选项,还是对某种第三方预处理器的指令。
我个人的猜测是它是处理代码中Y2K问题的第三方处理器。
答案 0 :(得分:7)
对于IBM的Enterprise COBOL,CBL
语句是提供编译器选项的几种方法之一。
您的示例中的选项有点特殊,因为从版本4迁移到版本5时,IBM放弃了对Y2K的支持,因此放弃了DATEPROC
和YEARWINDOW
选项。对于V5编译器,它们应该由编译器标记,但不应导致编译错误。