3

我正在运行 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

我的问题是,在运行某些示例源代码时,编译器在尝试使用“*”时会返回错误。它说它期待文件结束。

这是我的源代码:

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"
4

2 回答 2

6

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

这意味着您的所有部门标题都将从第 8-12 列的“区域 A”开始,而您的显示和停止运行语句将从第 12-72 列的“区域 B”开始。

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

于 2015-09-06T13:33:18.483 回答
3

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

如果您将编译器指令更改为标准,那么大多数(如果不是所有)示例都可以与 GnuCOBOL 一起使用。

$ SET SOURCEFORMAT"FREE"

变成

>>SOURCE FORMAT IS FREE

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

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

通过这些简单的更改,示例应该使用 cobc 编译干净。Michael 通过网络上的高级教程编写了最好的初学者之一。 嗯,这是个人意见。

于 2015-09-07T05:02:09.117 回答