最近由于工作需要,必须学习COBOL语言,将学习笔记整理出来,共享一下,希望有助于学习此方面的朋友。难免有错漏之错,望不吝赐教。
1、COBOL简介
COBOL是Common Business-Oriented Language(公用面向商业的语言)的缩写。
COBOL针对商业世界使用,是真正商用应用程序开发的首选语言(过去如此,未来......呵呵)。它自60年代初就开始广泛应用于计算机应用领域(商业和其他领域)。COBOL程序服务于政府、银行、运输系统、制造业及批发系统的日常工作中。
COBOL有许多版本,针对不同机器和操作系统,如大型机上的IBM COBOL和PC机上的Fujitsu与Micro Focus COBOL。
COBOL语法中借用了段、句、词的概念。它比现代编程语言显得更冗长。
COBOL采用了上世纪50年代由Sperry-Rand开发并修订的FLOW-MATIC(被美国空军及一些大公司使用,采用了英语式语法,如ADD、MOVE等,数据名可比较长且带含义,如STAT-TAXES、TOTAL-PAY等)的词法及其三个部分(过程、数据描述、环境)[现已成为COBOL的四个部],还借用IBM COMMERCIAL TRANSLATOR,特别是其PICTURE从句和组项目(组成01、02等表示的层)。
CODASYL委员会将该语言命名为COBOL,表示公用面向商业语言。1959年12月,第一个COBOL规范的最后草案完成。1960年,美国国防部宣布,所有购买的计算机都要包括COBOL编译器。COBOL的硬件无关特性在该语言规范的演变中起了巨大推动作用。
1968年美国标准协会(USASI,后更名为ANSI)批准了X3.4.4(后更名为X3J4)开发的标准,发表号为:X3.23-1968。这个文档定义了COBOL包括内核和八个功能模块:
1. Table Handling
2. Sequential Access
3. Random Access
4. Random Processing
5. Sort
6. Report Writer
7. Segmentation
8. Library
每个模块最多分成三层:高层提供更多功能,低层提供高层的子集。COBOL的基本版本包括内核、表格处理和顺序访问模块的低层功能。完全版本的COBOL应包括所有模块的高层功能。这个ANSI标准即著名的COBOL-68。
1974年对标准进行了修订,8个功能模块扩充至11个:
1. Table Handling
2. Sequential I/O
3. Relative I/O
4. Indexed I/O
5. Sort-Merge
6. Report Writer
7. Segmentation
8. Library
9. Debug
10. Inter-Program Communication
11. Communication
每个模块包括两层或三层。9个模块中,最低层为空集。每个低层都是高层的子集。对于COBOL-68,基本版本应包括内核、表格处理和顺序I/O模块的最低层。(未完待续)