Cobol - 语法错误,意外$ undefined,期待“文件结束”

时间:2016-07-16 07:01:28

标签: linux syntax cobol gnucobol

我在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 flag来编译,但是这个错误对我没有意义。

为什么会出现此错误,请帮助:)

1 个答案:

答案 0 :(得分:4)

??没有有效的COBOL字和没有级别编号(第6行需要)。 GnuCOBOL 2.x在很多方面都要好得多,包括用户消息:

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,您不再有错误。在WORKING-STORAGE SECTION之后插入LOCAL-STORAGE SECTIONDATA DIVISION,您的程序编译得很好。

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