1、中华人民共和国国家标准程序设计语言程序间通信模块发布实施国家技术监督局发布中华人民共和国国家标准程序设计语言程序间通信模块代替国家技术监督局批准实施引言功能程序间通信模块提供了一个程序与另一个或多个程序通信的功能这种通信通过下面两个方面提供在一个运行单位内把控制从一个程序转到另一个程序的能力在程序间传送参数的能力使某些数据值对被调用程序可用程序间通信模块也允许两程序间通过数据共享和文卷共享通信级别特征级程序间通信提供了把控制转到一个或多个名字在编译时是已知的程序的功能以及在这些程序之间的数据共享的功能级程序间通信提供了把控制转到一个或多个名字在编译时是未知的程序的功能以及确定控制将转到的程序的
2、目标存储空间的可用性的能力级程序间通信也提供了外部属性全程名和源程序的嵌套语言概念嵌套的源程序一个源程序是一个语法上正确的语句集一个源程序可以包含其他源程序而这些被包含的程序可以引用包含它们的程序的某些资源当一个程序包含在另一个程序中它可以是被直接包含或间接包含如果没有被包含于又包含的程序则程序被直接包含于程序中如果存在一个被包含于中又包含的程序则程序被间接包含于程序中文卷连接区一个文卷连接区是包含有关一个文卷的信息且用作文卷名与物理文卷之间以及文卷名与它的相关的记录区之间的联结的存储区域全程名和局部名一个数据名命名一个数据项一个文卷名命名一个文卷连接区这些名分为全程的或局部的一个全程名可以用
3、来引用与之相关的目标要么从说明该全程名的程序中引用要么从包含于说明该全程名的程序中的任何其他程序中引用而一个局部名只可从说明该局部名的程序中引用与之相关的目标某些名总是全程的某些名总是局部的而某些名既可为全程的又可为局部的这依赖于这些名在程序中的说明对记录名如果在说明记录名的记录描述款中指出了子句或者在文卷节的记录描述款的情况下如果在与记录描述款有关的文卷名的文卷描述款中指出了子句则该记录名是全程的对数据名如果在说明该数据名的数据描述款中指出了子句或者在该数据描述款下属的另一个描述款中指出了子句则该数据名是全程的对在一个数据描述款中说明的条件名如果该描述款下属于一个指出了子句的另一个描述款时则
4、它是全程的但是某些特定规则有时禁止对一些特定的数据描述款文卷描述款和记录描述款指定子句对文卷名如果在该文卷名的文卷描述款中指出了子句则它是全程的如果在一个数据描述款中说明的数据名文卷名或条件名不是全程的则该名是局部的全程名可在包含在其他程序中的程序之间传递外部目标和内部目标可存取的数据项通常要求存储数据以特定的表示文卷连接区通常要求存储某些与文卷有关的特定信息与数据项或文卷连接区有关的存储对说明目标的程序来说可以是外部的或内部的对数据项或文卷连接区如果与那个目标有关的存储是与运行单位相关而不是与运行单位中的某个特定程序相关则它是外部的一个外部目标可被描述该目标的运行单位中的任何程序所引用对外部
5、目标的引用总是对同一个目标的引用在不同程序中使用各自的目标描述在一个运行单位中外部目标只有一种表示一个目标如果与它有关的存储只与描述它的程序相关联则它是内部的外部和内部目标既可有全程名也可有局部名工作存储节中描述的数据记录通过它的数据描述款的子句给定外部属性任何由从属于描述外部记录的描述款的数据描述款描述的数据项也获得外部属性如果一个记录或数据项不具有外部属性则它是描述它的程序的内部数据的一部分文卷连接区通过相关的文卷描述款中的子句给定外部属性如果一个文卷连接区不具有外部属性则它对描述相关文卷名的程序来说是内部的描述为隶属于不包含子句的文卷描述款或排序合并文卷描述款的数据记录以及描述为隶属于这
6、些记录的数据描述款的任何数据项对描述该文卷名的程序而言总是内部的如果在文卷描述款中包含了子句则数据记录和数据项取得外部属性在一个程序的连接节通信节和报表节中描述的数据记录下属数据项以及各种有关的控制信息被认为对描述该数据的程序来说总是内部的对连接节中描述的数据有特殊的考虑在那里建立了所描述的数据与对其他程序可存取的其他数据项之间的联系公用程序和初始程序组成一个运行单位的所有程序可以不具有或具有一个或多个下列属性公用的和初始的公用程序是这样的程序尽管它直接包含在另一个程序中但它可被直接或间接包含在另一个程序中的任何程序所调用公用属性通过程序的标识部中指定子句获得子句简化了将被包含在同一程序中的所
7、有程序使用的子程序的书写初始程序是这样的程序当它被调用时它的程序状态被初始化于是一个初始程序一旦被调用则它的程序状态与在那个运行单位中第一次被调用时的状态一样在初始化一个初始程序的处理中那个程序的内部数据被初始化因此描述中含有子句的程序的内部数据项初始化为所定义的值但描述中不含子句的数据项初始化为一个无定义的值与程序有关的内部文卷连接区的文卷不处于打开方式程序中包含的所有语句的控制机制被置为它们的初始状态初始属性通过在程序的标识部中指定子句获得共享数据一个运行单位中的两个程序在下列情况下可以引用公用数据如果程序中描述了一外部数据记录则可从该程序中引用该外部数据记录的数据内容如果一个程序包含在另
8、一个程序中那么这两个程序都可引用这样的数据该数据在包含程序中或在直接或间接地包含该被包含程序的任何程序中具有全程属性从调用程序到被调用程序通过引用传递参数的机制建立公用数据项被调用程序可以使用不同的标识符去引用调用程序中的数据项共享文卷在一个运行单位中的两个程序在下列情况下可以引用公用文卷连接区外部文卷连接区可由描述该文卷连接区的任何程序引用如果一个程序包含在另一个程序中那么这两个程序都可通过在包含程序中或在任何直接或间接地包含该包含程序中引用有关的全程文卷名来引用公用文卷连接区名的作用域当程序直接或间接包含在别的程序中时各个程序可以使用相同的用户自定义字去命名对象而与其他程序使用这些用户自定
9、义字无关见中用户自定义字当存在相同命名的对象时程序对这种名字的引用即使它是不同的用户自定义字类型也是对那个程序描述的对象的引用而不是对在另一个程序中描述的具有相同名字的对象的引用下列类型的用户自定义字只可由说明该用户自定义字的程序中的语句和描述款引用名段名节名下列类型的用户自定义字可由任何程序引用假设编译系统支撑相应的库或其他系统并且所引用的实体对那个系统是已知的库名正文名当在通信节中定义了下列类型的用户自定义字时它们只可由包含该通信节的程序中的语句和描述款引用条件名数据名记录名当在配置节中定义了下列类型的名时它们只可由包含配置节的那个程序或由该程序所包含的程序中的语句或描述款引用字母名类别名
10、条件名助忆名符号字符当上列条件不适用时对说明和引用特定的约定将应用于下列类型的用户自定义字条件名数据名文卷名位标名程序名记录名报表名程序名的约定一个程序的程序名在该程序的标识部的程序标识段中说明程序名只可由语句语句和程序末端标题引用分配给组成一个运行单位的程序的程序名不必唯一但是当一个运行单位的两个程序同名时这两个程序中至少有一个直接或间接包含在另一个分别编译的程序中而该分别编译的程序不包含这两个程序中的另一个下列规则规定了程序名的作用域如果该程序名是不具备公用属性而又被直接包含在另一个程序中的程序的名字则该程序名只可由那个包含该程序的程序中的语句所引用如果该程序名是具备公用属性而又被直接包含
11、在另一个程序中的程序的名字则该程序名只可由那个包含该程序以及任何被直接或间接包含于其中的程序但具有公用属性的程序及包含于其中的程序除外中的语句所引用如果一个程序名是一个分别编译的程序的名字则该程序名可由运行单位中的任何其他程序除去它直接或间接包含的程序中的语句引用条件名数据名文卷名记录名和报表名的约定当条件名数据名文卷名记录名和报表名在一个源程序中被说明时这些名只可由该源程序引用但一个或多个名是全程名或该程序包含其他程序时的情况除外由单个程序分配的作为条件名数据名文卷名记录名和报表名的唯一性的管理要求在这说明的其他部分解释见中用户自定义字一个程序不能引用它所包含的任一程序中说明的条件名数据名文
12、卷名记录名和报表名一个全程名可在说明它的程序中或在直接或间接被包含于该程序的任何程序中引用当一个程序被直接包含在另一个程序中时两个程序可使用同一个用户自定义字定义的一个条件名数据名文卷名记录名或报表名当在程序中引用这样的重名时使用下列规则决定所引用的对象用于决定所引用的对象的名集合由程序中定义的所有名在程序及任何直接或间接包含的程序中定义的全程名组成使用这个名集合采用通常的限定规则及其他使引用唯一的规则直至标识出一个或多个对象为止如果只标识出一个对象则它就是引用的对象如果标识出的对象多于个则具有局部于程序的名的对象不会超过个如果零个或个对象有局部于程序的名则下列规则适用如果名在程序中说明则程序
13、中的对象是引用的对象否则如果程序包含在另一个程序中则引用的对象是如果该名在程序中说明则为程序中的对象如果该名在程序中未说明而在包含程序的程序中说明则为包含程序中的对象这个规则适用于更上一层的包含程序直至找到一个唯一的有效的名为止位标名的约定如果一个具有外部或全程属性之一或二者兼有的数据项包含一个使用位标的表则该位标也相应地具有属性之一或二者因此该位标名的作用域与命名该表表的位标由该位标名命名的数据名的作用域相同并且该数据名的名的作用域规则适用于该位标名位标名不可以被限定嵌套源程序一般描述一个源程序是语法正确的语句的集合一个源程序可以包含其他源程序并且这些被包含的程序可以引用包含它们的程序的某些
14、资源组织除和语句及程序末端标题外一个源程序的语句描述款段和节分为四个部以下列次序排列标识部环境部数据部过程部一个源程序的末尾由程序末端标题如果指定的话或以无附加源程序行来标志结构下面给出组成一个源程序的描述款和语句出现的一般格式和次序通用术语标识部环境部数据部过程部源程序和程序末端标题分别表示程序的标识部程序的环境部程序的数据部程序的过程部源程序和程序的程序末端标题一般格式标识部环境部数据部过程部源程序程序末端标题语法规则程序末端标题在下列情况下必须存在该源程序包含一个或多个其他源程序或该源程序包含在另一个源程序中一般规则程序中一个部的开始由适当的部首指出一个部的结束由下列之一指出程序中后继部
15、的部首指出另一个源程序开始的标识部首程序末端标题在其后无其他源程序行出现的那个物理位置被直接或间接包含在另一个程序中的源程序被认为是一个单独的程序的规格说明可以额外地引用在包含程序中定义的某些资源由编译包含在另一个程序中的一个程序得到的目标代码在规格说明方面被认为是与由编译包含程序产生的目标代码不可分割的程序的初始状态程序的初始状态是该程序在运行单位中第一次被调用时的状态程序的特性程序中包含在工作存储节和通信节中的内部数据被初始化如果在数据项描述中使用了子句则该数据项初始化为所定义值如果一个数据项无子句则该数据项的初始值无定义与该程序有关的具有内部文卷连接区的文卷不处于打开方式该程序中所有语句
16、的控制机制被置为它们的初始状态包含在该同一程序中由语句引用的语句被置为它的初始状态初始状态程序一个程序在下列情况下处于初始状态在一个运行单位中该程序第一次被调用在引用该程序的语句或引用直接或间接包含该程序的程序的语句执行之后第一次调用该程序每次调用具有初始属性的程序在引用具有初始属性的程序或引用直接或间接包含该程序的语句执行后每一次调用该程序程序末端标题功能程序末端标题指出有名的源程序的结束一般格式程序名语法规则程序名必须符合形成用户自定义字的规则程序名必须与前面段中说明的某一程序名相同如果说明一个特定的程序名的段在说明和引用另一个程序名的段和程序末端标题之间陈述则引用较前程序名的程序末端标题
17、必须先于引用较后程序名的程序末端标题出现一般规则程序末端标题必须出现在每一个程序中不管它包含另一个程序还是被包含在另一个程序中程序末端标题指明所指定的源程序的结束如果一个以程序末端标题终结的程序包含在另一个程序中则下一个语句必须要么是标识部首要么是终结外包程序的程序末端标题如果以程序末端标题终结的程序并不包含在另一个程序中并且下一个源语句是一条语句则该语句必须是和以程序末端标题终结的程序进行分别编译的程序的标识部首程序间通信模块的标识部段和嵌套源程序功能段指定标识一个程序的名并把所选取的程序属性指派给该程序一般格式程序名语法规则程序名必须符合形成用户自定义字的规则一个包含在另一个程序中的程序不
18、可指派与包含它的分别编译的程序所包含的任何其他程序名相同的名任选的子句仅当该程序包含在另一个程序中时使用一般规则程序名标识与某一特定程序有关的源程序目标程序和所有列表子句指出该程序是公用的一个公用程序包含在另一个程序中但可以从不是包含它的程序中调用它见名的作用域子句指出该程序是初始的当一个初始程序被调用时它及任何被它包含的程序被置为它们的初始状态见程序的初始状态程序间通信模块的数据部连接节连接节位于源程序的数据部连接节出现在被调用程序中描述由调用程序和被调用程序引用的数据项程序中的连接节当且仅当在下列情况下有意义对象程序在语句的控制下起作用调用程序中的语句包含短语连接节用来描述通过调用程序使之
19、成为可用但在调用和被调用程序中都将引用的数据在被调用程序的连接节中描述的数据项和调用程序中描述的数据项之间建立对应关系的机制在其他地方描述见过程部首和语句在位标名情况下不建立这样的对应关系而且被调用程序和调用程序中的位标名总是指向不同的位标连接节的结构与前面描述的工作存储节相同以节首开始后跟独立数据项和或记录描述款连接节的一般格式如下所示层描述款记录描述款如果连接节中的数据项被一个非被调用程序的程序存取结果无定义独立连接存储连接节中彼此无层次关系的数据项不必组成为记录它们被划分和定义为独立初等项每个这样的项在以特定层号开始的单独的数据描述款中定义在每个数据描述款中下列数据子句是必需的层号数据名
20、子句或子句其他数据描述子句是任选的在需要时可用来完备数据项的描述连接记录连接节中彼此具有一定层次关系的数据元素必须按照组成记录描述的规则组成记录连接节中与其他数据项无层次关系的数据元素也可描述为单个初等项的记录初值连接节中除条件名描述款层外不可指定子句程序间通信模块的文卷描述款功能在程序间通信模块中文卷节中的文卷描述款确定文卷连接区相关的数据记录及相关的数据项的内部或外部属性文卷描述款也决定一个文卷名是局部名还是全程名一般格式格式文卷名整数整数整数整数整数数据名整数整数实现名数据名字值数据名数据名整数数据名整数数据名整数数据名整数字母表名格式文卷名整数整数整数整数整数数据名整数整数实现名数据名
21、字值数据名格式文卷名整数整数整数整数整数数据名整数整数实现名数据名字值字母表名报表名语法规则格式是顺序文卷的文卷描述款在这个文卷描述款中特定子句的可用性依赖于实现所支撑的顺序模块的级别见格式是相对文卷或索引文卷的文卷描述款在这个文卷描述款中特定子句的可用性依赖于实现所支撑的相对模块或索引模块的级别见和格式是报表文卷的文卷描述款报表文卷的文卷描述款的可用性取决于实现是否支撑报表编制模块见一般规则如果顺序文卷的文卷描述款包含子句和子句则数据项是一个外部数据项如果顺序文卷的文卷描述款包含子句和子句则特殊寄存器是一全程名子句在给出子句在给出文卷描述款中的所有其他子句在适当模块的说明中给出程序间通信模块
22、的数据描述款功能程序间通信模块中工作存储节或文卷节中的层数据描述款决定数据记录及其下属数据项具有局部名还是全程名程序间通信模块中工作存储节中的层数据描述款决定数据记录及其下属数据项具有内容属性还是外部属性一般格式数据名数据名字符串整数数据名位标名整数整数数据名数据名位标名字值语法规则数据描述款中特定子句的可用性依赖于实现所支撑的核心模块的级别见核心模块子句只可在工作存储节中层号为的数据描述款中指出子句和子句在一个数据描述款中不可同时指出子句只可在层号为的数据描述款中指出对任何包含子句或子句的描述款以及与包含子句或子句的文卷描述款相关的记录描述都必须指出数据名一般规则子句在中给出子句在中给出数据
23、描述款的所有其他子句在核心模块中给出程序间通信模块的报表描述款功能程序间通信模块中报表节中的报表描述款决定一个报表名是局部名还是全程名一般格式报表名字值数据名数据名整数整数整数整数整数语法规则报表描述款的可用性依赖于实现是否支撑报表编制模块一般规则如果报表描述款包含子句则特殊寄存器和是全程名子句在中给出报表描述款中的所有其他子句在报表编制模块中给出子句功能子句指明一个数据项或一文卷连接区是外部的一个外部数据记录的成分数据项和组合数据项对运行单位中描述那个记录的所有程序是可用的一般格式语法规则子句只可在文卷描述款或在工作存储节的记录描述款中指定在同一个程序中作为层号为且包含子句的描述款的主体指定
24、的数据名不可与任何其他包含子句的数据描述款指定的数据名相同在包含子句的数据描述款及其下属的数据描述款中不可使用子句但对与这些数据描述款相关的条件名可使用子句一般规则由数据名子句命名的记录中所包含的数据是外部的它们可被运行单位中描述它或服从下面的一般规则地重定义它的任何程序存取和处理在一个运行单位中如果两个或多个程序描述了同一个外部数据记录则相关的记录描述款的各个记录名必须相同且记录必须定义相同个数的标准数据格式字符但是描述外部记录的程序可以包含一个包括子句的数据描述款它重定义该完整的外部记录而这完整的重定义不必在运行单位中的其他程序中同样出现见中子句子句的使用并不意味着相关的文卷名或数据名是一
25、个全程名见子句与这个描述款相关的文卷连接区是外部文卷连接区子句功能子句指明数据名文卷名或报表名是全程名一个全程名对包含于描述它的程序中的每个程序均是可用的一般格式语法规则子句只可在文卷节或工作存储节的层号为的数据描述款中指出或在文卷描述款中或报表描述款中指出在同一个数据部中在指定了相同数据名的两个数据项的数据描述款中不可包括子句如果为若干文卷指定了子句则这些文卷的记录描述款或文卷描述款中不可包括子句一般规则使用子句描述的数据名文卷名或报表名是一个全程名下属于一个全程名的所有数据名是全程名与全程名相关的所有条件名是全程名直接或间接包含在描述全程名的程序中的程序的语句可不再描述而直接引用该名见名的
26、作用域如果在包含子句或子句的数据描述款中使用了子句只有或子句的主体具有全程属性程序间通信模块的过程部过程部首过程部由下列部首来标识并且必须以它开始数据名短语只在该程序将由语句调用且语句中包含短语才是必须的过程部首的短语标识出程序将使用的由调用程序传递来的参数的名字传递给被调用程序的参数在调用程序的语句的短语中标识出来两个名字表之间基于位置关系建立对应数据名必须在连接节中以层描述款或层描述款定义某一特定的用户自定义字不可以数据名的形式出现多次数据名的数据描述款不可含有子句但是数据名可以在连接节中的其他位置作为子句的客体出现有下列附加的规则要应用如果语句中对于对应数据项的引用把参数说明为按内容传递
27、则在语句执行时把数据项的值传递过去并且送入连接节中为数据名说明的具有该属性的系统定义的存储项中语句的短语中的各个参数的数据描述必须与过程部首的短语中对应参数的数据描述完全相同即不必转换扩展或截断见语句如果语句中对于对应数据项的引用把参数说明为按引用传递则目标程序执行时就好象被调用程序中的数据项与调用程序中的数据项占据相同的存储区域被调用程序中的数据项描述与调用程序中对应的数据项描述必须描述相同个数的字符位置被调用程序执行的任何时刻对数据名的引用一定按照被调用程序连接节中给出的数据项描述来进行被调用程序连接节中定义的数据项当且仅当满足下列条件之一时才可在那个程序的过程部中引用它们是过程部首的短语
28、中的操作分量它们是过程部首的短语中的操作分量的下属量它们是用子句或子句来定义的满足上述条件的对象它们是满足规则中条件的任何数据项的下属项它们是与满足上述四个条件的数据项相关的条件名或位标名在级在过程部首的短语中及语句的短语中至少必须允许五个数据名语句功能语句导致在一个运行单位中将控制从一个目标程序转到另一个目标程序一般格式格式标识符字值标识符标识符命令语句格式标识符字值标识符标识符命令语句命令语句语法规则字值必须是一个非数值字值标识符必须定义为一个字符数据项以便它的值可以作为程序名短语中的各个数据项必须定义为文卷节工作存储节通信节或连接节中的数据项并且必须是一个层数据项层数据项或一个初等数据项
29、一般规则字值或标识符引用的数据项的内容是被调用程序的名字出现语句的那个程序为调用程序如果被调用程序是一个程序则字值或标识符指出的数据项的内容必须是被调用程序的段所包含的程序名如果被调用程序不是程序则由实现者定义形成程序名的规则当语句执行时如果由语句指定的程序可以执行则控制转到被调用程序当控制从被调用程序返回时如果指定了短语的话将被忽略控制转到语句的结束处或者如果指定了短语则转到命令语句如果控制转到命令语句则按照命令语句中指定的各语句的规则继续执行如果导致显式控制转移的过程分支或条件语句执行则控制按那条语句的规则转移否则命令语句执行完成后控制转到语句的结束处当语句执行时如果判别出在那时由语句指定
30、的那个程序不可用于执行则下列两个动作之一将出现用于判别被调用程序可用于执行与否而必须检查的目标时刻资源由实现者确定如果在语句中指出了或短语则控制转到命令语句按照命令语句指定的各语句的规则继续运行如果导致显式的控制转移的过程分支或条件语句执行则控制按那条语句的规则转移否则命令语句执行完成后控制转到语句的结束处并且如果指出的话将被忽略如果在语句中未指出或短语而又指出短语则后者被忽略语句的所有其他效果由实现者定义运行单位中的两个或多个程序可以具有相同的程序名语句中对这一程序名的引用通过使用程序名的作用域规则而决定见程序名的约定例如如果运行单位中在语句中指明同程序名的程序只有两个这两个程序中的一个必然
31、直接或间接地包含于含有语句的分别编译的程序或者直接或间接地包含于本身直接或间接包含含有该语句的程序的分别编译的程序这两个程序中的另一个必是别个不同的分别编译的程序这个例子使用的机制如下如果具有语句中指定的程序名的两个程序之一直接或间接包含于含有语句的程序中则该程序为被调用程序如果具有语句中指定的程序名的两个程序之一具有公用属性并且直接或间接包含于另一个直接或间接包含含有该语句的程序的程序则这个公用程序就被调用除非调用程序包含于那个公用程序之中否则分别编译的那个程序被调用如果被调用程序不具初始属性则它及直接或间接包含于它的各个程序在运行单位中第一次被调用时或在对该被调用程序执行语句后第一次被调用
32、时处于其初始状态在其他所有情况下进入该被调用程序时该程序及直接或间接包含于它的各个程序保持上次退出它时的状态不变如果被调用程序具有初始属性则它及直接或间接包含于它的程序在运行单位中每次对它调用时被置于其初始状态与被调用程序的内部文卷连接区相关的文卷在程序处于初始状态时不处于打开方式见程序的初始状态在其他所有情况下进入被调用程序时这些文卷的状态和位置与上次退出它时的状态和位置一样调用一个程序或从被调用程序返回的处理并不改变与外部文卷连接区相关的文卷的状态和位置如果将被调用的是一程序只在被调用程序的过程部首中含有短语时语句中才需包含短语这时短语中操作分量的个数必须相同如果将被调用的程序不是程序则短
33、语的使用由实现者定义语句的短语中数据名出现的次序与被调用程序的过程部首中相应的短语中数据名出现的次序决定了由调用程序和被调用程序使用的数据名之间的对应关系这种对应是按位置相同而不是按名字相同的短语中的第一个数据名与另一短语中的第一个数据名对应第二个对应第二个依此类推语句中短语指出的参数的值在执行语句时对被调用程序是可用的和短语对跟在它们后面的参数是可传递的直至遇到下一个或短语为止如果在第一个参数前既无也无短语则认为是有短语如果对一个参数指定了或隐含为短语则目标程序处理时就好象被调用程序中的数据项与调用程序中对应的数据项占有相同的存储区域被调用程序中的数据项必须与调用程序的对应数据项描述有相同个
34、数的字符位置如果对一个参数指定了或隐含有短语则被调用程序不能改变语句的短语中指出的这个参数的值但它能改变被调用程序的过程部首中对应的数据名所代表的数据项的值语句的短语中的各个参数的数据描述必须与过程部首的短语中对应的参数的数据描述相同即不须转换扩展或截断见过程部首被调用程序可包含语句但是被调用程序不可执行直接或间接再调用程序的语句如果在申述的范围内执行语句则这条语句不可直接或间接引用任何控制已转到且执行未结束的被调用程序短语限定语句的作用域见中语句的作用域语句功能语句保证所引用的程序在下次被调用时将处于它的初始状态一般格式标识符字值语法规则字值必须是一非数值字值标识符必须引用一字符数据项一般规
35、则字值或由标识符所引用的数据项的内容标识了将被撤销的程序在显式或隐式的语句执行之后语句中指出的程序停止与语句出现的运行单位有任何逻辑联系如果运行单位中显式或隐式的语句执行后语句中引用的程序在该运行单位中又再次被调用则该程序处于它的初始状态见程序的初始状态在另一程序的语句中列出的程序必须对该另一程序是可调用的见名的作用域和语句当显式的或隐式的语句执行后包含在由语句指出的程序中的所有程序也被撤销结果与以各个被包含程序在分别编译程序组中出现的相反次序对每个所包含的程序执行有效的语句一样语句中列出的程序不可直接或间接地引用任何已被调用且未执行语句的程序只在后继的含有被撤销程序名字的语句执行后与该程序的
36、逻辑关系才被重新建立被调用程序被撤销要么由于作为语句的一个操作分量而引用要么由于该程序为其成员的运行单位终止要么由于具有初始属性的被调用程序执行了语句在显式的和隐式的语句执行时如果所命名的程序在运行单位中未被调用或已被调用但现已撤销则为空操作控制转到跟在显式的语句之后下一条可执行的语句由程序描述的外部数据记录中的数据项的内容在程序被撤销时不改变在显式的或隐式的语句执行过程中对在语句中显式列出的程序中的内部文卷连接区相关的处于打开方式的各个文卷执行一不带任何任选项的隐式的语句与这些文卷相关的任何过程都不执行语句功能语句标志被调用程序的逻辑结束一般格式语法规则如果语句出现在句子的连续命令语句序列中
37、它必须作为那句的最后一条语句出现语句不可出现在指定短语的申述过程中一般规则如果语句不在调用程序控制下的程序中执行则语句使程序从下一条可执行语句开始继续执行不具有初始属性的被调用程序中的语句的执行使得调用程序中跟在语句后的下一条可执行语句继续执行调用程序的程序状态并不改变与它执行语句时存在的状态相同只是调用程序和被调用程序共享的数据项的内容和数据文卷的内容可能已经改变被调用程序的程序状态都不改变除由被调用程序执行的所有语句的范围结束处被达到外除一般规则中指出的动作外具有初始属性的被调用程序中的执行相当于执行引用该程序的语句见语句语句功能在程序间通信模块中语句决定在包含有语句的程序中的任一程序执行
38、时相应的申述过程是否执行一般格式文卷名语法规则多文卷名和短语的可用性依赖于实现所支撑的顺序模块相对模块或索引模块的级别见和一般规则当若干程序包含在其他程序中时须遵循指定的优先规则使用这些规则时只有第一个合格申述被选出执行选出执行的申述必须满足执行那个申述的规则选择申述的优先次序是该申述包含在导致合格条件成立的语句的程序中该申述指出了短语且在直接包含上一次检查合格申述的程序的程序中对各个更外层的包含程序使用规则直至规则用于最外层程序而选择的申述如果未找到合格的申述则不执行任何操作语句功能在程序间通信模块中语句决定在包含有语句的程序执行时相应的申述过程是否执行一般格式标识符语法规则语句的可用性取决于实现是否支撑报表编制模块一般规则当若干程序包含在其他程序中时须遵循特定的优先规则在使用这些规则时只有第一个合格的申述被选出执行选出执行的申述必须满足执行那个申述的规则选择申述的优先次序是该申述包含在导致合格条件成立的语句的程序中该申述指出了短语且在直接包含上一次检查合格申述的程序的程序中对各个更外层的包含程序使用规则直至规则用于最外层程序而选择的申述如果未找到合格的申述则不执行任何操作附加说明本标准由中华人民共和国机械电子工业部提出本标准由南京大学负责起草本标准主要起草人钱树人王静英冯惠段祥本标准由年月首次发布年月第一次修订
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1