GB/T 4092.1-1992
标准分类号
标准ICS号:信息技术、办公机械设备>>35.060信息技术用语言
中标分类号:电子元器件与信息技术>>信息处理技术>>L74程序语言
相关单位信息
首发日期:1983-12-26
复审日期:2004-10-14
起草单位:南京大学
归口单位:全国信息技术标准化技术委员会
发布部门:国家技术监督局
主管部门:国家标准化管理委员会
标准简介
GB/T 4092.1-1992 程序设计语言 COBOL 预备知识 GB/T4092.1-1992 标准下载解压密码:www.bzxz.net
标准内容
1总则
中华人民共和国国家标准
程序设计语言COBOL
预备知识
Programming language COBOL
Introductory information
1.1主题内容与适用范围
GB/T 4092.1—92
代GB 4092.183
本标准规定了COBOL程序的彤式及其解释。它的目的是在这样的程序中提高和机器尤关的程度,以便在各种自动数据处理系统中均可使用它们。1.2语言功能表述的结构
本标准中COBOL功能表述的组织基于功能处理模块概念。本系列标准定义了如下11个功能处理模块:核心、顺序I-O、相对I-0、索引1-0.程序间的通信、排序-合并、源正文管理、报表编制、通信、排错和程序分段。其中九个模块分为1级成分和2级成分。同一模块的1级放分是2级成分的子集。另外两个模块仅包含1级成分。
核心模块包COBOL程序四个部的基本结构中内部数据处理所需的语言成分。核心模块分成两级:核心1级提供执行基本内部操作所需的成分,即各种子句和动词的较基本的任选成分,核心2级提供更广泛和更完善的内部处理能力。顺序1-0模块包含定义和存取顺序组织文卷所需的语言成分。该模块分成两级:1级提供定义和存取顺序文卷的基本设施所需的成分:2级提供定义和存取顾序文卷的完备设施。相对I-0模块包含定义和存取海量存储文卷所需的讲言成分,在海量存储文卷中,记录用相对记录号来标识!相对1-O模块分成两级:1级提供定义和存取相对文卷的基本设施所需的成分;2级提供更完备的设施,包括在同C(>BC)L程序单既可以顺序又可以随机地存取文卷的能力。索引I-0模块包含定义和存取海存储文卷所需的语言成分,在海量存储文卷中,记录用键值来标识并通过索引来存取。索引I-0模块分成两级:1级提供定义和存取索引文卷的基本设施所需的成分:2级提供更完备的设施,包括选择键和在一 COBOL 程序里既可顺序又可随机地存取文卷的能力。
程序间的通信模块包含这样的语言成分,它使个程序能与另个或多个其它程序进行通信。该模块分成两级:1级提供了把控制转向到另一个编译时已知的程序的能力,以及两个程序都能存取某一个公共数据项的能力;2级提供了把控制转向到编评时未被标识的程序的能力以及嵌套在其它程序里的能力。
排序-合并模块含有:个或多个文卷的排序所需的语言成分。还包含两个或多个相同顺序文卷的合并所需的语言成分。用产可以任意选择地利用输入或输出过程把某些特殊的处理应用到每个个别记录上。排序-合并模块仅含有1级成分。源正文管理模块含有这样的语言成分,它们是把源程序正文的入和替换作为源程序编译的一部分而需要的成分。该模块分成两级:1级提供把正文从单个库拷贝到源程序的设施12级提供在拷贝处理国家技术监督局1992-08-04批准1993-05-01实施
GB/T4092.1—92
期间替换库止文,在编译时指定多于一个的COBOL库和替代源程序正文的能力。报表编制模块含有半自动产生报表所需的语言成分。该模块仅包含1级成分。通信模块含有存取、处理、和创建消息或其消息段所需的语言成分,以及通过消息控制系统与通信设备通信所需的语言成分.该模块分成两级:1级提供发送或接收完整消息的基本设施:2级提供更完善的设施,包括发送或接收消息段的能力。排错模块使用户能指出他的排错算法,即指出在程序执行期间监规数据或过程项的条件。该模块分成两级:1级提供基本排错能力,包括指明选定的或全段的监视能力;2级提供完备的COBOL排错能力。
程序分段模块提供过程部各节在目标运行时进行覆盖的能力。该模块分成两级:1级提供节的程序段号和固定的程序段限;2级增加了改变程序段限的能力。3标准的组织
本系列标准由12个标准和4个附录组成。GB/T4092.1一92由引言、模块成分表、COBOL部成分表,概念、词汇,语言总论和语言组成的构架所组成。GB/T4092.2~4092.12—92详细表述了核心模块和其它功能处理模块。在每个标准里,仅属2级的功能表述括在方框内。1.4标准的使用法
可从不同角度来查阅本系列标准。除了目次外,模块成分表和COBOL部的成分表也可用作对本标准的检索。
为厂确定模块中任何一级的内容,应使用GB/T4092.1一92中的模块成分表,该表包含给定模块中国家标准(COHOL的每个成分的细目。例如,为了弄清顾序IO模块1级的内容,就要在模块成分表里查阅那个模块(见GB/T4092.1—92顺序1-0模块的成分)。在那里可以找到张关于顺序I-()模块的COBOL成分表,其中包括语吉总论、环境部款、数据部数和过程部的动词。为了确定特定的语亢特征出现在哪个模块和模块的哪一级,应使用GB/T4092.1一92中的COBOL部的成分表,该表详细指明国家标准COBOL的全部成分及它们在各模块中的出现。对于那些不完全包含在一级中的成分详细指出每个子成分的位置。例如,READ语句出现顺序I-O模块,相对J-O模块和索引1-O模块的1级里。由于READ语句的某些短语仅出现在这些模块的2级中,因此分别列出READ语句的子成分<见GB/T4092.1—92过程部成分的READ语句)。表1
必需棋块(子集需要)
程序间
2NUC1.22SEQ12
2REL1.2 2INX1.2
2IPC1,2
INUIC1.2 1SEQ1.2
JINX1,2
[1NUC1.21SEQI,2
HPC1,2
排序-
源正文
ISRTI,
任选棋块(子集不需要)
2SEG1,2
2COM1,22EBI.2
1SRTI,1ISTMI.2IRPWI,1
ICOMI,2| 1DEB1.2
表1构成国家标准COBOL内容的11个功能处理模块的图解表示。该表给出每个功能处理模块内各级的层次。表内简写记号(例如21NX1,2)指明功能模块中的级位暨以及模块分级数且。这种简写记号从左到右由指明级位置的一个数字、一个三个字母的模块缩写和指明所属模快最低级和最高级的两个数字组成。例如:2INX1,2表示这一级是索引I-0模块的第2个非宰级(2级),该模块包含两个非空级(1级和2级)。
三个字母的模块缩写如下:
顺序1-0
相对 1-0
索引I-0
程序间通信
排序-合并
源正文管理
报表编制
程序分段
1.5国家标准C)BOT.实现的定义
GB/T4092.1—92
本条提供组成国家标准COBOL的语言特征的定义。国家标准COBOL由11个模块组成,7个是必需的而1个是任选的。下面给出为了使基实现与国家标准COBOL相符而必须满足的准则。1.5.1子集定义
国家标准COBOL分三级:高子集、中子集、低子集。每个子集由七个必需模块的某一级组成。这七个模块是:核心,顺序I-O、相对I-O、索引I-O,程序间的通信、排序-合并和源正文管理。根据面的示意图,国家标准COBOL的子集在必需模块列里用三个横行之一表示。在这三个子集里并不必有任选的四个模块(报表编制,通信、排错、和程序分段)。·高了集由全部必需模块的最高级的所有语言成分组成,就是核心、顺序1-0、相对I-0、索引1-0、程序间的通信和源正文管理的2级成分,排序-合并的1级成分;
·中子巢由全部必需模块的1级的所有语言成分组成,就是:核心,顺序 I-0,相对 I-0、索引 I-0,程序间的通信、排序-合并和源正文管理的 1 级成分·低子集由核心、顺序I-0和程序间的通信的1级语言成分组成。1.5.2.符合实现的定义
国家标准COBOL的符合实现必须完全支撑上面1.5.1条中定义的个子集中的任何一个,而且可以包括金部任选模块的各级或包括一部分任选模块的基些级或根本就不包括任选模块。国家标COBOL的给定子集的符合实现必须完全支撑那个子集的所有语言成分,除了1.5.2.5条限定的以外。国家标准COBOL的某任选模块的绘定级的符合实现必须完全支撑该任选模块的那个级的全部语言成分,除了1.5.2.5条限定的以外。进一步说,任何实现还必须满足1.5.2.1~1.5.2.4条的要求。1.5.2.1替代或附加的语言成分
实现不能在源程序中包含一些替代或附的语言成分,这些成分企图完成与国家标准COBOL语言之某成分相同的功能。另外,在整个国家标准COBOL功能表述中,存在一些语言成分其语法或功能可以部分地由实现者定义[见附录B(参考件)B2 实现者定义的语言成分表]。对于国家标准COBOL中规定的可以由实现者定义其语法和规则的那一部分语言成分,当实现者指出某些限制时,则这种限制不能要求在源程序巾含替代的或附加的语言成分。1.5.2.2标雅语言成分的接受
慢如一个模块被包含在其实现中的话,那么除那些在1.5.2.5.1条中指出的与特定梗部件有关的语言减分外,该实现必须接受该模块中给定级惠规定的全部标准语言成分的语法并提供其功能。如果某个实现不是完全按本标雅语言规定的语法来实现某个模块某一级的成分,那么该实现必须提供本标准中有关那个语法所规定的功能或者必须把那些语言成分标识为非标准的扩充(见1.5.2.5.2条)。1.5.2.3过时的语言成分
GB/T 4092.192
过时的语言成分在国家标准COBOLB(参考件)中被标识为这样的语言成分,它们将在本标准的以后的修定版本中删除L见附录B(参考件)B1 过时的语言成分表]. 过时的语言成分在制订本版本时既不增加也不修改在国家标准GB4092一83中的定义。过时语言成分与其方语言成分之间的相互作是无定义的,除非在国家标准COBOL中别处有规定国家标摊COBOL的符合实现需要支撑这些过时的语言成分,它们出现在该实现所声明的任选模块的诸级及子集中。与其实现相关的文档必须标识该实现中全部的过时的语言成分。国家标准()R()I的符台实现必须提供警告机制,用户在编译时可以任选地引用他们以便指出,如果适当的话,程序包括过时语言成分。
1.5.2.4外部提供的功能
在某个实现中,对本标准一个模块中的语言成分所规定的功能:假如想在源程序之外被提供,那么该实现一定不能用外部功能的功能表述来替代本标准的语言成分,也不能在本标准语言成分之外再加外部功能。
但为广与操作环境接口.该实现可以请求源程序之外的功能表述来支撑源程序中规定的功能。1.5.2.5限定
下面的限定应用于国家标准COBOL的功能表述的实现。:1.5.2.5.1依赖硬件的语言成分存在某些语言成分,它们与特定的硬部件类型有关系「见附录B参考件)B3依赖硬件的语言成分表工。为了使某实现满足本标准的要求,该实现必须规定它支摔的硬部件。进而,当一个特定的硬部件被要求支撑,而且与该部件相关的所有语言成分所处的模块又包含在实现中时,则所有这些语言成分都必须实现。而对丁和未被要求支撑的硬部件相关的语言成分就不必实现。然而必须指出国家标准()B()I实现中缺少的那些语言成分。
1.5.2.5.2扩充语言成分
-个实现如果包含除了集及要求支撑的任选模块的诸级以外的语言成分,这种实现仍然是满足本标准要求的。即使实现者可以扩充保留宁表,而且还会影响到满足本标准要求的程序的正常编译,也认为是正确的。
与实现有关的文档必须标出在该实现中包含的标准扩充(在被支撑的子集或被支撑的任选模块的诸级中没有定义,但在本标准的别处有定义的语言成分)或非标准扩充(本标准中末定义的语言成分或功能)。
本标准的符合实现必须提供警告机制,用户在编译时可以任选地引用它们,以便指出,如果适当的:话,程序中包含实现中包括的非标准扩充。1.5.2.5.3保留字
本系列标准的实现必须把7个必需的和4个任选的模块中出现的全部COBOL保留字作为保留字。
1.5.2.5.4字符替代
在本标准的5.2条中定义的COBOI.字符集代表木标准的完全的COBOL字符集。当交现对全部COBOL字符集不提供图形表示时,实现者可以规定替代图形以便代替不能表示的字符。1.5.2.5.5ENTER语句
本标准的实现可以包含也可以不包含ENTER语句,这由实现者决定。1. 6 符合源程序的定义
符合源程序是这样的程序,即它不明显违背本标准所述的条款和功能表述,为了使源程序与本标准相符,它一定不能包含本标准中没有指明的任何语言成分。与本标准相符的源正文(程序)的运行在本标准定义范制内是可预测的。除非在本标准别处被指明,否则违反本标准的格式或规则的结果是无定义的。
GB/T 4092. 1-92
为了使源程序与本标准规定的子集相符,它必须仅包含那个子集的语言成分。在国家标准 COBOL 中存在这样的情况,即执行一个语句的结果是无定义的或不确定的[见附录B(参考件)B4无定义语言成分表]。虽然运行结果不由国家标准COBOL定义,但允许该情况发生的COROI源程序仍然算是一个符合程序。1.7·符合程序与符合实现的关系由符合实现来编译符合源程序并继而运行其目标程序,这一点仅在国家标准COBOI.的规定范围内被定义。然而,这并不意味程序一定会成功地编译或运行,因为这与其他因素有关,例如使用实现者定义的语言成分,程序的逻辑正确性和程序在其上操作的数据,一般而言,有些问题并未在国家标准COBOL的功能表述中指出来,诸如:一个程序中所含语句的最大数日:某些语句中运算对象的最大数目等。本标准认为这些界限可随实现的不同而不同,但它可能影响满足本标准的程序的成功编译。2模块成分表
2.1一般描述
本章包括按功能处理模块继织的国家标准COBOL中全部成分一览表。列标题“1级\指明该模块的1级成分。列标题\2级\指明该模块的2级成分。列中字母X指示该模块指定级中的指定成分是出现的。字母N是指示该模块指定级中的指定成分是缺少的。列中字母Z指示该模块指定级中的指定成分是出现的,但该成分在国家标准COBOL的本次版本中臧过时成分,因为在国家标准COBOL的以后的版本中将被测除,下面是模块成分一览表,共有
·核心模块成分表
·顺序 I-0模块成分表
·相对 I-0 模块成分表
·索引I-0模块成分表
·程序间通信模块成分表
·排序-合并模块成分表
·源正文管理模块成分表
·报表编制模块成分表
·通信模块成分表
·排错模块成分表
·程序分段模块戒分表
2.2核心
语言概念
字符集
组成字的字符
A,B,**,Z
二(连字符)
1级2级
用作标点符号的字符
*引号
(左括号
:分号
用作标点号的字符
(置号)
用于编辑的字符
B空格
+ 正号
:句号
零抑制
数值保护
货币符
CR 贷方
DB借方
用于算术算的字符
**乘幂
用于关系条件的字符
=等于
GB/T 4092.1-92
》一大于或等于
<=小于或等于
用于下标的字符
允许的单字符置换
允许的双字符置换
分隔符
字符串
COBOL 字
不多于30个字符
用户自定义的字
字母表名
类别名
条件名
数据名
位标名
助忆名
程序名此内容来自标准下载网
例行程序名
特号字符
系统名
计算机名
GB/T 4092. 1-92
1级2级
实现名
语告名
保留字
必需字
特定字符字
算术运算符
GB/T 4092-1—92
用于下标的算术运算符
关系字符
任选字
特定目标字
象征常量
ZERO,ZEROS.ZEROES.SPACE,SPACES,HIGH-VALUE. HIGH-VALUES, LOW-VALUE. LOW-YALUFS.OUOTE OUOTES
象征常量
符号字符、ALL字值、ALL象征常量、ALL符号字符字值
数值字值:1到18个数字
非数值字值:1到160个字符
PICTURE字符串
注解款
引用的唯--性
不可限定;如巢引用的话名字必须是雌一的50个限定
3层下标
7层下标
字值下标
1级2级
GB/T 4092.1-92
1级2级
数据名下标
位标名下标
相对下标
引用修改
基准格式
行的接续
非数值字值的接续
COBOI字、数值字值、PICTURE学符串的接续X
空白行
注解行
星号(★)注解行
斜杠(/)注辉行
在指示符域有D的排错行
源程序的结构
必需的标识部
,任选的环境部
任选的数据部
任选的过程部
程序末端标题
标识部
PROGRAM-ID 段
程序名
AUTHOR段
INSTALLATION 段
DATE-WRITTEN 段
DATE-COMPILED 段
SECURITY 段
环境部
配置节
GB/T 4092. 1—92
1级2级
SOURCE-COMPUTER 段
计算机名
WITHDEBUGGING MODE子句
OBJECT-COMPUTER 段
计算机名
MEMORY SIZE子句
PROGRAM COLLATING SEQUENCE 子句x
SPECIALNAMES段
ALPHABET子句
STANDARD-1 任选
STANDARD-2 任选
NATIVE任选
实现名任选
字值任选
CLASS 子句
CURRENCY SIGN 子句
DECIMAL -POINT 子句
实现名子句
IS助忆名任选
ON STATUSIS条件名任选
OFFSTATUSIS条件名任选
SYMBOLICCHARACTERS子句
数据部
工作存储节
记录描述款
77层描述款
数据描述款
BLANK WHEN ZERO 子旬
数据名子句
FILLER 子句
GB/T 4092. 1—92
1级2级
JUSTIFIED子句
层号子句
01到49;1位或2位数字表示
OCCURS子句
整数TIMES
ASCENDING/DESCENDING KEY 子句x
INDEXED BY短语
整数1到整数 2 TIMES DEPENDING ON短语X
PICTURE子句
字符串最大可包含30个字符
数据字符:X 9 A
运算符号:SVP
固定嵌入字符:B+-,,¥0CRDB/X
替换或浮动嵌入字符,¥+二Z★x
货币符号代换
十进小数点代换
REDEFINES子句
不能嵌套
充许嵌套
RENAMES 子旬
SIGN子句
SYNCHRONIZED子句
USAGE子句
BINARY
COMPUTATIONAL
DISPLAY
GB/T4092.1—92
1级2级
PACKED-DECIMAL
VALUE 子句
宇值序列
字值 1THROUGH 字值 2
字值域序列
过程部
算术表达式
双日算术运算符+一*/**
单月算术运算符 十
条件表达式
简单条件
关系条件
关系运算符
[NOT]GREATER THAN
ENOTI?
INOTJ LESS THAN
[NOT] FQUAL TO
「NOT]=
GREATER THAN OR EQUAL TO
LESS THEN OR EQUAL TO
数值运算对象的比较
非数值运算对象的比较
位标名和/或位标数据项的比较
类别条件
NUMERIC
AL.PHABETH
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。