富士通COBOL 3.0

时间:2009-03-29 16:07:02

标签: cobol cobol85

我是Fujitsu COBOL 3.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

3 个答案:

答案 0 :(得分:2)

警告(参考区域B)似乎建议您的代码应该从每行的第二列开始。这就是它找到的原因,例如“DENTIFICATION”而不是“IDENTIFICATION”。

我从未在COBOL中开发过,但我依稀记得第一列必须为空白,或者*为评论:警告消息似乎表明/ - 和D也是有效值。

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

答案 1 :(得分:2)

将所有内容移到7列以上,以便IDENTIFICATION DIVISION在第8列开始,所有后续行在第8列或更高列开始。

还有一个编译器开关(不记得我的头顶),允许你从col 1开始

答案 2 :(得分:0)

在这里采取WAG(疯狂猜测)。从我上大学的那一年开始就没有了。

您的错误消息在底部显示

STATISTICS: HIGHEST SEVERITY CODE=S, PROGRAM UNIT=1

好的,所以我认为你有一些警告(可能是CODE = W),以及一个或多个实际导致程序失败的错误。

所以,扫描错误信息,我看到很多W-s,还有一行带有S:

  

C:\ FSC \ PCOBOL32 \样品\ SAMPLE6 \ SAMPLE7.COB   7:JMN1104I-S PROGRAM-ID PARAGRAPH IS   失踪。由...生成的程序名称   系统

所以你似乎错过了你的Program-ID段落。看看你的程序,我确实看到了一个n识别部门,它有一个程序ID。

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