GB/T 4092.10-1992
标准分类号
标准ICS号:信息技术、办公机械设备>>35.060信息技术用语言
中标分类号:电子元器件与信息技术>>信息处理技术>>L74程序语言
相关单位信息
首发日期:1983-12-26
复审日期:2004-10-14
起草单位:南京大学
归口单位:全国信息技术标准化技术委员会
发布部门:国家技术监督局
主管部门:国家标准化管理委员会
标准简介
GB/T 4092.10-1992 程序设计语言COBOL 源正文管理模块 GB/T4092.10-1992 标准下载解压密码:www.bzxz.net
标准内容
1.1功能
中华人民共和国国家标准
程序设计语言COBOL
源正文管理模块
Programming language COBOL
Source text mandpulation moduleGB/T 4092. 10—92
代替G102.103
源正文管理模块包含COPY语句和REPLAC.F语句每个语句既可独实使用也可与另语创联系起来使用,提供「作为源程序编译的·部分的循入和替换源程序正文的扩充能力。COBOL库中包含编译时编译程序叮用的正文。COPY语解释的效果是从库正义中产生被编译程序看作是源程序的“部分的正文。类似地,COBOL源程序可用程序员定义的记号书写,这些记号在编译时扩展为语法止确的短诺、子创和语句。REPLACE语解释的结果是把源程序中出现的正文替换为新的正文。并且使替代的正文对编详程序来说作为源程序一部分处理。1.2级别特征
1级源正文管理提供「把正文从一个单独的库拷入源程序的功能。且正文从库中不如改变地拷入。2级源正文管理提供了额外的功能,充许在拷入过程中,把库正文中一给定字值、标识豹、字或组字的所有出现替换为另-正文。2级也提供「编详时多于--个COBOL库的可用性以及把出现准源程序中的正文替换为新的正文。2COPY语句
2.1功能
COPY语旬把正文并人COBOL源程序巾。2.2-般格式
COPY正文名1L
REPLACING
2.3语法规则
库名1
-伪正文 1-
标识符1
字值1
-=伪正文 2:
标识符2
字值2
(1)如果编泽时多十·个(OHOI库可用,则正文名1必须出标识与正文名1相关的止文所在的COBOL库的库名1限定。
在一个 COBOL库中,每个正文名必须唯。国家技术监督局1992-08-04批准1993-05-01实施
GB/T 4092. 10--92wwW.bzxz.Net
(2)COPY语句前面必有一空格后面有--分隔符勺点结束。(3)伪正文」必含有一个或多个正文字。(4)伪正文2可以含有零个、-个或多个正交字(5)伪正文1和伪正2中的字符中可以接续(见GB/T4092.]16.7.2.5伪:正文)(6)学1 或字2 而以是除“COPY\外的任何单个COHOI。学。(7)COPY语句可指定在源程序中的字符串或除扫叫号以外内分隔符可均出现的杠何地为,但COPY语可不可出现在COFY语创中。(8)实现者必须允许伪正文和库正文中的“个正文字有!到3%2学行的长度:(9)伪正文1不可只出一个分痛符这号或--个分隔符分号到成。(10)如果宇COPY出现在注解款中或注解款叫出现的电太贴把它寿作注解款的一部分。2.4一般规则
(1)包含COPY语句的·个源程序的编译逻辑上等价于在处理结兴源程产之前先处理所有的COPY语句。
(2)处理COPY语句的效果是把与正文名划关的阵文拷人源促序卡逆辑地精代格个COPY语付:从保留字COPY开始至分隔符句号结束(包括()PY利司号)(3)如果未指出REPLACINC:短证,则库范文不加改变池考人。如果指出了REPILACING短语.则考入库上文产工把库支伤交,保识符了、字!和字微1和匹配的各次出现替换为对应的伪正文3.标识符?字2引学使2(4)出于匹配检查的日的,标识符1、字1和字值1作为分别包含标!符1、字!和宇值1的伪正文处理。
(5)快定正文替换的比较操作以下列方式进行:非分晰符逗号或分隔符分号的最左库汇文字是用下比较的第-个正义,这个1义字之前的任间正文了或空格都拷人源程序。从用于比较的第-一个正文及 PFPLACING 短语中指定的第--个伪正:文1、标识符1、字1或字值1开始.在保智字 HY前的整个FEP:.ACING 短语的操作分量与相同个数的连续的库正文字比较。
伪正文 1,标识符 1,疗 1 或字值 1 与库正文配,当 H仅当,纠成伪E文 1,录识符 1、字 1 或字值 1的正文字的有序序列与库正文字的有序序列每个字欲都等。出『比配的的,伪正文1或库正文中的一个分符逗号、分号或空格都被认为是一个毕个空格。个或多个宦格分隔符的序列被认为是-个单个空格。
如果未出现匹配.则继续与REPL.ACING短语中可能出现的严继的为止文!.标识符1、1或值1进行比较,直至找到匹配或没有片继的REPLACING操单分录为牛,当所有REPLACING操作分比较完毕面未找到匹时,购最左的下文字拷入源程序中,后继的库正文字被认为是最左的库证文字,比较周期又从REPLACING短语中指定的第一个伪正文1、称识符1,字 1 或学慎 1重新开始。协正交1、标识符 1,字 1或字值 1与库北,文的匹配耳出现,则相应的例正义 2.标识符 2.字 2 或字值2被代入到源程序巾。库正文中紧跟在参加匹配的最车库正文字;面的库正文字被认为是左库正文字。比较周期又从REPLACING短讲中指定的第-个伪正文1、标识符,字1或字值1比新开始。
比较操作继续到库正文中的最石库正文疗参与了--个医配或被认佐最在库正文字又与「个完整的比较期为止。
(6)出于匹配的考虑,忽略库正文和闪正文1中出职的注解行和案行:举正文中可能有的正文疗的顺序及伪正文1中的正文字的顺序按照基准格式规则决定见(GKT4092中5.2.2基剂路式GB/T 4092.10—92
的表示)。当伪止文2作为正文替换的结果代入源程序中时,其中出现的注解行和空行不加改变地拷入结果程序中。库正文中出现的注解行或空行不加改变地拷入结果源程序中,但有下列例外:如果注解行或空行出现在与伪正文「匹配的正文予序列中,则库止文中的该注解行战空行不拷入。(7)库正文和伪正文中允许出现排错行。排错行中正文字参与匹配时就象指示符区中未出现“D\一样。如果排错行在源程序中从开伪正文限定符之后并于匹配的闭伪正文限定符之前开始,则伪正文中指定了排错行
(S)库正文的语法止确性不[独立确定。除COPY和RFPI.ACE语句以外,整个COBOL源程序的语法正确性只有准所有的CO)PY和REPLACE语句完全处理后才能判定。(5)从库中拷入但并未替换的各正文字拷入以使它在结果程序的该行中的同一区的开始和它在库正文的该行中相同的区中开始。但是.如果从库中拷入的从A区开始的正,文字跟在另正文字后面,而该另一正文字亦从同一行的A区开始,如是该同行中的前而的正文字被更长的正文宁替换,则后继的正文字如果不能从A区开始的话则从B区开始。将代入到结果程序中的伪正文2中的各正义学在结果程序中从它征伪正文2中出现的相同区域开始。代入到结果程序中的各标识符2、字值2和字2在结果程序中从参与匹配的最左库正文字如果尚术被替换时将出现的区域开始:库正文必须遵循COBOL基准格式的规则。如果由于COPY语句使源程序引入额外的行,又如果COPY语句从排错行开始或将引入的止文了出晚在库正文的排错行上,则引入的各正文字放在排错行」.当引人由BY短语所指定的·止文学时,如果将被代入的第·个库止文字指定在排错行1:,则该正文字出现在排错行上。除去上面这些情况,只有伪正文2中的排错行1指定的那些正文学出现作结果程序的排错行上。如果指定为字值2或伪正文2或库正文中的字值常量太长,在结果程序中如果不继续到下一行就不能容纳准一行上,并月该字值常量不在排错行上,则人额外的续行,以容纳字值常量的剩余部分。如果替代要求待续的字值常量继续在排错行上,则程序有错(!0)出于编译的考虑,替换后的正文接照基准格式规则代入到源程序中(见预备知识6.7基难格式)。当把伪正文2的正文字拷入源程序中时,只可能在已经存在空格(包括源程序行之间的空格)的正文字之间引入额外的空稽。
(11)如果作为COPY语处理的结果,在源程序中引入额外的行,则引人行的指示符区中包含与将被督换的正文所开始的行柑间的字符,除非该行中包含一连字符,这时引入行中包含空格,在字值常量继续到“非排错行的引人行!时,这引入行的指示符区放·连字符。3REPLACE语句
3.1功能
REPLACE语句用来替换源程序正文。3.2-般格式
整式1:
格式2:
3.3语满规则
REPLACE(—-伪正文1=HY二=伪正文2~—)REPI.ACE OFF
(1)REPLACE语句可出现作源程序中的字符串可出现的任何地方。它前面必须有一分隔符句点,但当它是独立编详的程序的第一条语句时除外。(2)REPLACF语讨必须以一分隔符句点结束:分。
GB/T 4092.10
(3)伪正文1必须包含一个或多个正文宁,(4)伪正文2可以包含零个一个或多个止文了。(5)伪正文1和伪正文2中的字符中有续行(见GB/T4592-1中6-7.2.5伪1文)。(6)实现者必须允许例止文的正文字有1到322个字符的长度,(7)伪正文1不可只由·分随符这号或一分隔符分号组戚,(8)如果宁REPLACE出现车注解款中或出现在注解款叮出现的地方,刘认为它是注解款的一部3.4一般规则
(1)格式1的REPLACE语句指出将被机应正义替换的源提序正文源程序中伪正文1配的各次出现由相应的伪正文2替换,(2)格式2的REPLACE语句指出当前的任何正文替代不再继续(3)REFI.ACE语句的某一给定的出现的有效范闹是,从指它的那·点起至该语句的下次现或到独立编译程序的末距为止,(4)源程序中包含的任创REPLACE语句在源程序中包會的任何COPY语创处理后处理。(3)作为处理REPLACE语司的结果所产生的正文不可今有REPI,ACE语句。(6)决定正文替换的比较操作以下列厅式进行:从最左的源程序止义学和第·个为正文1开始,为正文1与相笠数日的连续的源程序止文学a.
比较、
b,伪正文1与源程序匹配当H仪当组成伪正文1的止文字的有序序烈与源举序正文字的有序序列每个字符都相等。出于匹配的H的,正文1或源程序正文甲的·个分隔符逗号,分号或空格邯认为是中个空格。二个或多个空格分附符的序列认为示单个空格。如果未出现匹配,则继续与伪正文1的后继各次出现比较,真至出现厚配或不再有伪止支1的后继出现为止。
d。当例正文】的所有出现都己比较而未找到匹配.则形继的源望序正文字和作是最左的源程序正文字,比较周期又从伪正文1的第次出晚重新开始。e,芮正支1与源程序止文的匹配·口出现,则对应的闪正文2常普换源理序中心配的止文。源,程序中紧限在参加匹配的最右正文字后面的源程序正义被认为是最左源程序正文字。比较周期义从伪正文1的第·-次出现重新开始。1.比较操作继续到源程序正文中在REPLAC落付作诚内的最存正文字教与了一个匹配或被认作最左源程序止文学并参与「一个完整的比较周期为止。(7)出于院配的考虑,忽略源程序正文和伪正文1中现的注解行或空当行;源程序正义和伪止文1中的正文字顺序按照基准格式规则决宗(见G13/[4092.】6.7.2基准格式的长示),当伪正文2作为正文替换的结果代入源程序中时,其中出现的注解行和空行不加改变地拷入结与程序中。如朱源程序中的注解行或空行山现在与伪正文「匹配的正文字序列中,则它们不被皆换。(8)伪心文中允许出现排错行。排错行中的正文字匹配叫就象指示守区市未击现\)”-详。(9)除COPY和REPLACE语句以外,整个COBOL源程序的语法l确性只在所右的COPY和REPLACE语句完个处理后才能判定。(10)作为处理REPLACE语包的结果捕入到源程序中的正义宁接照基准格式规则人源程序中(见GB/T4092.1中6.7基准格式)。当把伪正文2的正文宁插入到源程中时.只可能在其间已存在空格(包括源程序行之间假想的空格)的止文字之间引人额外的空格:(I1)如果处理REPLACE语句而需在源程序中引入额外的行,划该引入行的指示符区包含与被替代的正文开始的那行相同的字符,除非那行包含连字符,这卧被引人的行也含,空格。如果伪正文2中的字值常量太长,在结果程序巾如果不接续到下一行就不能容纳在上,净HGB/T 4092.10—92
该字值常量不在排错行上,则引入额外的续行,以容纳字值常量的剩余部分。如果替代要求待续的字值常量继续到排错行上,则程序有销。附加说明:
本标准冉中华人民共稚国机械电子工业部提山。本标准由南京人学负责起草
本标准主要起草人钱树人,王静英、冯惠、段祥,本标准由1983年12月首次发布,1992年8月第·次修订。
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。