GB T 4092.4-1992 程序设计语言COBOL 顺序I-O模块.pdf
《GB T 4092.4-1992 程序设计语言COBOL 顺序I-O模块.pdf》由会员分享,可在线阅读,更多相关《GB T 4092.4-1992 程序设计语言COBOL 顺序I-O模块.pdf(29页珍藏版)》请在麦多课文档分享上搜索。
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.4 1992 程序设计语言 COBOL 顺序 模块
