cobol - OpenCOBOL 入门! ("Hello world!")

标签 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 行(“停止运行”)。但是,为什么?

最佳答案

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

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

您可以让 COBOL 程序遵循传统的固定列开始/结束,您可以将 >>SOURCE FORMAT IS FREE 放在程序的第一行第 12 列中。然后,您可以在不引用列号的情况下进行编码。

如果使用列号,则第 1-6 列不用于代码,第七列用于注释、调试或新页标记,或者在极少数情况下用于继续无法放入上一行的文字。

代码然后从第 8-11 列(也称为“区域 a”)或第 12-71 列(“区域 b”)开始。

除了在段落/节名称之前和程序结束之前结束 PROCEDURE DIVISION 标题之外,在 PROCEDURE DIVISION 中不需要句号/句点。在遥远的过去,您曾经需要大量句号/句号,但很多年都不需要(尽管许多人仍在编写它们)。

如果您向下滚动链接到的讨论,则会看到您对其他答案的评论以及 NealB 对您的问题的评论:

I have used Notepad++ for a lot of my own coding. You can set the EOL to use UNIX instead of windows or UTF encoding. This will also resolve EOF issues. Also, you will need to ensure you set "Use Spaces" when tabbing. cobc has an issue when tabs are used from windows editors.

总而言之,您正在使用 Windows、选项卡和 OpenCOBOL 版本,该版本不喜欢源代码中的选项卡。要使其正常工作,您需要直接执行两件事,并且您可能希望在方便时获取最新版本的 GNU COBOL。

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

关于cobol - OpenCOBOL 入门! ("Hello world!"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21413834/

相关文章:

java - 如何为 Cobol copybook 生成 java~jrecord 代码

Cobol - 未找到备用 key

java - 是否存在一种在 COBOL 中标准化的 Java 互操作形式?

antlr4 - Cobol - 解析 cobol 程序中的组项

cobol - COBOL 中的命令等待?

cobol - 使用翻译 API 将 Cobol 或 gnucobol 转换为其他语言

cobol - 将文件转换为显示格式的通用过程

node.js - 如何压缩十进制存储值。如何为变量类型PIC S9(09)V99 COMP-3的压缩十进制编写 Node js逻辑

cobol - Ubuntu GnuCobol CURRENCY SIGN IS "£"导致编译错误

cobol - OpenCOBOL 示例无法编译