OpenCOBOL样本不会编译

时间:2015-09-05 18:20:11

标签: cobol gnucobol

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

2 个答案:

答案 0 :(得分:5)

如果您只使用' *'评论,你需要使用固定形式的Cobol。

这意味着您的所有分区标题将从#8;区域A"开始,从第8-12列开始,而您的显示和停止运行语句将从"区域B"开始,从第12-72栏。

或者您可以使用' *>'将注释更改为自由格式的注释。然后它应该工作。

答案 1 :(得分:3)

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

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

$ SET SOURCEFORMAT"FREE"

变为

>>SOURCE FORMAT IS FREE

并将所有*列的一个评论标记更改为*>。如果您喜欢Vim,那么这些评论修复非常简单

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

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