GB T 4092.2-1992 程序设计语言COBOL 核心模块.pdf
《GB T 4092.2-1992 程序设计语言COBOL 核心模块.pdf》由会员分享,可在线阅读,更多相关《GB T 4092.2-1992 程序设计语言COBOL 核心模块.pdf(77页珍藏版)》请在麦多课文档分享上搜索。
1、中华人民共和国国家标准程序设计语言核心模块发布实施国家技术监督局发布中华人民共和国国家标准程序设计语言核心模块代替国家技术监督局批准实施引言功能在程序四个部的结构中核心模块提供数据内部处理的语言功能同时核心模块还提供定义相邻数据项的表及根据数据项在表中的位置对其进行存取的功能核心模块还提供了排错功能它包括一个编译时间开关和若干排错行级别特征核心级对段和数据描述款提供了局部功能在过程部中核心级对和语句提供了局部功能而对和语句提供了完整的功能核心级在限定数据名的构成和象征常量等方面未提供完整的功能核心级提供功能对维数不超过的定长表的表项进行存取核心级提供的排错功能包括一个编译时间开关和若干排错行核
2、心级在段和数据描述款等方面提供了完整的功能在过程部中核心级对和诸语句提供完整的功能核心级在限定数据名的构成及象征常量等方面提供了完整的功能核心级提供了在多达七维的表中存取表项的功能语言的级别限制字符集在级中不包含字符冒号在级中包含字符冒号名的特征在级中不包含限定除层号和段号外级中所有用户定义字在引用时必须唯一在级中允许有个限定词级中的用户定义字不必是唯一的象征常量在级中可以使用的象征常量是以及在级中可用的象征常量是符号字符字值象征常量以及符号字符下标级中允许出现一个两个或三个下标在级中允许出现一个到七个下标引用修改只有在级中才允许引用修改基准格式在级中不能把一个字数值字值或字符串断开使其一部分
3、出现在续行上在级中可以把一个字或数值字值或字符串断开使其一部分出现在续行上源程序一般描述一个源程序就是一个语法正确的语句的集合组织除了和语句以及程序末端标题以外在源程序中出现的语句款项段和节可以分成四个部它们的顺序如下标识部环境部数据部过程部如果指明的话可以用程序末端标题或者以无附加源程序行来标志一个源程序的结束结构下面给出组成源程序的款项和语句的一般格式及出现的先后次序一般格式标识部环境部数据部过程部程序末端标题语法规则通用术语标识部环境部数据部过程部以及程序末端标题相应地代表标识部环境部数据部过程部以及程序末端标题一般规则由适当的部首来标志程序中一个部的开始由下列三者之一来标志一个部的结束
4、同一程序中下一部的部首程序末端标题其后不再有源程序行的那个物理位置在一个程序序列中除了最后的程序外所有分别编译的源程序都必须由一个程序末端标题终止程序末端标题功能程序末端标题标志着一个命名的源程序的结束一般格式程序名语法规则程序名必须符合用户定义字的构造规则程序名要和前面程序设计段中说明的程序名一致见段一般规则程序末端标题标志指定的源程序的结束在由程序末端标题终止的程序之后出现的下一个源语句如果是语句则它必定是另一程序的标识部的部首且该程序和由程序末端标题终止的程序两者是分别编译的核心模块的标识部一般描述标识部用于标识程序每一个源程序都一定要包含有标识部此外用户还可以包括程序的编写日期和一些希
5、望的其他信息这些信息应按下面给出的一般格式放在节的下面组织段首指明包含在该段中的信息种类程序名必须在第一段即在段中给出其他各段都是任选的且在用户选用时它们可以包含在这一部中并应按后面一般格式中所指出的次序给出来段段段段以及段在标准的这一版本中是过时成分因为在标准的以后的修改版中要把它们删掉结构下面是标识部中各段的一般格式并且规定了它们在源程序中的书写次序和中定义了段和段虽然其他各段没有定义但其一般格式都按相同的方式构成一般格式程序名注解款注解款注解款注解款注解款语法规则注解款可以是计算机字符集中字符的任意组合不允许使用写在指示符区中的连字符来连接注解款然而注解款却可以分布在一行或几行上段功能段
6、给出标识程序的名一般格式程序名语法规则程序名必须遵守用户自定义字的构成规则一般规则程序名用来标识源程序目标程序以及从属于一个特定程序的所有印单段功能段在源程序印单的标识部中提供编译日期在标准的这一版本中视段是过时成分因为在标准的以后的修改版中要把它删掉一般格式注解款语法规则注解款可以是计算机字符集中字符的任意组合不允许使用写在指示符区的连字符来连接注解款但注解款却可分布在一行或几行上一般规则在程序编译时段名引起插入当前日期如果在程序中出现段则在编译时便用形如当前日期的段来取代它核心模块的环境部一般描述环境部给出了一种标准的方法用来描述数据处理问题中依赖于特定计算机的物理特性的那些方面环境部在源
7、程序中是任选的配置节配置节位于源程序的环境部中配置节涉及到源计算机和目标计算机的特性本章还提供一种方法来指定货币符选择十进制小数点指明符号字符把实现名与用户定义的助忆名对应起来把字母表名与字符集或对比序列对应起来还把类别名与字符集对应起来在源程序的环境部中配置节是任选的配置节的一般格式如下源计算机描述款目标计算机描述款专用名描述款直接或间接地包含在另一程序中的程序不能出现配置节一个程序的配置节中显式或稳式地说明的款项对该程序所包含的其他程序也一样适用段功能段提供一种描述源程序在其上编译的计算机的手段一般格式计算机名语法规则计算机名是系统名一般规则在程序中段中显式或隐式说明的所有子句适用于该程序
8、及其所包含的任何程序如果没有给出段且程序没有包含在有段的程序之中那么源计算机就是在其上编译源程序的那台计算机如果给出段但未给出源计算机描述款那么源计算机就是在其上编译源程序的那台计算机程序中如果给出子句就按照核心的描述中所指明的那样对所有的排错行进行编译见第章核心模块中的排错如果程序中没有给出子句并且该程序没有包含在一个有子句的程序中就把所有的排错行当作注解行来编译段功能段用来标识目标程序在其上执行的计算机在标准的这一版本中视子句是过时成分因为在标准的以后的修改版中要把它删掉一般格式计算机名整数字母表名语法规则计算机名是系统名一般规则计算机名可以提供标识设备配置的手段在这种情形中由每一个实现者
9、指明计算机名及其隐含的配置配置的规定包含关于内存大小的特定信息如果用户指出的子集小于运行这个目标程序所需的最小配置则实现者就要定义应该做什么动作程序中显式或隐式给出的段中所有子句都适用于该程序及包含在其中的任何程序如果程序中未给出段且该程序没有包含在有段的程序之中则由实现者定义目标计算机如果给出了段但未给出目标计算机描述款则由实现者定义目标计算机如果指明了子句则程序对比序列就是该子句中所指明的与字母表名相关的对比序列如果未指明子句则程序对比序列使用本原对比序列在段中建立的程序对比序列被用来确定任何非数值比较的逻辑值这些比较是在关系条件中显式指明的见关系条件在条件名条件中显示指明的见条件名条件条
10、件变量在报表描述款中由子句隐式指明的见报表编制模块子句在段中建立的程序对比序列适用于任何非数值的合并或排序键但当分别指明了各或语句的短语时却除外见排序合并模块语句和语句段功能段提供了一种手段使得能够指明货币符选择十进制小数点指明符号字符把实现名与用户自定义的助忆名关联起来把字母表名与字符集或对比序列关联起来并把类别名与字符集关联起来一般格式实现名助忆名条件名条件名助忆名条件名条件名条件名条件名条件名条件名字母表名实现名字值字值字值符号字符整数字母表名类别名字值字值字值语法规则如果实现名引用了一个外部开关则与此相关联的助忆名只能在语句中指明如果实现名没有引用外部开关则与此相关联的助忆名只能在或语
11、句中指明条件名不能与这样的实现名相关联如果指明了子句的字值短语则在该子句中给定的字符不能指明一次以上在子句的字值短语中指明的字值如果是数值的则必须是无正负号整数且必须在到本原字符集中的最大字符个数之间如果是非数值的且和或短语有关则每个字值都是一个字符字值字值字值字值字值都不能是符号字符象征常量和两单词是等价的同样的符号字符只能在子句中出现一次每个符号字符与整数的对应关系是由它们出现在子句中的位置决定的第一个符号字符对应于第一个整数第二个符号字符对应于第二个整数依此类推符号字符与整数的出现呈一一对应的关系由整数指明的顺序位置必须存在于本原字符集中如果给出了短语则位置必须存在于由字母表名所指明的字
12、符集中由字值短语指明的字值如果是数值的则必须是无正负号整数且必须在到本原字符集中的最大字符个数之间如果是非数值的且与短语有关则每个字值都是一个字符字值不能是象征常量一般规则在段中出现的所有子句都适用于被包含在程序中的程序任一被包含程序都能引用包含程序中段所定义的条件名如果实现名是一个外部开关则用条件名来指出开关的开状态和或闭状态通过检测条件名来询问该开关的状态见开关状态条件如果实现名是一个外部开关则该开关的状态可以由格式的语句改变在这个语句中与开关有关的助忆名是作为运算对象定义的见语句实现名指出可以由语句引用的外部开关子句提供了一种手段使一个名能与指定的字符编码集和或对比序列建立起一种联系当字
13、母表名在子句见段或在或语句的短语中引用时子句就指出了一个对比序列当文卷描述款的子句或子句引用字母表名时子句就指明一个字符编码集见中子句如果指明了短语则所标识的字符编码集或对比序列便是中国国家标准信息处理信息交换用七位编码字符集如果指明了短语则所标识的字符编码集就是在国际标准信息处理交换用的七位编码字符集中定义的基准字符集标准字符集中每个字符都与本原字符集中相应的字符相联系由实现者定义标准字符集和本原字符集的对应关系但在这两字符集之间不存在另外定义的对应关系如果指明了短路则采用本原字符编码集或本原对比序列如果指明了实现名短语则所标识的字符编码集或对比序列是由实现者规定的实现者还要规定实现名所指定
14、的字符编码集中的字符与本原字符集中的字符之间的对应关系如果指明字值短语则不能在子句中引用字母表名见顺序模块子句所标识的对比序列是按下述规则定义的对每一个字值的值而言如果是数值字值则它指明了本原字符集中字符的序号这个值一定不能超过本原字符集中字符的个数如果是非数值字值则它指明了本原字符集中的实在字符如果非数值字值的值包含多个字符则对字值中由最左字符开始的每一个字符在指定的对比序列中指派一串依次递增的位置在子句中字值出现的次序递增顺序指明了对比序列中字符的序号本原对比序列中的任何字符如果没有在字值短语中显式指明则它们在指定的对比序列中所处的位置被认为是大于显式指明的任何字符的位置所有未指明的字符的
15、相对次序均按本原对比序列的次序保持不变如果指明了短语则对本原字符集中从字值的值指明的那个字符开始到字值的值指明的那个字符结束的一串邻接的字符在指定的对比序列中指派依次递增的位置此外由给定的短语指明的一串邻接的字符可以按递增或递减的顺序指明本原子符集中的字符如果指明了短语则对由字值和字值所指明的本原字符集中的字符在指定的对比序列中或在用作表示数据的字符编码集中指派相同次序的位置如果子句中引用了字母表名则只用字值来表示本原字符集中的字符在指定的程序对比序列中具有最高序位的字符联系以象征常量只要该象征常量不是在段中指明的字值就行如果在程序对比序列中有几个具有最高序位的字符则所指明的最末一个字符联系以
16、象征常量在指定的程序对比序列中具有最低序位的字符联系以象征常量只要该象征常量不是在段中指明的字值就行如果在程序对比序列中有几个具有最低序位的字符则所指明的第一个字符联系以象征常量如果象征常量和是出现在段中的字值则它们分别与本原对比序列中具有最高和最低序位的字符相对应如果未指明短语则符号字符所代表的字符在本原字符集中的序位由整数指定如果指明了短语则整数给出了字符在字母表名所指明的字符集中的序位符号字符的内部表示就是本原字符集中字符的内部表示子句提供一种手段把一个名与该子句中指定的字符集联系起来类别名只能在类别条件中引用由该子句中字值的值所指定的字符定义了类别名所组成的唯一的字符集对每一字值的值而
17、言如果是数值的则其值表示字符在本原字符集中的序号这个值不能超过本原字符集中的字符个数如果是非数值的则其值表示本原字符集中的实际字符如果非数值字值包含几个字符则字值中的每个字符都包含在类别名所指定的字符集中如果给出了短语则在本原字符集中从字值指定的字符到字值指定的字符之间的相邻接的字符都包含在类别名所指定的字符集中此外由给定的短语所指定的相邻字符能以升序或降序表示本原字符集中的字符出现在子句中的字值在子句中表示货币符号该字值必须是非数值型且限于单个字符它可以是计算机字符集中任一字符但不能是下列字符之一数字到大写字母小写字母到或空格专用字符如果未出现这个子句则在子句中使用的只是字符集中定义的货币符
18、子句的含义是在子句字符串和数值字值中逗号与句号的作用互换核心模块的数据部一般描述数据部对目标程序中处理的数据进行描述源程序中数据部是任选的工作存储节工作存储节位于源程序的数据部该节描述了不组成数据文卷的那些记录和下属数据项工作存储节由节首后跟记录描述款和或独立数据描述款组成工作存储节的一般格式如下层描述款记录描述款工作存储独立项在工作存储节中彼此不发生层次关系的数据项和常数它们又不需细分时则没有必要把它们组合成记录而把它们归类并定义为独立初等项每一个这样的数据项在以专用层号开始的分开的数据描述款中定义在每一个数据描述款中都要求有下列数据子句层号数据名子句或子句其他的数据描述子句都是任选的如有必
19、要可用这些子句使数据项的描述更加完整工作存储记录在工作存储节中彼此间有确定层次关系的数据元素一定要根据记录描述的构成规则组合成记录工作存储节中彼此不发生层次关系的数据元素可被描述成单个初等项组成的记录文卷节中用于记录描述的所有子句都可以用在工作存储节的记录描述中记录描述款结构记录描述款由一组数据描述款组成这组数据描述款给出了特定记录的特性每个数据描述款包括一个层号后跟数据名或子句如果指定的话后面还会出现一系列所需的独立子句记录描述款具有层次结构因此根据某一款项是否跟有下属项而使该款项中的子句变化很大在层的概念以及数据描述款中解释了记录描述的结构和记录描述款中允许出现的成分初值除了索引数据项以外
20、工作存储节中任一数据项的初值都是通过该数据项相关的子句来提供索引数据项的初值以及没有子句的数据项的初值都是未定义的数据描述款功能数据描述款指明一个特定数据项的特征一般格式格式层号数据名数据名字符串整数数据名位标名整数整数数据名数据名位标名字值格式数据名数据名数据名格式条件名字值字值语法规则格式中的层号可以是的任一数或者是在格式中如果指定了数据名或子句则它们必须紧接在层号之后如果指定了子句则它必须紧接在所指明的数据名子句或子句之后在其他情况下子句必须紧接在层号之后其他各子句可以按任何次序书写对每一初等项都须指明一个子句但位标数据项和子句中的主项却除外对这两者来说不允许使用子句字和是等价的一般规则
21、只有初等数据项才可以指明和子句格式用于每一个条件名每一个条件名都要求单独一个层号为的描述款格式包含条件名以及和这个条件名相关的一个值多个值或一个值域一个特定条件变量的各个条件名描述款都必须紧接在和这个条件名相关的数据项描述款之后一个条件名可以和包含一个层号的数据描述款相关但下列情形除外另一个条件名层号为的数据项含有或不是子句描述的数据项组位标数据项从属于任一给定层指示符的多重层描述款隐式地表示对同一区域的再定义而从属于报表描述款的层指示符的多重层描述款则无此含义子句功能子句的作用是当一个数据项的值为零时把该数据项置为空白一般格式语法规则子句只能用于初等项而且其子句应指明为数值型或数值编辑型见子
22、句子句所适用的数值型或数值编辑型数据描述款必须以隐式或显式的方式描述为一般规则在使用子句时如果数据项的值为零则这个数据项只能包含空格如果子句用于是数值型的数据项时就把这个数据项看作是数值编辑型的子句功能数据名指明要描述之数据项的名基字可用于指明一个不被显式引用的数据项一般格式数据名语法规则在文卷描述工作存储通信和连接节中如果数据名或基字二者之一被指明则在每一个数据描述款中它们必须是跟在层号之后的第一个字一般规则如果本子句缺省则把要描述的数据项当作数据项来处理基字可以用来命名一个数据项在任何情形都不允许显式引用数据项然而基字可以用作条件变量这是因为这种使用并不需要显式引用数据项本身而只是引用它的
23、值子句功能子句指明接收数据项中数据的非标准定位一般格式语法规则子句只能在初等项这一层上使用是的缩写对于描述为数值型或指明编辑要求的任何数据项都不能使用子句对位标数据项不能使用子句一般规则当接收数据项用子句描述且发送数据项长度大于接收数据项长度时则截去最左边的多余字符当接受数据项用子句描述且其长度大于发送数据项长度时则数据按数据项的最右字符位置对齐且用空格填满最左端的空余字符位置当子句略去时则对初等项采用对齐的标准规则层号功能层号表示逻辑记录层次结构中数据项的位置此外它还用以标识工作存储数据项连接项条件名和子句的描述款一般格式层号语法规则在每一个数据描述款中层号必须是它的第一个成分隶属于或的数据
24、描述款的层号必须是到中的数或是或工作存储节及连接节中的数据描述款的层号必须是中的数或是或是一般规则在每个记录描述中层号用来标识其第一个描述款对某些描述款指派了一些专门的层号但是已经失去了层的真实含义层号用以标识独立的工作存储数据项独立的连接数据项且只能按照数据描述款的格式来使用见数据描述款层号用以标识数据描述款且只能按照数据描述款的格式来使用见数据描述款层号指派给这样的描述款它定义与条件变量相关的条件名且只能按照数据描述款的格式来使用见数据描述款对于报表描述款的隶属于层指示符以外的任何给定层指示符的多个层描述款表示同一存区的隐式重定义子句功能子句使重复的数据项不必进行重复描述并且为下标应用提供
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GB 4092.2 1992 程序设计语言 COBOL 核心 模块
