首页 > 国家标准(GB) > GB/T 4092.11-1992 程序设计语言COBOL 排错模块
GB/T 4092.11-1992

基本信息

标准号: GB/T 4092.11-1992

中文名称:程序设计语言COBOL 排错模块

标准类别:国家标准(GB)

英文名称: Programming language COBOL Debug module

标准状态:已作废

发布日期:1992-08-04

实施日期:1993-05-01

出版语种:简体中文

下载格式:.rar.pdf

下载大小:276746

标准分类号

标准ICS号:信息技术、办公机械设备>>35.060信息技术用语言

中标分类号:电子元器件与信息技术>>信息处理技术>>L74程序语言

关联标准

替代情况:GB 4092.11-1983

采标情况:ISO 1989-15-1985,EQV

出版信息

页数:6页

标准价格:36.0 元

相关单位信息

首发日期:1983-12-26

复审日期:2004-10-14

起草单位:南京大学

归口单位:全国信息技术标准化技术委员会

发布部门:国家技术监督局

主管部门:国家标准化管理委员会

标准简介

GB/T 4092.11-1992 程序设计语言COBOL 排错模块 GB/T4092.11-1992 标准下载解压密码:www.bzxz.net

标准图片预览






标准内容

1排错模块引言
中华人民共和国国家标准
程序设计语言COBOL
排错模块
Programming language COBOL
Debug module
GB/T4092.11—92
代替(R4092.1183
1.1功能
排错模块提供了用户描述他的排错算法的方法,这些算法中包含:·些在月标程序运行过程中数据项或过程被监测的条件。
决定监测什么以及在输出设备上显示什么信息由用户显式定义。COLOL功能只是提供了有关信息的方使存取。
在标准COBOI的这一版本中视排错模块是过时成分,因为在标准COBOL的以后的修改版中要把它删掉。
1.2级别特征
1级排错提供基本的排错功能,包括指明选择监测过程的能力。2级排错提供了COBOI.排错的完整功能。1.3语言概念
1.3.1排错特征
支撑排错模快的COBOL语言特征是:编译时的开关-WITHDEBUGGINGMODE子句。a.
目标时的开关。
USEFORDERUGGING语句。
d、特殊存器一DEBUG.ITEM。
1.3.2特殊寄存器—DERUIG-1TEM保留字DFBUGITEM是由支撑排错设施的实现者的代码自动产生的一个特殊寄存器的名字。部个程序只分配一个DEHUJG-ITEM。DEBUG-ITEM中的下属数据项的名字亦为保留字。1.3.3编译时的开关
WITIIDEBUGGINGMODE子句作为SOURCE-COMPUTER段的一部分马出,它用作写在程序中的排错语句的,‘个编译时开关,当在程库中指出WITHDEBUGGINGM)DE子句时,所有的排错节按本标准的本节中指出的样编译。当未指出WIFHDEBUGGINGMODE子句时,所有的排错节作为注解编译。13.4口标时的开关
日标时的开关动态地激活编译程序插入的排错代码。这个开关在程序中不可编址,它是在COBOI环境外受控制的。如果该开关合上,所有写在源程序中的排错语言有效。如:果该并关关上,则描述的所有作用以及USEFORDEBUGGING语句都被抑制。提供和取消这一功能并不需要源程序的重新编国森技术监督局1992-08-04批准1993-05-01实施bzxZ.net
GB/T 4092. 11--92
如果编译时在源程序中未指定WITHDEBUGGINGMODE子句,则月标时的开关对目标程序的热行没有影响。
2排错模块的环境部
2.1WITHDEBCGGINGMODE子句
2.1.1功能
WITHDEBLGGIVGMODE子句指出所有排错节都要编译。如果未指出该子句,则所有排错节就如同是注解行-样缔译。
2.1.2--般格式
SOURCE-COMPUTER.
2.1:3-般规则
[计算机名[WITHDEBUGGINGMODE:」(I)如果在程序的配置节的SOURCE(OMPUTER段中指出了WITHDEBUGGINGMODE了创,卿编译所有的 USF FOR DEBUGGING语句,(2)如果在一个程序的配置节的SOURCE-COMPUTER段中末指出WITEIDEBUGGINGMODE子句,则任何USEFORDEBUGGING语句及所有相关的排错节作为注解行一样编译。3排错模块的过程部
3.1…-般描述
当COBOL源程序中出现排错模块的USEFORDEBLIGGING语句时,过程部中则包含中述过程。下面所示的为当出现USFFO>RDEBUGGING语句时,过程部的·-般格式。PROCEDURE DIVISION
DECIARATIVES
{节名SECTION
USE FOR DEBLGGING 语句.
[段名.
例了- -- .
END DECLARATIVES.
{节名SECTION
二段名,
[句子…
3.2USEFORDEBUGGING话句
3.2.1 功能
USE FOR DEBUGGING 语们标识出将被相应的排错节监测的用户项。3.2.2一般格式
L:SE FOR DFRUGGING ON
cd名i
[ALL REFERENCES OF]标识符1
文卷名1
过程名1
ALL IROCEDURES
3.2.3语法规则
(I)排错节,如果指定的话,必须紧跟在DECLARATIVES首部后起出现,用。
GB/T 4092. 11—92
(2)除在USEFORDEBUGGING语句本身中外在排错节中不可有对其它非中述过程的任何引(3)出现在排错节组外的语句不可引用该排错节组中定义的过程名。(4)除USEFORDEBUGGING语句本身外,出现在某-给定排错节中的语句只可引用在不同的仅用IERIORM语句的USE过程中定义的过程名。(5)排错节中定义的过程名不可出现在USEFORDEBUGGING语句中。(6)任一给定的标识符,cd名、文卷名或过程名只可出现在一个USEFORDEBUGGING语句中并且在该语句中也只能出现一次。(7)ALLPROCEDURES短语在一个程序中只可出现一次。(8)当指出了AI.I.PROCEDURES短语时,在任何USEFORDEBUGGING语句中都不可指定过程名1。
(9)标识符1不可调用报表节中定义的除求和计数器以外的任何数据项。(10)如果标识符1引用的数据项的数据描述款包含OCCURS子句或者下属包含OCCLIRS子句的数据描述款,则标识符1必须指定为不带通常所需的下标或位标的形式。(11)对专用寄存器IDEBUG-ITEM的引用仅限丁来白排错节的内部的引用。(12)标识符1不可为修改引用。3.2.4—般规则
(1)排错节的自动运行并不是由出现在排错节中的语句引起的。(2)当UJSEFORDEBUGGING语们中指定了文卷名1,则该排错节在下列时刻执行:,在用文卷名1的OPEN或CLOSE语句执行以后。b在READ语句执行以后(并在其他指定的USE过程后),但该READ语句并不导致相关的ATEND或INVALIDKEY命令语句的执行。在引用文卷名 1的DELETE或 START语句运行后。c.
(3)当USEFORDEBUGGING语句中指定了过程名1时,则该排错节在下列时刻执行:在命名过程的各次执行的紧前时刻。a
b。引用过程名1的AI.,TER语句执行的紧后时刻。(4)ALLPROCEDURE短语使一般规则3中描述对程序中的每个过程名都有效,除非这些出现在排错节内。
(5)当指定ALLREFFRENCESOF标识符1短语时,则对显式引用标识符1的每个语句在下列每个时刻执行那个排错节:
a对WRITE或REWRITE语句的情况.为在那个WRITE或REWRITE语句执行的紧前并在由于FROM短语存在而作的隐式的传送之后。b.对带DEPENDINGON短语的GOTO语句的情况,为控制转移的紧前并在控制转到的过程名相关的排错节执行之前。
c对VARYING、AFTER或UNTIL短语引用标识符1的PERF)RM语句的情况,为在标识符1引用的数据项的内容每次初始化、修改或计算之紧后。d。对其它CCBOL语句的情况,为在那个语句执行的紧后。如果在不执行或未计算的短语中指定了标识符1,则相应的排错节不执行。(6)当指定的标识符1不带ALLREFERENCESOF短语,则那个排错节在下列各个时刻执行:a:对显式引用标识符1的WRITE或REWRITE语句的情况,则在WRITE或REWRITE语句执行的紧前,并在由丁FROM短语的存在引起的征何隐式传送之后。GB/T4092.11—92
b.对PERFORM语句中VARYING、AFTER或UNTIL短语引用了标识符1的情况,则在标识符1引用的数据项的内容的各次初始化、修议或计算的紧后。c.在任何其它的显式「并导致标识符1引用的数据项的内容变化的COBOL语句执行的紧后。
如果标识衍1指定在未执行或未计算的语句中,则相应的排错节不执行。(7)作为单个语句的运行结果。对一个特定的运筛分量,相应的排错节的执行不会多于一次,不管该运算分量在语句中使用了多少次。对导致引用的过程循环执行的PERFORM语句的情况,相应的排错节为每饮循环而执行--次。
在一个命令语句中,对于排错的目的,一个命令动词的每次单个出现就标识为一个独立的语句。(8)当cd名1指定在USEFORDEBUGGING语句中时,那个排错节在下列时刻执行:在引用ed名I的ENABLE、DISABLE和SEND语句执行之后。b,在引用cd名1的RECEIVE语句执行之后,该RECEIVE讲句并不使得NODATA命令语句执行。
C在引I用cd名1的ACCEPTMESSAGECOUNT语句执行之后。(9)作为限定符对标识符1.cd名1、文卷名1或过程名1的引用,并不构成对上述一般规则描述的排错的那个项的引用。
(10)与排错节的每次执行有关的专用寄存器DEBUG-ITEM,提供了关于导致排错节执行的条件的信息。DEBUG-ITEM 具有下列隐式描述:01 DEBUG-ITEM.
02 DEBUG-LINE
02FILLER
02 DERUG-NAME
.02FILLER
DEBUG-SUB-1
FILLER
DEBUG-SUB-2
FILLER
DEBUG-SUB-3
FILLER
PICTURE IS X(6).
PICTURE IS X VALUE IS SPACE.PICTURE IS X(30).
PICTURE IS X VALUE IS SPACE
PICTURE IS S9999SIGN IS LEADING SEFARATE CHARACTER-PICTURE IS X VALUE IS SPACE.PICTURE IS S9999 SIGN IS LEADING SEIARATE CHARACTER.PICTURE IS X VALUE IS SPACE.PICTUREISS9999SIGNISLEADINGSEPARATECHARACTER.PICTUREISXVALUEISSPACE.
02 DEBUG-CUNTENTS PICTURE IS X(n).(11)在排错节的每次执行之前,DEBUG-ITEM调用的数据项填以空格。然后对下属于DEBUGITEM的数据项的内容更新了,这种更新在控制传送到排错节的紧前按下列一般规则进行。在下列一般规则中未指出的数据项的内容为空格。更新按照MOVE语句的规则完成,唯一的例外是到DEBUG-CONTENTS传送时,就好象是字符初等项到字符初等项的传送,并不进行数据从一种内部形式到另一种内部形式的转换。(12)DEBUG-LINE的内容是标识某一特定源语句的实现者定义的方法。(13)DEBUG-NAME包含导致执行排错节的名的前30个字符。名的所有限制符在DEBUG-NAME中用字“IN\或“(>F\隔开。如果有下标或位标的话,并不放入DEBUG NAME.
(14)如果导致执行排错节的对某一数据项的引用有下标或位标,则各层的出现号必需分别存入DUBUG-SUB-1、DEBUG-SUB-2.TEBUG-SUB-3.(15)DEBUG-CONTENTS是一足够大到容纳下列-般规则所需的数据的数据项。GB/T4092.11—92
(16)如果程序中第一个非申述过程的第一执行导致执行排错节.则下列条件成立:a+DEBUG-LINE标识那个过程的第一个语句。b.LDEBUG-NAME包含娜个过程的名字。DEBLG CONTENTS 包含“START PROGRAM。C
(17)如果ALTER语句中对过程名1的引用导致排错节的执行,则下列条件成立:DEBUGI.INE标识引用过程名1的那条AIIFR语付。b
TEBUG-NAME包含过程名1。
IEBUG-CONTENTS包含与ALTER语句的TO短语相关的可应用的过程名。C.
(18)如果与GOTO语句执行相关的控制转移导致排错节的执行,则下列条件成立:DEBUG-LINE标识其执行了把控制转到过程名1的GOTO语句。DEBLIG-NAME包含过程名1。
(19)如果SCORT或MERGE语句的INPUT或OUTPUT短语中对过程名1的引用导致排错节的执行,则下列条件成立:
DEBUG-LINE标识引用过程名1的SORT或MERGE语句。DEBUG-NAME包含过程名1,
DEBUG-CONTENTS包含:
1)如果对过程名1的引用在SORT语句的INPUT短语中,则包含“SORTINPUT’。2)如果对过程名1的引用在SORT语句的OUTPUT短语中,则包含*SORTOUTPUT。3)如果对过程名1的引用在MERGE语句的OUTPUT短语中,则包含“MERGEOUTPUI(20)如果从与PERFORM语句有关的控制机制的控制转移导致执行和过程名1有关的排错节的执行,则下列条件成立:
DEBUG-LINE标识引用过程名1的那个PERFORM语句。b.
DEBUG-NAME包含过程名1。
DERLGCONTENTS包含PERFORMLOOP。(21)如果过程名1是一个将被执行的USE过程,则下列条件成立:DEBUG-LINE标识导致USE过程执行的那个语句。DFRUG-NAME包含过程名1。
DEBUG-CONTENTS包含‘USEPROCEDURE”(22)如果控制从先前的顺序段隐式转到过程名1而导致排错节的执行,则下列条件成立:DEBUGLINE标识该先前语句。
DEBUG-NAME包含过程名1。
DEBUG-CONTENTS包含“FALL THROUGH’。(23)如果对文卷名1或cd名1的引用导致执行排错节,则:a,
T)FBUG-LINE标识I用文卷名1或cd名1的源语句。DEBUG-NAME包含文卷名或cu名I。对READ.DERUG-CONTENTS包含整个记录读入d、对文卷名1的所有其余引用,DEBUG CONTFNTS包含空格。对ed名1的任何引用,DEBUG-CONTENTS包含与cd名相关的区域的内容。e.
(24)如果对标识符1的引用导致排错节执行,则:DEBG-LINE标识与[用标识符1的源语句。a
IDFHUG-NAME包含标识符1的名字。GB/T4092.11—92
DEBUG-CONTENTS包含标识符1引用的数据项在控制转到排错节时的内容(见上述一般规则5和6)。
附加说明:
本标准由中华人民共和国机械电子工业部提出。本标准由南京大学负责起草。
本标准主要起草人钱树人、王英、冯惠、段样。本标准由1983年12月首次发布,1992年8月第一次修订。
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。