cobol开始使用cobol


备注

COBOL是CO MMON usinessöriented编程大号 anguage。

即使它已成为一个明显的名称,COBOL仍然被标准委员会视为首字母缩略词,COBOL是ISO和INCITS标准机构的首选拼写。

标准规范

目前的规格是

ISO / IEC 1989:2014信息技术 - 编程语言,它们的环境和系统软件接口 - 编程语言COBOL

该文件于2014年5月发布,可从标准机构的各个分支机构购买,正式归属于

http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=51416

主要使用领域

面向商业。这通常意味着交易处理。银行,政府机构和保险业是COBOL应用程序部署的主要领域。 IBM大型机系统通常安装了COBOL编译器。目前有超过300种COBOL方言,大约10种左右的版本占据了大部分的部署。这些编译器大多数都是专有系统,但也可以使用免费软件COBOL。

类别

COBOL是一种程序性的,命令式的,编译的编程语言。从COBOL 2002规范开始,标准中添加了面向对象的功能。

根据设计意图,COBOL是一种非常冗长的编程语言。虽然允许使用代数形式:

COMPUTE I = R * B

最初的意图是使用完整的单词进行计算描述和数据操作:

MULTIPLY INTEREST-RATE BY BALANCE GIVING CURRENT-INTEREST ROUNDED MODE IS NEAREST-EVEN

这个设计决定既有冠军又有批评者。有些人认为它太冗长,而另一些人认为语法允许在商业环境中提高可读性。

十进制数学

COBOL是围绕十进制算术设计的,与大多数使用二进制内部表示的语言不同。 COBOL规范要求进行非常精确的定点十进制计算,这是金融领域一直备受关注的语言方面。 COBOL也允许USAGE BINARY,但倾向于十进制(基数为10)表示。

历史

COBOL可以追溯到20世纪50年代末期,最初的实施发布于1960年。

美国海军少将Grace Hopper经常与COBOL联系,并在发展的早期阶段代表该语言提倡。无论如何,她并不是唯一参与COBOL设计和开发的人,但通常被称为COBOL之母。

由于政府和大公司的早期支持,COBOL已经广泛使用了几十年。它仍然是一些人的骄傲,也是其他人的荆棘,他们认为它已经过时了。事实可能介于这些极端观点之间。当应用于事务处理时,COBOL就在家中。当应用于现代网页屏幕和网络应用程序时,它可能感觉不舒服。

结构体

COBOL程序由四个独立的部门编写。

  • 识别部门
  • 环境部门
  • 数据部门
  • 程序部门

数据描述

COBOL旨在处理十进制数据,允许在分组层次结构中使用基于PICTURE的数据描述。

01 record-group.
   05 balance        pic s9(8)v99.
   05 rate           pic 999v999.
   05 show-balance   pic $Z(7)9.99.

这将balance定义为带符号的八位数值,小数点后面带有两位数。 rate是前三位数,后面是假定小数点后的三位数。 show-balance是一个数字编辑字段,具有一个前导美元符号,七位数(零点抑制),小数点后两位数前面至少有一位数字。

balance可用于计算, show-balance仅用于显示目的,不能用于计算指令。

程序性陈述

COBOL是一种保留的关键字重语言。 MOVE,COMPUTE,MULTIPLY,PERFORM风格的长形式单词构成了大部分标准规格。 COBOL 2014规范中有300多个关键字和47个操作语句。许多编译器实现会为保留字列表添加更多内容。

你好,世界

HELLO * HISTORIC EXAMPLE OF HELLO WORLD IN COBOL
       IDENTIFICATION DIVISION.
       PROGRAM-ID. HELLO.
       PROCEDURE DIVISION.
           DISPLAY "HELLO, WORLD".
           STOP RUN.
 

打卡布局和仅大写输入的日子远远落后。然而,大多数COBOL实现仍然处理相同的代码布局。甚至当前的实现也遵循相同的(通常甚至是大写的)编译和生产。

格式良好的现代实现可能如下所示:

*> Hello, world
identification division.
program-id. hello.

procedure division.
display "Hello, world"
goback.
end program hello.
 

通过COBOL的一些实现,可以缩短为:

display "Hello, world".
 

这种格式通常需要编译时开关才能将COBOL编译器置于宽松的语法模式,因为缺少一些通常必需的DIVISION 语句。

COBOL默认采用FIXED格式源,即使在当前规范中也是如此。

2002年之前的COBOL

区域
1-6 序号区域
7 指标区
8-12 A区
12-72 B区
73-80 程序名称区域

在某些情况下,仍然为此表单配置IBM大型机文本编辑器。

2002年后,进入COBOL 2014,区域A和B合并并扩展到第255列,并删除了程序名称区域。

区域
1-6 序号区域
7 指标区
8- 程序文本区域

第8列通过实现定义的列Margin R ,通常仍然限于第72列,但规范允许运行到第255列。

COBOL 2002引入了FORMAT FREE 源文本。没有序列号区域 ,没有指示区域 ,源线可以是任何长度(最多为实现定义的边际R限制,通常每行少于2048个字符,通常为255)。

但默认情况下,编译器以FORMAT FIXED模式启动。在识别自由格式源之前,通常会有编译开关或编译器指令工具声明。

bbbbbb >>SOURCE FORMAT IS FREE
 

其中bbbbbb 代表6个空格或任何其他字符。 (这些将作为初始默认固定格式模式序列号区域的一部分被忽略。)

在Mac OS X上安装gnu-cobol

gnu-cobol可通过自制软件系统获得。

/Applications/Utilities/Terminal 打开终端窗口或使用按键Command+Space 并键入"Terminal"

如果您没有安装自制程序系统,请通过键入或复制并粘贴到终端中来添加它:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
 

命令完成后,键入:

brew install gnu-cobol
 

就是这样,您现在可以在Mac上编译Cobol程序。