Fortranが高級言語として一番歴史が長い言語です。そのため、年代により変化し、同じことを記述するのに古い書式と新しい書式の2種類の書式が使われています。人間の言語と同じく“昔はこう言う方がありましたが、それは今はもう使わない”のと同じです。Fortranは昔書かれたソースはもちろん新しいコンパイラにも対応していますが、これから新しくソースを書くには新しい書式での記述をお勧めします。
2種類の書式
Fortranの書式には、固定形式(古い形式)と自由形式(新しい形式)の2種類の書式があります。個人的には、書式のルールは両方のルールを覚える必要があると思います。自由形式だけのルールを覚えるのは良いのですが、現在でも多く存在する古いソースを読まなければならない機会があったり、メンテナンスをする必要がある場合のためにも固定形式のルールも覚えておくと良いと思います。はじめは自由形式の書き方を説明します。最後に、参考として、固定形式のルールも説明します。
自由形式
- 大文字小文字の区別はありません。ProgramもprogramもPROGRAMも全て同じに扱われます。
- 1行は最大132文字までです。
- どのカラム(桁)から始めても問題はありません。
- コメントは「!」を用います。「!」の後から行末までがコメントとなります。
- 複数行にまたがる場合、行末に「&」を配置して、継続行の先頭にも「&」を記述します。
- 1行に複数文を書くには、セミコロン「;」を使用し、文と文の間に記述します。
自由形式の例1
! どのカラムから書き始めても問題ありません program main implicit none integer i , j, k print *, i,j,k end program main
自由形式の例2
! この行はコメントです result = 100 / c !ここ以降もコメントです
自由形式の例3
! 一行に入りきらない場合は & を行末に配置して次の行へ継続することが可能です a = c + 100 & &+ 20
自由形式の例4
! 以下はセミコロンで文を区切る例です a = a + 1; b = 5
固定形式
Fortranは元々パンチカードに書くことを前提としていたため、1行は80文字で構成されていました。桁位置は行の左端からの文字配置に依存しています。これが固定形式と言う形式です。下記は固定形式の主なルールです。
- 1行は最大72文字までで、1行には1文しか記述できません。
- 1桁から5桁目までは文番号を書きます。1桁目にCを書くとその行はコメント行となります。
- 6桁目は継続行であるときは、ここに任意の文字(空白又は0は除く)を記述します。
- 7桁から72桁目まで本文を記述します。
- 73桁から80桁目までは、行識別をするためのシーケンシャル番号を記述します。シーケンシャル番号は本文には影響はありません。
- 自由形式と同様に、大文字小文字の区別がありません。ProgramもprogramもPROGRAMも全て同じに扱われます。
- プログラムの最後には必ず「END」を入力します。また「END」入力後、「リターン」入力して、改行しておきます。
固定形式の例
PROGRAM MAIN C この行はコメント (1桁目にCを書くとその行はコメント行となります) C 型宣言 REAL A,B A=1, B =2 C 1桁から5桁目までは文番号を書きます 100 CONTINUE C 下記は2行にわたって記述する例(継続行の例) C 自由形式と同様に、大文字小文字の区別がありません A = a + &B/2 C プログラムの最後には必ず「END」を入力します END
参考文献
http://www.edu.cc.uec.ac.jp/mce/c1-3m/fortran/basic/syosiki.htm
One thought on “FORTRAN プログラミング入門②:書き方のルール ”