Cobol - 语法错误,意外的 $undefined,期待 "end of file"

Cobol - syntax error, unexpected $undefined, expecting "end of file"

我对 cobol 的语法有疑问。我在 Ubuntu 4.2.0-16-generic 上使用 open-cobol 包,但出现错误:

~/cobol$ cobc -free -x -o cal cal.cbl
cal.cbl:6: Error: syntax error, unexpected $undefined, expecting "end of file"

我的 cal.cbl 文件:

IDENTIFICATION DIVISION.
PROGRAM-ID. cal.
ENVIRONMENT DIVISION.

DATA DIVISION.   
?? OPTION PIC 9 VALUE ZERO.
?? NUM1   PIC 9(5)V9(2) VALUE ZERO.
?? NUM2   PIC 9(5)V9(2) VALUE ZERO.
?? RESULT PIC 9(10)V9(2) VALUE ZERO.

PROCEDURE DIVISION.
ACCEPT OPTION.

DISPLAY "INSERT FIRST OPTION".
ACCEPT NUM1.
DISPLAY "INSERT SECOND OPTION".
ACCEPT NUM2.

STOP RUN.

我是 cobolt 的新手,我对列有所了解,这就是我使用 -free 标志进行编译的原因,但这个错误对我来说毫无意义。

为什么会出现这个错误,求助:)

?? 不是有效的 COBOL 字,也没有级别编号(第 6 行需要)。这些消息来自 OpenCOBOL/GnuCOBOL 1.1.

较新的 GnuCOBOL 版本在很多方面都更好,包括用户消息(此处使用 GC 2.2):

cal.cob: 6: Error: Invalid symbol: ? - Skipping word
cal.cob: 6: Error: PROCEDURE DIVISION header missing
cal.cob: 6: Error: syntax error, unexpected Identifier
cal.cob: 7: Error: Invalid symbol: ? - Skipping word
cal.cob: 7: Error: syntax error, unexpected Identifier
cal.cob: 8: Error: Invalid symbol: ? - Skipping word
cal.cob: 8: Error: syntax error, unexpected Identifier
cal.cob: 9: Error: Invalid symbol: ? - Skipping word
cal.cob: 9: Error: syntax error, unexpected Identifier
cal.cob: 11: Error: syntax error, unexpected PROCEDURE
cal.cob: 12: Error: 'OPTION' is not defined
cal.cob: 15: Error: 'NUM1' is not defined
cal.cob: 17: Error: 'NUM2' is not defined

?? 更改为 0177 并且您不再有错误。在 DATA DIVISION 之后插入 WORKING-STORAGE SECTIONLOCAL-STORAGE SECTION,您的程序可以正常编译。

获取 Programmer's Guide 以了解有关 COBOL 的更多信息。