语句顺序和执行顺序

语句顺序表中,竖行描述了可以穿插的语句,而横行则描述了不能穿插的语句。

表 1. 语句顺序
程序、函数、子程序、模块、 Fortran 2008 开始子模块 Fortran 2008 结束或 BLOCK DATA 语句
USE 语句
IMPORT 语句
FORMAT 和 ENTRY 语句 IMPLICIT NONE
PARAMETER IMPLICIT 语句 IMPLICIT 语句
PARAMETER 和 DATA 语句 派生类型定义、接口块、类型声明语句、枚举定义、过程声明、规范语句和语句函数语句
DATA 语句 可执行构造
CONTAINS 语句
内部子程序或模块子程序
END 语句

请参阅 程序单元和过程语句和属性 ,以获取有关语句顺序的规则和限制的更多详细信息。

正常的执行顺序是以任何顺序处理对规范函数的引用,然后按照它们在作用域限定单元中出现的顺序处理可执行语句。

控制权转移是对正常执行顺序的更改。 可以用来控制执行顺序的一些语句如下:
  • 控制语句,例如 DOIF
  • 包含 END=ERR=EOR= 说明符的 READWRITE 之类的输入/输出语句。

如果您引用一个由子程序定义的过程,程序的执行将继续,并采用在定义该过程的子程序的作用域限定单元中引用的任何规范函数。 程序将继续执行定义过程的 ENTRYFUNCTIONSUBROUTINE 语句之后的第一个可执行语句。 从子程序返回时,程序的执行将从引用该过程的点继续执行,或者继续执行到由替代返回说明符引用的语句。

在本文档中,特定控制传输中事件序列的任何描述都假定没有任何事件 (例如,错误或 STOP 语句的执行) 会更改该正常序列。