OpenCOBOL入门! (“你好,世界!”)

时间:2014-01-28 18:28:17

标签: cobol gnucobol

我正在尝试创建一个非常简单的COBOL程序。我已经设置了我的目录,配置等,但是当我去编译它时我得到了这个错误:

sampleCOBOL.cbl: In paragraph 'Main-Paragraph' :
sampleCOBOL.cbl:9: Error: syntax error, unexpected "end of file"

(“sampleCOBOL.cbl”是我的文件名)

这是我的文件包含的内容:

   Identification Division.
   Program-ID. sampleCOBOL.

   Data Division.

   Procedure Division.
   Main-Paragraph.
       Display "Hello World!"
       Stop Run.

我知道错误发生在第9行(“停止运行”。)上。但是,为什么?

4 个答案:

答案 0 :(得分:2)

SourgeForge支持GNU COBOL(以前称为OpenCOBOL)。

从那里,可以回答相同的错误消息:https://sourceforge.net/p/open-cobol/discussion/109660/thread/cdfe04a5/#0996

您可以让COBOL程序服从传统的固定列开始/结束,我们可以将此>>SOURCE FORMAT IS FREE放在程序的第一行第12列。然后,您可以在不参考列号的情况下进行编码。

如果使用列号,第1-6列不用于代码,第7列用于注释,调试或新页面标记,或者很少继续使用不适合上一行的文字。

然后

代码从第8-11列(又名“区域a”)或第12-71列(“区域b”)开始。

除了结束PROCEDURE DIVISION标题,段落/ SECTION名称之前和程序结束之前,您不需要在PROCEDURE DIVISION中设置一个句号。在遥远的过去,你曾经需要很多全停/期间,但多年不需要(虽然许多人仍然编码)。

如果您向下滚动链接讨论,请查看您对其他答案的评论和NealB对您的问题的评论:

  

我使用Notepad ++进行了很多自己的编码。您可以设置EOL   使用UNIX而不是Windows或UTF编码。这也将解决   EOF问题。此外,您需要确保在何时设置“使用空间”   Tab键。从Windows编辑器中使用选项卡时,cobc会出现问题。

将它们放在一起,您使用的是Windows,标签页以及不喜欢源标签的OpenCOBOL版本。你有两件事要做才能让它正常工作,你可能希望在方便的时候获得最新版本的GNU COBOL。

我建议你去http://sourceforge.net/p/open-cobol/discussion/2526793/。如果您没有SourceForge帐户,请加入,或者如果您有帐户,请加入,并在Help getting started中发帖。那里有人使用Windows(我没有)应该能够提供帮助。登录/加入的原因是,否则您将等待数小时首先“审核”您的问题,并且您将显示为“匿名”。

答案 1 :(得分:2)

弄清楚出了什么问题。我在“识别部门”和“程序ID”之间有一条额外的界限。

我不知道我是怎么错过的。

男孩,我觉得自己很蠢。

答案 2 :(得分:0)

IDENTIFICATION的I必须位于第8列(之前7个空格)。

   ---- sampleCOBOL.cob -------------------------
         * Sample COBOL program
          IDENTIFICATION DIVISION.
          PROGRAM-ID. sampleCOBOL.
          PROCEDURE DIVISION.
          DISPLAY "Hello World!".
          STOP RUN.
    ----------------------------------------

答案 3 :(得分:0)

我刚刚开始学习COBOL时遇到了同样的问题。关键是每一行应以CRLF结束。您可以参考here了解如何实现这一目标。