2016-09-16 53 views
0

这是一个示例程序,我为我的COBOL类做了一些示例程序,并且遇到了一些关于当我试图编译时遇到的错误代码的问题命令行。请看下面。 COBOL下面是我的终端代码。我该如何解决“意想不到的标识符”?错误:语法错误,意想不到的“标识符”,期待“文件结尾”

 IDENTIFICATION DIVISION. 
    PROGRAM-ID.  SAMPLE135. 
    AUTHOR.   ME. 

    ENVIRONMENT DIVISION. 


    DATA DIVISION. 
    77 FIELD-A PIC 9(2). 
    77 FIELD-B PIC 9(2). 
    77 FIELD-C PIC 9(3) VALUE ZERO. 
    77 FIELD-D PIC 9(3) VALUE ZERO. 

    WORKING-STORAGE SECTION. 

    PROCEDURE DIVISION. 
    FIRST-PARAGRAPH. 
     MOVE ZEROS TO FIELD-A FIELD-B. 
     PERFORM SECOND-PARAGRAPH. 
     PERFORM THIRD-PARAGRAPH. 
     PERFORM SECOND-PARAGRAPH. 
     PERFORM WRITE-DATA. 
     STOP RUN.  

    SECOND-PARAGRAPH. 
     ADD 10 TO FIELD-A. 
     ADD 20 TO FIELD-B. 

    THIRD-PARAGRAPH. 
     MULTIPLY FIELD-A BY FIELD-B GIVING FIELD-C. 
     DIVIDE FIELD-A INTO FIELD-B GIVING FIELD-D. 

    WRITE-DATA. 
     DISPLAY FIELD-A. 
     DISPLAY FIELD-B. 
     DISPLAY FIELD-C. 
     DISPLAY FIELD-D. 

    END PROGRAM. 



Sample2.cbl:9: Error: syntax error, unexpected "Identifier", expecting "end of file" 

回答

4

你在'77'的数据项在错误的地方,也缩进。还要确保字段名称从区域B开始(除非使用自由格式)。尝试

DATA DIVISION. 

WORKING-STORAGE SECTION. 
    77 FIELD-A   PIC 9(2). 
    77 FIELD-B   PIC 9(2). 
    77 FIELD-C   PIC 9(3) VALUE ZERO. 
    77 FIELD-D   PIC 9(3) VALUE ZERO. 

在COBOL代码,它被普遍认为不如只使用 ''当绝对需要(程序前),即

SECOND-PARAGRAPH. 
    ADD 10    TO FIELD-A 
    ADD 20    TO FIELD-B 

    . 
THIRD-PARAGRAPH. 

最后,他们这也是标准的做法缩进TOPIC声明 ,因为我有

+0

非常好。问题解决了,谢谢! – KJS

1

工作储存部分,头必须在77级定义之前。

 DATA DIVISION. 
     WORKING-STORAGE SECTION. 
     77 FIELD-A PIC 9(2). 
     77 FIELD-B PIC 9(2). 
     77 FIELD-C PIC 9(3) VALUE ZERO. 
     77 FIELD-D PIC 9(3) VALUE ZERO. 

您还在结束标记中缺少程序名称。

 END PROGRAM SAMPLE135. 
+0

无论是“END PROGRAM.”还是“END PROGRAM.”都是多余的,这取决于是否被教导使用冗长的语言:-) –

+0

谢谢,问题解决了!我感谢您的帮助。 – KJS

相关问题