首页 > 国家标准(GB) > GB/T 3057-1996 信息技术 程序设计语言 Fortran
GB/T 3057-1996

基本信息

标准号: GB/T 3057-1996

中文名称:信息技术 程序设计语言 Fortran

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

英文名称: Information technology programming language Fortran

标准状态:现行

发布日期:1996-12-18

实施日期:1997-07-01

出版语种:简体中文

下载格式:.rar.pdf

下载大小:16530903

标准分类号

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

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

关联标准

替代情况:GB 3057-1982

采标情况:idt ISO/IEC 1539:1991

出版信息

出版社:中国标准出版社

书号:155066.1-13989

页数:平装16开, 页数:306, 字数:600千字

标准价格:88.0 元

出版日期:1997-07-01

相关单位信息

首发日期:1982-05-12

复审日期:2004-10-14

起草人:程虎陈明源吴庆宝徐祖渊王懋江陈天晴鲍有新冯惠

起草单位:北京有线电厂

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

提出单位:中华人民共和国电子工业部

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

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

标准简介

本标准规定了以Fortran语言表示的程序的形式,并建立以Fortran语言表示的程序的解释。本标准的目的是对在各种计算系统上使用的Fortran程序增进其可移植性、可靠性、可维护性并有效地执行。 GB/T 3057-1996 信息技术 程序设计语言 Fortran GB/T3057-1996 标准下载解压密码:www.bzxz.net

标准图片预览






标准内容

GB/T3057—1996
本标准等同采用国际标准ISO/IEC1539:1991《信息技术程序设计语言Fortran》和1SO/IEC1539:1991/Cor.1,1993信息技术程序设计语言Fortran技术修改1》。根据1SO/IEC1539:1991/Cor.1:1993,本标准在1.4.1.2-4.6.3.3.2.4,4.4.1、5.1,5-1.1-5、5. 1. 1. 7、5. 3、7. 1. 6. 1、7. 5- 3. 1、7. 5. 3. 2、9. 4. 1, 9. 4 2, 10. 5. 4. 1. 2、10. 8. 1,11. 3. 2、12. 1. 2. 2. 1.12. 3-2.1、12. 3. 2.2,12, 4. 1.1、12. 5. 2.4,12. 5. 2. 5、12. 5.2.8.12. 5. 4、13. 13. 13、13.13.25、13. 13. 66.13.13.80,13.13.100,14.1.3.14.6.2.1及附录A作了改正。本标准在技术内容上与国际标准完全致,仅在如下两点与国际标准略有差异,a)根据GB1.1-93的规定,表的编号作了改动,b)根据国情附录E的内容从略。本标准说明了以Fortran 语言所表达的程序的形式,并建立了对这些程序的解释。它由Fortran 语言的规格说明所组成。
本标准的附录A至附录F都是提示的附录。本标准从生效之月起,同时代替GB3057-82。本标准电中华人民共和国电子工业部提出。本标准电电子工业部标准化研究所归11。本标准起草单位:中国科学院软件研究所、北京有线电厂、全国信标委程序设计语言分委会。本标准主要起草人:程虎、陈明源、吴庆宝、徐祖渊、工懋江、陈天晴、鲍有新、冯惠。本标准于1982年5月昔次发布。
GB/T3057—1996
ISO/IEC前言
ISO(国际标准化组织)和IEC(国际电工委员会)是世界性的标准化专门机构。国家成员体(它们都是ISO或IEC的成员国)通过国际组织建立的各个技术委员会参与制定针对特定技术范围的国际标准。ISO 和 IEC的各技术委员会在共同感兴趣的领域内进行合作。与ISO 和 IEC 有联系的其他官方利非官方国际组织也可参与国际标准的制定工作。对于信息技术,ISO和IEC建立了一个联合技术委员会,即1SO/IEC JTC1。由联合技术委员会提出的国际标准草案需分发给国家成员体进行表决。发布一项国际标准,至少需要75%的参与表决的国家成员体投票费成。
国际标准ISO/IEC1539是由ISO/IFC JTC1\信息技术”联合技术委员会制定的。此第二版将取消并代替已作了技术性修改的第-版(ISO1539;1980)。附录 A,B、C、D,E 和 F 仅提供参考信息GB/T 3057—1996
标准程序设计语言Fartran
本标准说明了以Fortran语言(非正式地称作\Fortran90\)所表达的程序的形式,并建立了对这些程序的解释。它由Fortran语言的规格说明所组成。在本标准中,未说明此语言的子集。除1.4.1中注明的限制外,通常称作\FORTRAN77”的国家标准的诺法及语义全部都包含在本标准内。困而,任何遵循标准的FORTRAN77程序在本标准下也是遵循标准的。除了本标准文本中指明的少数例外之外,各种新的功能都可以兼容地合并到这类程序中去。一个遵循标准的Fortran处理系统也是:个遵循标准的FORTRAN77处理系统。注意,本语言的名称 Fortran 与 FORTRAN77的差异在于仅有其第一个字母是大写。FOR-TRAN77及FORTRAN66在其语言的正式的名称中只使用大写字母,但Fortran90并不延续这一传统。
在本标准对FORTRAN77的各项扩充中,下闻七项显著的扩充是主要的(1)数组运算:
(2)改善了数值计算设施;
(3)参数化的内在数据类型;
(4)用户定义的数据类型;
(5)用于模块数据定义及过程定义的各种设施:(6)指针:
(7)语言进化概念。
在本标准中还包括了其他一些扩充,诸如改进了源程序形式的设施,更多的控制构造,递归,新增的输入/输出设施以及动态可分配数组等。数组运剪
涉及大型数组的计算是工程计算及科学计算的重要部分,在Fortran中,数组可以当作实体来使用。由于下述两个主要理由而将用于处理完整数组及子数组(数组片段)的运算包括在本语音中,(1)这些功能提供一种更简洁且更高级的语言,它将允许程序员能更迅速H更可靠地开发及维护科学/T.程应用系统:
(2)准许多种计算机体系结构中,这些功能都能极大地方便对数组运算的优化FORTRAV77中的算术运算、逻辑运算、字符运算及内在(预定义的)函数等均被扩展,以便能对数组值操作数进行运算。这类扩展包括完整数纽赋值,部分数组慰值及屏蔽的数组值,数组值常量及数组值表达式以及用来定义由用提供的数组值函数的一些设施,还提供了一些新的内在过程,用来操作放构造数组,实现案集/分散运算,并用来支持与数组有关的扩展的计算能力。例如,提供了一个内作函数,用米对某个数组中的元素求和。数值计算
科学计算是Fortran的基本应用领域之一,而且本标准全部技术T.作的指导目标是加强Fortran语GB/T3057-1996
言使之或为实现科学领域软件的工其。尽管在科学应用系统中非数值计算急增长,但数值计算仍处于主导地位。相应的·这些扩充包括:对数值精度说明的可移植控制;对数值内部表示特征的查询;以及改进了的对数值程序性能的控制(例如,改进了的变元范围的减少与求比例)。参数化的字符数据类型
对于诸如在中国,日本这类使用大字符集的民族语言,通过使用一种用于学衍数据类型的种别(Kind)参数而增加了用于多字节字符数据的一些可选设施。这种设施也允许使用用于各种特殊月的的附加宇符集,诸如用丁数学、化学或音乐等方面的字符。导出类型
“导出类型”是本标准给予下述这样一组功能的术语:这些功能允许程序员定义一些任意的数据结构并定义对这些数据结构进行的运算。数据结构是用户定义的、且由内在数据类型和导出数据类型构成的聚集。对结构化对象的内在的使用包括赋值、输入/输出以及作为过程变元使用。若不带有由用户定义的、附加的导出类型运算,则该导出数据类型设施是一种简单的数据结构机制。若带有附加的运算定义,则该导出类型为数据抽象提供了一种有效的实现机制。过程定义可以用于定义对内在类型或导出类型的运算,也可以用于定义对内在类型及导出类型的非内在赋值。
模块定义
在FORTRAN77中,无法仅仅在一个地方就定义一个全局数据区域并且使得:·个应用系统中的全部程序单元都使用该定义。此外,在实现一组相关的过程(可能涉及公用数据对象)时,ENTRY语句是不方便的且很受限制。最后,在FORTRAN77中没有一种手段使得各个过程定义(尤其是其接口信息)对一个程序单元而言能成为是局部已知的。这些以及其他一些缺陷都由-种新类型的序单元来弥补,这种程序单元可以包含数据对象声明、导出类型定义、程定义以及过程接口信息等的任意组合。这种称为模块的程序单元可以被认为是块数据程序单元的普遍化及替代品。模块可由任何程序单元所访问,从而使得该模块的内穿对该程序单元是可使用的。于是,模块提供了一些改进的设施,用来定义全局数据区域、过程包及封装的数据抽象等。指针
指针允许数组成为动态大小的及重新排列的,指针还允许结构成为链接的,以便创建表、树及图一个任意内在类型或导出类型的对象都可以声明为具有指针属性。一旦这样一种对象变为是与一个目标相结合的,它几乎可以出现在一个具有相同类型、相阿类型参数及相同形的非指针对象可以出现的任何地方。
语言的变途
随誉一些新的设施的增加,某些旧功能变成亢余的,并由于其用途的衰减,可能最终被淘汰。例如:前面间接提及的数值设施提供了双精度的功能;由于新的数组设施,导致非一致的变元结合(诸如一个数组元紊与一个虚拟数组相结合)是不必须的(并且,事实上作为数组运算它是不太有用的);块数据程序单元是瓦余的、且势子模块等。作为本语言变迁的一部分,提供了*个(已册除的及过的)语言功能的目录,以便允许本语言中无用的功能从未来的标难中删去。GB/T30571996
本标准的构成
本文件由14章构或,论及7个概念领域。这7个领域以及论述此领域的各章如下,高级/低级概念
数据概念
执行控制
输入/输出
程序单元
作用域及结合规则
高级/低级摄念
第1,2.3章
第4.5、6章
第7、13章
第8章
第9、10章
第11,12章
第14章
第2章(Fprtran术语和概念)里包含了许多Fortran的高级概念。它们包括有关一个可执行程序的概念及其主要部分之间的关系,本章还包括了程序单元的语法,语句顺序的规则以及贯穿本文件而被使用的许多基本术语的定义。
第3章(字符、词法记凸和源程序形式)描述了Fortran的低级元素,诸如字符集及允许的源程序形式。其中也包含了为Fortran实体构造字面常量及名字的规则,并列出了全部Fortran运算符。数据概念
数组运算(以数组作为数据对象)及数据结构提供了Foriran中丰富的数据概念集合。其中主要的概念是数据类型的概念,数据对象的概念以及数锯对象的使用的概念,这些概念分别在第1、5、6章中描述。
第4章(内在的和导出的数据类型)描述了一种数据类型与一个数据对象之间的区别,然后重点描迷了数据类型,本章把一种数据类型定义为:各个数据值、表示这些值的相应的各种形式(期各种常量)以及对这些值的各种运算的一个巢合。本章也介绍了内在数据类型的概念,并描述了Fortran的种内在类型(INTEGER,REAL.COMPLEX,LOGICAI.及CHARACTER)的性质。注意,这里只描述了数据对象的类型概念,而没有描述数据对象的声明及其性质的概念。第4章还引入了导出(用户定义的)数据类型的概念,这些类型是一些复合类型,其成分最终将分解为内在类型,给出了定义导出类型的细则(注意:由于内在类型是预定义的,因而不需要也不可能由程序员再定义,四而,内在类型没有对应部分)。与内在类型一样,本章仅仅论及导出类型的类型性质,而不论及导出类型数据对象的声明。
第5章(数据对象的声明与说明)详细地描述如何声明有名的数据对象,以及如何给它们以所希塑的性质(属性)。数据对象的个重要属性(也即唯一的对每个数据对象都是必须的属性)是该对象的数据类型,因此,类型声明语句是本章的主要功能。本章详细地描述了各种属性以及说明这些属性的两种方法(类型声明语句及属性说明语句)。本章还描述了隐式地确定类型和存储结合(COMMON及EQUIVALENCE),以及数据对象值的初始化。第6章(数据对象的使用)主要论及变最的概念,并描述了变基能具有的各种形式。标量变垦包括字符串及子串、结构(导出类型)对象、结构成分以及数组元素。数组及数组片段均被认为是变量。在各种数组设施中,本章描述了数组片段(子数组)以及数组的分配及去分配(用户控制的动态数组)。计算
第7章(表达式和赋值)描述了Fortran中如何表达各种计算。这包括在这些表达式中的表达式GB/T3057—1996
操作数(初等量)能具有的形式以及运算符的作用。运算符的优先级用讲法规则的形式严格地进行了定义,并以表格形武进行了总结,这章的猫述包括了定义的运算符(用广定义的运算符)与内在运算符(十,*、AND,、R,等)的关系。本章详细地描述了对表达式求值的规则以及对内在的运算符及定义的运算符的解释规则(语义)。
第7章还捕述了把计算结果赋给数据对象的赋值,它有三种基本的形式,传统的赋值语句,指针赋值句,以及WHERE语句及WHERE构造。其中,WHERE语句及WHERE构造允许屏蔽的数组赋值。
第13章(内在过程>描述了百多·个内在过程,它们提供了一组十富的计算能力,除FORTRAN77中已有的内在函数之外,还包括了许多数组处理函数,他括一组完的数值环境查询函数,以及包括·组以非负整型数据形式操作位运算的过程。执行控制
第8章(执行控制)描述了各种控制构造(IF梅造、CASE构造及DO构造等)、各种分支语句(各种形式的GOTO)以及其他控制语句(IF、算术IF、CONTINUE、STOP以及PAUSE等)。除了新增加的CASE构造以外,以及为包括一个ENDDO终止可选语句、包括几个新增的控制子句以及包括新增的EXIT和CYCEE语句而扩充的TX)循环以外+其他语句都与FORTRAN77中的相同。输人/输出
第9章(输入/输出语句)包含了对下述概念的定义:记录,文件;文件连接(OPEN,CLOSE及预连接文件);包括处理部分记录及变长记录的各种数据传翰语句(READ、WRITE及PRINT等):文件定位及文件查询(INQUIRE)。
第10章(输入/输出编辑)描述了输入/输出格式,其中包括了FORMAT语句及FMT=说明符、编辑猫述符、表掠输入/输出及名表输入/输出等程序单元
第11章(程序单元)插述了主程序、外部辅程序、模块以及块数据程序单元。模块连同USE语句一起,被描述为封装巾其他程序单元使用(访问的数据和过程定义的一种机制。模块被描述为用来定义下述各项目的工具:各种全局的导出类型定义、全局的数据对象声明、过程库以及它们的各种组合。第12章(过程)包含了对过程(包括用户定义的函数及子程序)的定义及援引1的综合论述。本章解释了隐式及显式过程接口的概念,标识出了要求有显式过程接口的各种情况,还描述了管理实元及虚元以及它们的结个的规则,
第12章还描述了在接L块中使用OPERATOR可选项,用以允许用中缀运算符和前缴运算衍的形式以及用传统的函数形式对函数进行援引。类似地,本章还猫述了在接口块中使用ASSIGNMENT可选项,以使允诈使用子程序调用的一种替代语法。本章还包含了对递归过程、RFTURN语句,ENTRY语、内部过程及CONTAINS语句、语句函数、类属过程名以及访问非Fortran过程的方法等的摧述。
作用域及结合的规则
第14章(作用域、结合和定义)解释了术语\作用域\(由于增加了内部过程、模块及其他新功能,现在显得特别重要)的使用,并且措述了各种实体(包括各种名字及各种运算符)的作用域性质;也描述了管理过程变元结合、指针结合以及存储结合的一般规则。最后,第14章还描述了导致变量变为定义(具有预死的)的事件以及导致变量变为无义的事件。1概述
中华人民共和国国家标准
信息技术程序设计语言Fortran
Informatlon technalegy
Programming language—FortranGB/T 3057—1996
idt IS0/IEC 1539: 1991
代替GR3057--82
1.1范围
本标准规定「以Fortran语言表示的程序的形式,并建立以Fortran语吉表示的程序的解释。本标准的日的是对在各种计算系统上使用的Fortran程序增进其可移植性,可靠性、可维护性并有效地执行。
1.2处理系统
一个计算系统和一种机制的组合,用这个机制来转换程序,使该程序在该计算系统上可以使用,在本标滞中就称此组合为处理系统。1.3包含和排除
本标准以标识出包含哪些条款和排除哪些条款的方法规定Fortran语言的界限,1.3.1包含
本标准规定:
(1)用Fortran语言书写的程序可以采用的各种形式:(2)解释一个程序及其数据的含义的一些规则:(3)由这种程序处理的输人数据的形式;(4)由使用这种程序而产生的输出数据的形式。1.3.2排除
本标准不规定:
(1)在计算系统上使用而转换程序的机制(2)为在计算系统上使用程序,而建立和挖制此程序所需的操作;(3)程序的转换方法,或来自存储介质或到存储介质中去的它们的输入或输出数据的方法:(4)除了1.4的(2)至(8)项中对处理系统的检测和报表露求外,当本标准的规则对建立一个解释失败时,程序和处理系统的性能:(5)程疗及其数据的大小或复杂性,它们可能超过任何专用计算系统的容量或特定处理系统的容量,
(6)在特定处理系统上,量的表示法的物理性质以及数值的舍入、近似和计算的方法,(7)输入/输出记录、文件和单元的物理性质;(8)存储器的物理性质和执行过程。1.4遵循性
本标准中规定的需求、禁止和可选基本涉及到遵循标准的程序能允许的形式和关系,而不涉及处理系统。
若可执行程序(见2.2.1)只包含在此描述的形式和关系,并且可执行程序有按照本标准的解释,则国家技术监督局1996.12-18批准1997-07-01实施
GB/T 3057—1996
该可执行序是邀循标准的程序。若程序单元(见2.2)能以这样的方式包含在可执行程序中,即充许可执行程序遵循标准,则该程序单元是遵循本标准的。个处理系统遵循本标准,若:
1)它用这样一种方法执行任何遵循标准的程序,它遵循这里的解释,服从任何限制,处理系统可以把这些限制强加在程序的大小和复杂性.L。(2)它包括了检测和报告下述使用的能力,即在所提交的程序单元内使用了这里指明是删除的或过时的形式,这种使用能用编号的语法规则以及和它们相关的约束检测出来。(3它包括了橙翘和报告下述使用的能力,即在爆交的程序单元内使用了编号的培法规则以及和它们相关的约束所不允许的附加形式或关系。(4)它包括了检测和报告下述使用的能力,即在提交的程序单元内使用了处理系统不支持的种别类型参数值(见4.3)。
(5)它包括了检测和报告下述使用的能力,即在提交的程序单元内使用了第3章不允许的源程序形式或字箱,
(6)它包括了检测和握告下述使用的能力,即在提交的程序内名学用法的便用与第14章中的名学,标号,运算符以及赋值符号的作用感规则不致。(7)它包括了检测和报告下述使用的能力,即在提交的程序单元内使用了第13章中末定义名字的内在过程。
(8)它包括了检测和报告拒绝-个提交的程序的埋由的能力。然而,在不是formal-stmt(见10.1.1)的一部分的farmat-specificatirm中,处理系统不需要检测及握告被删除的功能或过时的功能的使用,或附加形式或关系的使用。遵循标摊的处理系统可以允许附加形式和关系,只要这种附加和标准的形式及关系不相抵触。然而,遵循标准的处理系统可以允许附加的内在过程,即使这样做能引起和遵循标准的程序中的过程名相抵触也没关系,若这样的抵触发牛并涉及外部过程名,允许处理系统使用内在过程,除非这个名字被给出一个接I1体或被给出同一作域单元(见第14章)中的 FXTFRNAI.属性。遵循标准的程序不允许使用由处理系统增加的非标准内在过程。注意、遵循标准的程序不允许包含国家标准中禁止的任何形式或关系,但若这些形式或关系不改变遵循国家标准的程序的圃有解释,则避循标准的处理系统可以允许这种形式或关系存在,例如,遵循标准的处理素统可以充并另外的内在数据类型。因为遵循标准的程序可以对处理系统提出超出本标准范围的要求或可以包括非可移植的标准条款,如借助于非Fortran定义的外部过程,遵循本标准并不保证遵循标准的程序在所有或任何遵循标准的处理系统上将一致地执行。
作某些情况中,本标准允许某些设施的规定条目,这些设施不完全是在标准中规定的。这些设施被标识为依赖于处理系统的·它们必须和由处理系统确定的方法或语义·-起向使用者提供。1.4.1FORTRAN77的兼容性
除了本章中注出的之外,本标准是对先前的Fortran国家标准GB3057一82,即非正式地称为FOR-TRAN77的一个问上兼容的扩充,对本标雄而言遵循国家标准的处理系统也就是对FORTRAN77而言是遵循国家标准的处理系统。任何遵循标准的FORTRAN77程序仍然是在本标准之下遵循标准的;然而,应该参见下面(4)项中有关内在过程部分,本标准限制了某些在FORTRAN77中依赖于处理系统的功能的行为。所以使用这些依赖丁处理系统的功能中的一个功能的这种遵循标准的FORTRAV77程序在本标准下就可能有一个不同的解释,但仍然是一个遵循标准的程序。在本标准中下列FORTRA.V77的性质有不同的解释:(1)当用常量米初始化DATA语何中个DOUBI.EPRECISION数据对象时,FORTRAV77允许处理系统提供比在实型数据中所能包括的销度更精确的精度,而此精度是从实型常量导出的本标准不允许处理系统有此可选性。
GB/T 3057—1996
(2)若一个不在公共块中的有名变量是在T>ATA语句中初始化的且没有规定SAVE属性,FORTRAN77把它的SAVE属性留给所依赖的处理系统。本标准规定(见5.2.9)此有名变量有SAVE属性。
(3)FORTRAN77要求:由输入表要求的字符个数必须小于或等于格式化输人期间在记录中的字符个数。除了在适当的OPEV语句中规定PAD=\NO”可选项之外,本标准规定(见9.4.4.4.2)若在记录中没有足够的字符则用空格逻辑地填充输入记录。(4)本标准比FORTRAN77具有更多的内衣函数并加了很少的内在子程序。然而,若遵循标准的FO)RTRAN77程序援引具有和1新的标准内过程中的某个同样名字的过程,则它在本标准之下就有不同的解释,除非在·个EXTERNAL语句中将该过程规定为在附录中对非内在函数推荐给FOR-TRAN77标准者之外。
(5)用于格式输出语句中表项的0值对-一些G编辑描述符将有不同形式的格式,此外,Fortran90标准规定,值如何舍人将影响输出字段形式,FORTRAN77不涉及这个问题:因此,些FOR-TRAN77处理系统对值和G编辑描述符的某些组合将产生与Fortran90处理系统不同的输出形式,(6)FORTRAN77允许对内在函数进行说明,其至在对该类型没有定义的函数时亦可。例如INTRINSIC SIN
IOGICA. SIN
本标准规定(5.1),对内在函数的一个类型声明只可以确认现存的函数的类型。于是,符合标准的FOR-TRAN77程序说明了个不是为某内在函数定义的类型,将不遵守本标准。1.5本标准中使用的记法
在本标谁中,“必须\解释为需要,“必须不”解释为禁止。1.5.1语法规则
语法规则用来协助摘述Fortan的词法记号、语句和构造可以采取的形式。这些语法规则以巴科斯.诺尔范式(BNF)的一个变形来表示,其中:(1)除了注出的之外,来自Fottan字符集(见3.1)的宇符要按规定的形式来书写。(2小写的斜体字母及词(常用连字符连接并缩写)表示通用语法类,其中特定的语法实体必须以真正的语句代替。在语法术语中使用的某些共同辙写是:stmt
为语句
为表达式
为说明符
为变元
为属性
为声明
为定义
为捕述符
为运算符
(3)使用的语法元符号是:
(statement)
(expression)
(specificr)
(intcger)
(argument)
(attribute)
(declaration)
(definition)
(descriptor)
(operator)
引入一个语法类定义
引入一个语法类替换
括入一个任选条款
括入一个任选重复条款,此重复条款可出现零次或多次继续:-个语法规则
GB/T 3057--1996
(4)每个语法规则都给予形式为Rsn 的一个唯一的标识号,其巾s是位或两位的章号,nn 是该章中的两位顺序号。语法规则适当地分布在整个正文之中,并在需要时按标识号引用。第2章和第3章中的某些规则在较后的章节中有更详细的描述,在这种情况下,章号s是该规则被重友时的较后的那个章号。规则在附录D中收集在一起了。(5)语法规则不是Forran的完全和精确的语法描述,并且不能用来自动尘成Fortran语法分析程序,在诺法规则不完全处,都附有相应的约束和正文。(6)以字形的大小区别来指出过时的功能(见1.6),这对过时的功能使用字形大小的一个例了。使用语法规则的一·个例子是:digit-stringis
digit[digit]
以下形式是以上规则所允许的一个数字串形的例了:dligit
digit digit
digit digit digit digit
digit digit digit digit digit digit digit digit当对digit替换以特定的实体时,真正的数字串可以是:4
10243852
1.5.2假定的语法规则
为使附加的语法规则个数减至最小以及为传递适当的约束信息,规定了下列规则。字母“ryz”代表任何合法的语法类短语:
tye-list
tyz-name
xcatar-rye
约束:statar-ryz必须是标量。1.5.3语法惯例和特征
(1)任何以\-stmt\结束的语法类名遵守源程序形式语的规则:它必须由行结束或分号来终止若它未形成为另一语句(如IF 或WHERE语句)的一部分,则它可被标号。反之,被看作是源程序形式语句的任何东西都在语法规则中给出\-stmt\结束。(2)语句搏列的规则在program-unit(见R202-R216)的定义中严格地描述了表达式层次在erp(见R723)的定义中严格地描述了。(3)后缴\-spec\一般用于说明符,如输入/输出语句说明符。也用于类型声明属性说明(例娜,R512中的“array-spec\),以及其他很少的情况中。(i)当对类型参数(包括括着的圆括号)进行引用时,使用术语\选择符\。参见“length-selector\(见R507)和hind-seleetar\(见R505)。(5)术语\suhsrripl\(例如R617、R618和R619)一般用于数组定义中。1.5.4正文惯例
在描述性正文中,通常使用与BNF语法术语等价的正规英文词。在正文中用大写关键词标识特定的语句和属性,例如,“END\语句。在正文中也使用黑体字,在那里以特定的意义对它们进行第一次定艾。
被删除的和过时的功能
本标准保护用广在已有软件中的投资,这通过包括了所有不依赖于处理系统的FORTRAN77的语GB/T 3057-1996
言元素来实现。本文件标识了两类过时的功能。没有任何内容在第一类即被翻除的功能中,它由在FORTRAV77中被认为已是穴余并极少使用的功能所组成。在第二类即过时的功能是在FORTRAN77中被认为已是亢余的、但仍在频繁使用的功能。1.6.1被删除功能的本性
(1)在FORTRAN77中已有的较好方法,(2)这些功能不包含在Fortran的这一版本中。1.6.2过时功能的本性
(1)在FORTRAV77中已有较好方法(2)建议稳序员在新程序中使用这些较好的方法并把现存的代码转换为这些方法(3)在本文件的正文中用有区别的字型(见1.5.1)标识出了这些功能。(4)若这些功能的使用在Fortran程序中经无意义,可考虑在下一个版本中除它们。(5)向下一个Fortran标准委员会建议考虑只删除出现在过时的功能表中的这些语言功能。(6)只要这些功能继续广泛用于Furtrat程序,建议支持Fortran语言的处理系统继续支持这些功能。
1.7模块
本标推提供了促进模块和可重用软件的设计和使用的设施。数据和对过程的各种定义可以纽织到称为模块的非可执行程序单元内,并使之能用于任何其他的程序单元。除全局数据和过程库设施外,模块也对定义数据抽象概念和为某些语言的扩展提供了种机制。在11.3描述了模块,可把模块标准化成一个分离的附属标准。标准模块必须不使用任何过时的功能,既不使用任何非标准形式也不使用任何非标准关系。1.8引用标准
下列标准所包含的条文,通过在本标准中的引用而构成为本标准的条义.本标准出版时,所示版本均为有效。所有的标准都会被修订·使用本标准的各方应探讨使用下列标准最新版本的可能性GB/T7408—94数据元和交换格式信息交换日期和时间的表示方法(eqIS08601:1988)GB1988—89信息处理信息交换用七位编码字符集(eqvIS)646:1983)CCIR 建议 460-2
2Fortran术语及概念
2.1高级语法
本章介绍「和程序单元有关的术语以及在构造、语句和各表达式级以上的其他Forlran概念,并阐明它们之间的关系,1.5.1中描述了语法规则的记法。注意,本章中某些语法规则遵守在较后章条中适当地方给出的约束。
R201erecutable-prugram
rogram-unin
Epragtamn-rit]-
一个czrecutable-program 必须精确地包合一个main-proram program-unit。R202 program-nit
R1101 main-progran
main-program
eriernal szbprogram
module
blockdata
Fprogram-stmt7
[speeification parr]
[eretion-perl]
R203 erternaf-subprugram
R1215function-subprogram
R1219 subroutite-subprogrm
R1104 module
R1llBock-data
R204 sperificalion-part
R205 inplirif-fart
R206 impticit-purt-siml
R207 derlaratinn-canstruct
R208 exetwim-part
R209 execution-part-construrtR210 inernat-subprogram-partGB/T 3057-:1996
[internai-sub program-puzrt]end-sub program-slmt
frunction-suhprogram
swbrouine subprogram
funetian-stmt
[speei ficavton-purt]
[execution-part?
[internal subprogram-part]
end-function-stmt此内容来自标准下载网
subroutinte-stmt
[specification parr]
[eaecutiam-part]
[internatl-subprogram-pari
end-snbroutine-stmt
mod ule-stmt
[specification- purt]
[module-progrum-purr]
end-mudufe-stnt
bock-datu-stmt
[tperification-part]
ernd-btock-datu-stmt
[use-stmt]...
[im plicit-part.
[deelaration-construcs ].
[implicit-part-stmt ]...
imptiet-stmt
imptictt-stm
parameter-tmt
farmat-stmt
entry-stme
derited-type-def
inter face-bork
type-declaration-simt
deelaration-stmt
parameter-stmt
format-stmt
entrgr-stmt
stnt-funcrion-stnl
erecutable-constrre!
[eaecution-purt-consiruet ]...exetabte-tunstruct
frmut-stnt
daa-stnt
earystmt
comtains-xtmt
internat-subprugrum
[internat-wbprogram]...
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。