Table of Contents (original) (raw)

X3J3/90.4

TITLE

1 INTRODUCTION

1.1 Purpose

1.2 Processor

1.3 Scope

1.3.1 Inclusions.

1.3.2 Exclusions.

1.4 Conformance

1.4.1 Subset Conformance.

1.5 Notation Used in This Standard

1.6 Subset Text

2 FORTRAN TERMS AND CONCEPTS

2.1 Sequence

2.2 Syntactic Items

2.3 Statements, Comments, and Lines

2.3.1 Classes of Statements.

2.4 Program Units and Procedures

2.4.1 Procedures.

2.4.2 Executable Program.

2.5 Variable

2.6 Array

2.6.1 Array Elements.

2.7 Substring

2.8 Dummy Argument

2.9 Scope of Symbolic Names and Statement Labels

2.10 List

2.11 Definition Status

2.12 Reference

2.13 Storage

2.14 Association

3 CHARACTERS, LINES, AND EXECUTION SEQUENCE

3.1 FORTRAN Character Set

3.1.1 Letters.

3.1.2 Digits.

3.1.3 Alphanumeric Characters.

3.1.4 Special Characters.

3.1.5 Collating Sequence and Graphics.

3.1.6 Blank Character.

3.2 Lines

3.2.1 Comment Line.

3.2.2 Initial Line.

3.2.3 Continuation Line.

3.3 Statements

3.4 Statement Labels

3.5 Order of Statements and Lines

3.6 Normal Execution Sequence and Transfer of Control

4 DATA TYPES AND CONSTANTS

4.1 Data Types

4.1.1 Data Type of a Name.

4.1.2 Type Rules for Data and Procedure Identifiers.

4.1.3 Data Type Properties.

4.2 Constants

4.2.1 Data Type of a Constant.

4.2.2 Blanks in Constants.

4.2.3 Arithmetic Constants.

4.2.3.1 Signs of Constants.

4.3 Integer Type

4.3.1 Integer Constant.

4.4 Real Type

4.4.1 Basic Real Constant.

4.4.2 Real Exponent.

4.4.3 Real Constant.

4.5 Double Precision Type

4.5.1 Double Precision Exponent.

4.5.2 Double Precision Constant.

4.6 Complex Type

4.6.1 Complex Constant.

4.7 Logical Type

4.7.1 Logical Constant.

4.8 Character Type

4.8.1 Character Constant.

5 ARRAYS AND SUBSTRINGS

5.1 Array Declarator

5.1.1 Form of an Array Declarator.

5.1.1.1 Form of a Dimension Declarator.

5.1.1.2 Value of Dimension Bounds.

5.1.2 Kinds and Occurrences of Array Declarators.

5.1.2.1 Actual Array Declarator.

5.1.2.2 Dummy Array Declarator.

5.2 Properties of an Array

5.2.1 Data Type of an Array and an Array Element.

5.2.2 Dimensions of an Array.

5.2.3 Size of an Array.

5.2.4 Array Element Ordering.

5.2.5 Array Storage Sequence.

5.3 Array Element Name

5.4 Subscript

5.4.1 Form of a Subscript.

5.4.2 Subscript Expression.

5.4.3 Subscript Value.

5.5 Dummy and Actual Arrays

5.5.1 Adjustable Arrays and Adjustable Dimensions.

5.6 Use of Array Names

5.7 Character Substring

5.7.1 Substring Name.

5.7.2 Substring Expression.

6 EXPRESSIONS

6.1 Arithmetic Expressions

6.1.1 Arithmetic Operators.

6.1.2 Form and Interpretation of Arithmetic Expressions.

6.1.2.1 Primaries.

6.1.2.2 Factor.

6.1.2.3 Term.

6.1.2.4 Arithmetic Expression.

6.1.3 Arithmetic Constant Expression.

6.1.3.1 Integer Constant Expression.

6.1.4 Type and Interpretation of Arithmetic Expressions.

6.1.5 Integer Division.

6.2 Character Expressions

6.2.1 Character Operator.

6.2.2 Form and Interpretation of Character Expressions.

6.2.2.1 Character Primaries.

6.2.2.2 Character Expression.

6.2.3 Character Constant Expression.

6.3 Relational Expressions

6.3.1 Relational Operators.

6.3.2 Arithmetic Relational Expression.

6.3.3 Interpretation of Arithmetic Relational Expressions.

6.3.4 Character Relational Expression.

6.3.5 Interpretation of Character Relational Expressions.

6.4 Logical Expressions

6.4.1 Logical Operators.

6.4.2 Form and Interpretation of Logical Expressions.

6.4.2.1 Logical Primaries.

6.4.2.2 Logical Factor.

6.4.2.3 Logical Term.

6.4.2.4 Logical Disjunct.

6.4.2.5 Logical Expression.

6.4.3 Value of Logical Factors, Terms, Disjuncts, and Expressions.

6.4.4 Logical Constant Expression.

6.5 Precedence of Operators

6.5.1 Summary of Interpretation Rules.

6.6 Evaluation of Expressions

6.6.1 Evaluation of Operands.

6.6.2 Order of Evaluation of Functions.

6.6.3 Integrity of Parentheses.

6.6.4 Evaluation of Arithmetic Expressions.

6.6.5 Evaluation of Character Expressions.

6.6.6 Evaluation of Relational Expressions.

6.6.7 Evaluation of Logical Expressions.

6.7 Constant Expressions

7 EXECUTABLE AND NONEXECUTABLE STATEMENT CLASSIFICATION

7.1 Executable Statements

7.2 Nonexecutable Statements

8 SPECIFICATION STATEMENTS

8.1 DIMENSION Statement

8.2 EQUIVALENCE Statement

8.2.1 Form of an EQUIVALENCE Statement.

8.2.2 Equivalence Association.

8.2.3 Equivalence of Character Entities.

8.2.4 Array Names and Array Element Names.

8.2.5 Restrictions on EQUIVALENCE Statements.

8.3 COMMON Statement

8.3.1 Form of a COMMON Statement.

8.3.2 Common Block Storage Sequence.

8.3.3 Size of a Common Block.

8.3.4 Common Association.

8.3.5 Differences between Named Common and Blank Common.

8.3.6 Restrictions on Common and Equivalence.

8.4 Type-Statements

8.4.1 INTEGER, REAL, DOUBLE PRECISION, COMPLEX, and LOGICAL Type-Statements.

8.4.2 CHARACTER Type-Statement.

8.5 IMPLICIT Statement

8.6 PARAMETER Statement

8.7 EXTERNAL Statement

8.8 INTRINSIC Statement

8.9 SAVE Statement

9 DATA STATEMENT

9.1 Form of a DATA Statement

9.2 DATA Statement Restrictions

9.3 Implied-DO in a DATA Statement

9.4 Character Constant in a DATA Statement

10 ASSIGNMENT STATEMENT

10.1 Arithmetic Assignment Statement

10.2 Logical Assignment Statement

10.3 Statement Label Assignment (ASSIGN) Statement

10.4 Character Assignment Statement

11 CONTROL STATEMENTS

11.1 Unconditional GO TO Statement

11.2 Computed GO TO Statement

11.3 Assigned GO TO Statement

11.4 Arithmetic IF Statement

11.5 Logical IF Statement

11.6 Block IF Statement

11.6.1 IF-Level.

11.6.2 IF-Block.

11.6.3 Execution of a Block IF Statement.

11.7 ELSE IF Statement

11.7.1 ELSE IF-Block.

11.7.2 Execution of an ELSE IF Statement.

11.8 ELSE Statement

11.8.1 ELSE-Block.

11.8.2 Execution of an ELSE Statement.

11.9 END IF Statement

11.10 DO Statement

11.10.1 Range of a DO-Loop.

11.10.2 Active and Inactive DO-Loops.

11.10.3 Executing a DO Statement.

11.10.4 Loop Control Processing.

11.10.5 Execution of the Range.

11.10.6 Terminal Statement Execution.

11.10.7 Incrementation Processing.

11.10.8 Transfer into the Range of a DO-Loop.

11.11 CONTINUE Statement

11.12 STOP Statement

11.13 PAUSE Statement

11.14 END Statement

12 INPUT/OUTPUT STATEMENTS

12.1 Records

12.1.1 Formatted Record.

12.1.2 Unformatted Record.

12.1.3 Endfile Record.

12.2 Files

12.2.1 File Existence.

12.2.2 File Properties.

12.2.3 File Position.

12.2.4 File Access.

12.2.4.1 Sequential Access.

12.2.4.2 Direct Access.

12.2.5 Internal Files.

12.2.5.1 Internal File Properties.

12.2.5.2 Internal File Restrictions.

12.3 Units

12.3.1 Unit Existence.

12.3.2 Connection of a Unit.

12.3.3 Unit Specifier and Identifier.

12.4 Format Specifier and Identifier

12.5 Record Specifier

12.6 Error and End-of-File Conditions

12.7 Input/Output Status, Error, and End-of-File Specifiers

12.7.1 Error Specifier.

12.7.2 End-of-File Specifier.

12.8 READ, WRITE, and PRINT Statements

12.8.1 Control Information List.

12.8.2 Input/Output List.

12.8.2.1 Input List Items.

12.8.2.2 Output List Items.

12.8.2.3 Implied-DO List.

12.9 Execution of a Data Transfer Input/Output Statement

12.9.1 Direction of Data Transfer.

12.9.2 Identifying a Unit.

12.9.3 Establishing a Format.

12.9.4 File Position Prior to Data Transfer.

12.9.4.1 Sequential Access.

12.9.4.2 Direct Access.

12.9.5 Data Transfer.

12.9.5.1 Unformatted Data Transfer.

12.9.5.2 Formatted Data Transfer.

12.9.5.2.1 Using a Format Specification.

12.9.5.2.2 List-Directed Formatting.

12.9.5.2.3 Printing of Formatted Records.

12.9.6 File Position After Data Transfer.

12.9.7 Input/Output Status Specifier Definition.

12.10 Auxiliary Input/Output Statements

12.10.1 OPEN Statement.

12.10.1.1 Open of a Connected Unit.

12.10.2 CLOSE Statement.

12.10.2.1 Implicit Close at Termination of Execution.

12.10.3 INQUIRE Statement.

12.10.3.1 INQUIRE by File.

12.10.3.2 INQUIRE by Unit.

12.10.3.3 Inquiry Specifiers.

12.10.4 File Positioning Statements.

12.10.4.1 BACKSPACE Statement.

12.10.4.2 ENDFILE Statement.

12.10.4.3 REWIND Statement.

12.11 Restrictions on Function References and List Items

12.12 Restriction on Input/Output Statements

13 FORMAT SPECIFICATION

13.1 Format Specification Methods

13.1.1 FORMAT Statement.

13.1.2 Character Format Specification.

13.2 Form of a Format Specification

13.2.1 Edit Descriptors.

13.3 Interaction Between Input/Output List and Format

13.4 Positioning by Format Control

13.5 Editing

13.5.1 Apostrophe Editing.

13.5.2 H Editing.

13.5.3 Positional Editing.

13.5.3.1 T, TL, and TR Editing.

13.5.3.2 X Editing.

13.5.4 Slash Editing.

13.5.5 Colon Editing.

13.5.6 S, SP, and SS Editing.

13.5.7 P Editing.

13.5.7.1 Scale Factor.

13.5.8 BN and BZ Editing.

13.5.9 Numeric Editing.

13.5.9.1 Integer Editing.

13.5.9.2 Real and Double Precision Editing.

13.5.9.2.1 F Editing.

13.5.9.2.2 E and D Editing.

13.5.9.2.3 G Editing.

13.5.9.2.4 Complex Editing.

13.5.10 L Editing.

13.5.11 A Editing.

13.6 List-Directed Formatting

13.6.1 List-Directed Input.

13.6.2 List-Directed Output.

14 MAIN PROGRAM

14.1 PROGRAM Statement

14.2 Main Program Restrictions

15 FUNCTIONS AND SUBROUTINES

15.1 Categories of Functions and Subroutines

15.1.1 Procedures.

15.1.2 External Functions.

15.1.3 Subroutines.

15.1.4 Dummy Procedure.

15.2 Referencing a Function

15.2.1 Form of a Function Reference.

15.2.2 Execution of a Function Reference.

15.3 Intrinsic Functions

15.3.1 Specific Names and Generic Names.

15.3.2 Referencing an Intrinsic Function.

15.3.3 Intrinsic Function Restrictions.

15.4 Statement Function

15.4.1 Form of a Statement Function Statement.

15.4.2 Referencing a Statement Function.

15.4.3 Statement Function Restrictions.

15.5 External Functions

15.5.1 Function Subprogram and FUNCTION Statement.

15.5.2 Referencing an External Function.

15.5.2.1 Execution of an External Function Reference.

15.5.2.2 Actual Arguments for an External Function.

15.5.3 Function Subprogram Restrictions.

15.6 Subroutines

15.6.1 Subroutine Subprogram and SUBROUTINE Statement.

15.6.2 Subroutine Reference.

15.6.2.1 Form of a CALL Statement.

15.6.2.2 Execution of a CALL Statement.

15.6.2.3 Actual Arguments for a Subroutine.

15.6.3 Subroutine Subprogram Restrictions.

15.7 ENTRY Statement

15.7.1 Form of an ENTRY Statement.

15.7.2 Referencing External Procedure by Entry Name.

15.7.3 Entry Association.

15.7.4 ENTRY Statement Restrictions.

15.8 RETURN Statement

15.8.1 Form of a RETURN Statement.

15.8.2 Execution of a RETURN Statement.

15.8.3 Alternate Return.

15.8.4 Definition Status.

15.9 Arguments and Common Blocks

15.9.1 Dummy Arguments.

15.9.2 Actual Arguments.

15.9.3 Association of Dummy and Actual Arguments.

15.9.3.1 Length of Character Dummy and Actual Arguments.

15.9.3.2 Variables as Dummy Arguments.

15.9.3.3 Arrays as Dummy Arguments.

15.9.3.4 Procedures as Dummy Arguments.

15.9.3.5 Asterisks as Dummy Arguments.

15.9.3.6 Restrictions on Association of Entities.

15.9.4 Common Blocks.

15.10 Table of Intrinsic Functions

15.10.1 Restrictions on Range of Arguments and Results.

16 BLOCK DATA SUBPROGRAM

16.1 BLOCK DATA Statement

16.2 Block Data Subprogram Restrictions

17 ASSOCIATION AND DEFINITION

17.1 Storage and Association

17.1.1 Storage Sequence.

17.1.2 Association of Storage Sequences.

17.1.3 Association of Entities.

17.2 Events That Cause Entities to Become Defined

17.3 Events That Caused Entities to Become Undefined

18 SCOPES AND CLASSES OF SYMBOLIC NAMES

18.1 Scope of Symbolic Names

18.1.1 Global Entities.

18.1.1.1 Classes of Global Entities.

18.1.2 Local Entities.

18.1.2.1 Classes of Local Entities.

18.2 Classes of Symbolic Names

18.2.1 Common block.

18.2.2 External Function.

18.2.3 Subroutine.

18.2.4 Main Program.

18.2.5 Block Data Subprogram.

18.2.6 Array.

18.2.7 Variable.

18.2.8 Constant.

18.2.9 Statement Function.

18.2.10 Intrinsic Function.

18.2.11 Dummy Procedure.

Appendix A: Criteria, conflicts, and portability

A1 Criteria

A2 Conflicts with ANSI X3.9-1966

A3 Standard Items That Inhibit Portability

A4 Recommendation for Enhancing Portability

Appendix B: Section notes

B1 Section 1 Notes

B2 Section 2 Notes

B3 Section 3 Notes

B4 Section 4 Notes

B5 Section 5 Notes

B6 Section 6 Notes

B7 Section 7 Notes

B8 Section 8 Notes

B9 Section 9 Notes

B10 Section 10 Notes

B11 Section 11 Notes

B12 Section 12 Notes

B13 Section 13 Notes

B14 Section 14 Notes

B15 Section 15 Notes

B16 Section 16 Notes

B17 Section 17 Notes

B18 Section 18 Notes

Appendix C: Hollerith

C1 Hollerith Data Type

C2 Hollerith Constant

C3 Restrictions on Hollerith Constants

C4 Hollerith Constant

C5 Hollerith Format Specification

C6 A Editing of Hollerith Data

C7 Hollerith Constant in a Subroutine Reference

Appendix D: Subset Overview

D1 Background

D2 Criteria

D2.1 Full Language.

D2.2 Subset Language.

D3 Summary of Subset Differences

D3.1 Section 1: Introduction.

D3.2 Section 2: FORTRAN Terms and Concepts.

D3.3 Section 3: Characters, Lines, and Execution Sequence.

D3.4 Section 4: Data Types and Constants.

D3.5 Section 5: Arrays and Substrings.

D3.6 Section 6: Expressions.

D3.7 Section 7: Executable and Nonexecutable Statement Classification.

D3.8 Section 8: Specification Statements.

D3.9 Section 9: DATA Statement.

D3.10 Section 10: Assignment Statements.

D3.11 Section 11: Control Statements.

D3.12 Section 12: Input/Output Statements.

D3.13 Section 13: Format Specification.

D3.14 Section 14: Main Program.

D3.15 Section 15: Functions and Subroutines.

D3.16 Section 16: Block Data Subprogram.

D3.17 Section 17: Association and Definition.

D3.18 Section 18: Scope and Classes of Symbolic Names.

D3.19 Section 1 to 18: Character Type.

D3.19.1 Character Features in the Subset.

D3.19.2 Character Features Not in the Subset.

D4 Subset Conformance.

D4.1 Subset Processor Conformance.

D4.2 Subset Program Performance.

Appendix E: Fortran Statements

Appendix F: Syntax Charts


This document was translated by troff2html v0.21 on August 17, 1995.