記録構造体

記録構造体は,Compaq Fortran の以前のバージョンでは言語拡張として定義されていました。機能は,標準 Fortran 95/90 構造型で置き換えられていますが,Visual Fortran は依然としてサポートしています。既存のプログラム中の記録構造体は,可搬用のために簡単に Fortran 95/90 構造型構造体に変換することができますが,古い形式として残すこともできます。多くの場合,Compaq Fortran 記録と Fortran 95/90 構造型は互換的に使うことができます。

Compaq Fortran 記録構造体は,Fortran 95/90 構造型に似ています。

記録構造体は,1 つまたは複数の要素を含んでいる言語要素集合です (記録要素は欄または構成要素とも呼ばれます)。記録は,プログラム中で複数欄のデータ構造を宣言し,操作する必要がある場合に使用できます。

記録の作成は,2 つの手順で行います。

  1. 複数文の構造体宣言によって,記録の形式を定義する必要があります。

  2. RECORD 文を使って,記録を名前を持つ言語要素として宣言する必要があります (同じ構造体を複数の RECORD 文で引用することができます)。

組込み型のみを使用する Compaq Fortran 記録構造体は,簡単に Fortran 95/90 構造型に変換できます。変換は,キーワード STRUCTURETYPE に置き換え,スラッシュ (/) 記号を取り除くだけの簡単なものです。以下に変換の例を示します。

記録構造体 Fortran 95/90 構造型
STRUCTURE /employee_name/
  CHARACTER*25  last_name
  CHARACTER*15  first_name
END STRUCTURE
STRUCTURE /employee_addr/
  CHARACTER*20  street_name
  INTEGER(2)    street_number
  INTEGER(2)    apt_number
  CHARACTER*20  city
  CHARACTER*2   state
  INTEGER(4)    zip
END STRUCTURE
TYPE employee_name
  CHARACTER*25  last_name
  CHARACTER*15  first_name
END TYPE
TYPE employee_addr
  CHARACTER*20  street_name
  INTEGER(2)    street_number
  INTEGER(2)    apt_number
  CHARACTER*20  city
  CHARACTER*2   state
  INTEGER(4)    zip
END TYPE<

記録構造体は,他の記録内の下位記録変数として使うことができます。たとえば employee_data の記録としてです。等価な Fortran 90 構造型は,以下に示すように同じような方法で成分として構造型オブジェクトを使います。

記録構造体 Fortran 95/90 構造型
STRUCTURE /employee_data/
  RECORD  /employee_name/ name
  RECORD  /employee_addr/ addr
  INTEGER(4) telephone
  INTEGER(2) date_of_birth
  INTEGER(2) date_of_hire
  INTEGER(2) social_security(3)
  LOGICAL(2) married
  INTEGER(2) dependents
END STRUCTURE
TYPE employee_data
  TYPE (employee_name) name
  TYPE (employee_addr) addr
  INTEGER(4) telephone
  INTEGER(2) date_of_birth
  INTEGER(2) date_of_hire
  INTEGER(2) social_security(3)
  LOGICAL(2) married
  INTEGER(2) dependents
END TYPE

以下の節も記録構造体に関連しています。