OpenCOBOL 示例无法编译

OpenCOBOL sample won't compile

我 运行 Ubuntu 正在尝试学习 COBOL。我已经涉足了一些在线教程,但与某些程序的结果不一致。

我更喜欢在 bash shell 中使用 vim;引导我使用 OpenCOBOL (cobc)

有没有像样的教程可以教我基础知识?我一直在研究这个。

http://www2.southeastern.edu/Academics/Faculty/kyang/Cmps401/P2Cobol/Resources/Teach%20Yourself%20Cobol%20In%2021%20Days%20%282nd%20Ed%29.pdf

我的问题是,当 运行 某些示例源代码时,编译器 returns 在尝试使用“*”时出错。它说它正在等待文件结束。

这是我的源代码:

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO-WORLD.
ENVIRONMENT DIVISION.
*comment here
DATA DIVISION.
PROCEDURE DIVISION.
        DISPLAY 'HELLO WORLD!'.
        STOP RUN.

这里是命令我是运行:

 cobc -x -free -o helloworld helloworld.cbl

这是返回的错误

helloworld.cbl:4: Error: syntax error, unexpected '*', expecting "end of file"

如果您只使用“*”注释,则需要使用固定形式的 Cobol。

这意味着您的所有除法 headers 将从第 8-12 列的 "Area A" 开始,您的 Display 和 Stop 运行 语句将从 "Area B" 开始, 来自第 12 - 72 列。

或者您可以使用“*>”将评论更改为自由形式,然后它应该可以工作。

最好的在线 COBOL 学习资源之一是由利默里克大学的 Michael Coughlan 提供的。 http://www.csis.ul.ie/cobol/

如果您将编译器指令更改为标准,即使不是所有示例,大多数示例也将适用于 GnuCOBOL。

$ SET SOURCEFORMAT"FREE"

变成

>>SOURCE FORMAT IS FREE

并将所有 * 列第一注释标记更改为 *>。如果你喜欢Vim,那么这些评论修复就很简单了

%s/^\*/\*>/gc

通过这些简单的更改,样本应该可以使用 cobc 编译干净。迈克尔通过网上提供的高级教程编写了最好的初学者之一。 嗯,这是个人意见。