富士通COBOL 3.0

富士通COBOL 3.0,cobol,cobol85,Cobol,Cobol85,我是富士通COBOL3.0软件的新手。我试着执行一个简单的程序。代码和错误如下所示。程序中的所有内容似乎都是正确的。有人能帮我吗?本软件是否遵循任何预先标准 cobol程序示例为: IDENTIFICATION DIVISION. PROGRAM-ID. ShortestProgram. PROCEDURE DIVISION. DisplayPrompt. DISPLAY "I did it". STOP RUN. ------------------------------

我是富士通COBOL3.0软件的新手。我试着执行一个简单的程序。代码和错误如下所示。程序中的所有内容似乎都是正确的。有人能帮我吗?本软件是否遵循任何预先标准

cobol程序示例为:

IDENTIFICATION DIVISION.
PROGRAM-ID.  ShortestProgram.

PROCEDURE DIVISION.
DisplayPrompt.
    DISPLAY "I did it".
   STOP RUN. 
--------------------------------------------------------------------------------------
** DIAGNOSTIC MESSAGE ** (NOPRGMID)
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 0: JMN1102I-S  IDENTIFICATION DIVISION HEADER IS MISSING. HEADER ASSUMED TO BE CODED.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 1: JMN1019I-W  INDICATOR AREA MUST CONTAIN '-','*','/','D',OR BLANK. A BLANK IS ASSUMED TO BE SPECIFIED.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 1: JMN1005I-W  CHARACTER STRING 'DENTIFICATION' MUST START IN AREA B. ASSUMED TO START IN AREA B.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 1: JMN1356I-W  INVALID WORD 'DENTIFICATION' IS SPECIFIED IN IDENTIFICATION DIVISION. IGNORED UNTIL NEXT PARAGRAPH OR DIVISION.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 2: JMN1019I-W  INDICATOR AREA MUST CONTAIN '-','*','/','D',OR BLANK. A BLANK IS ASSUMED TO BE SPECIFIED.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 2: JMN1005I-W  CHARACTER STRING 'ROGRAM-ID' MUST START IN AREA B. ASSUMED TO START IN AREA B.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 4: JMN1019I-W  INDICATOR AREA MUST CONTAIN '-','*','/','D',OR BLANK. A BLANK IS ASSUMED TO BE SPECIFIED.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 4: JMN1005I-W  CHARACTER STRING 'ROCEDURE' MUST START IN AREA B. ASSUMED TO START IN AREA B.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 6: JMN1004I-W  RESERVED WORD 'DISPLAY' MUST START IN AREA B. ASSUMED TO START IN AREA B.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 7: JMN1104I-S  PROGRAM-ID PARAGRAPH IS MISSING. PROGRAM-NAME GENERATED BY SYSTEM.
C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 7: JMN1004I-W  RESERVED WORD 'STOP' MUST START IN AREA B. ASSUMED TO START IN AREA B.
STATISTICS: HIGHEST SEVERITY CODE=S, PROGRAM UNIT=1
在这里玩一玩。自从我上大学的最后一年,我就再也没上过大学

您的错误消息显示,在底部

STATISTICS: HIGHEST SEVERITY CODE=S, PROGRAM UNIT=1
好的,我认为您有一些警告(可能是CODE=W)和一个或多个错误,它们实际上导致了您的程序失败

因此,扫描错误消息时,我看到很多W-s,还有一行是s:

C:\FSC\PCOBOL32\samples\SAMPLE6\SAMPLE7.COB 7:JMN1104I-S程序ID段落为 丢失的由生成的程序名 系统

看来你错过了你的程序ID段落。看看你的程序,我确实看到了一个n识别区,它有一个程序id

我可以从中得出四点结论:
1) 您的标识部分段落格式不正确
2) 正如Neil所说,您运行的不是代码段,而是一个没有ID段落的示例。打开sample7.cob并查看
3) 其他一些问题导致了该错误,但它被隐藏或误解为ID段落错误

警告(指区域B)似乎建议您的代码应该从每行的第二列开始。这就是为什么它会发现,例如“识别”而不是“识别”

我从来没有用COBOL开发过,但我模糊地记得第一列必须为空,或者*作为注释:警告消息似乎表明/-和D也是有效值


更新:Google建议COBOL编译器忽略前6列,第7列具有特殊意义(D表示调试,*表示注释,…)。虽然这种行为可能是特定于编译器的。所以我怀疑你的问题是你的代码从第7列开始,应该是第8列

将所有内容移到7列上,以便标识划分从第8列开始,所有后续行从第8列或更大的列开始

还有一个编译器开关(我记不起来了),允许您从第1列开始