月曜日, 6月 11, 2012

スクリプター : script writer


------------
とある汚い,Fortran ソースと格闘.

72 行の固定長を超えた記述だけど,
それを無視するために コンパイラの 固定長増幅オプションをつけると
行番号が 5 カラム目までで綺麗に整列しないとエラーがでる.

つまりは


   10 continue     ! こっちはOK
  10  continue     ! こっちはダメ

というわけのわからないプログラム.

なんらかの特定のコンパイラで流れているんだろうが,
gfortran や g77 で通らなきゃ,フリーソースの意味がないなぁ.

------------

しかたなく,以下のようなむりやりスクリプトを作成.


#!/bin/bash

for inputfile in ./*.f ; do

    echo "now converting: "${inputfile}
    cp ${inputfile} ./tmp.tmp

    awk '{if ($2 == "CONTINUE") printf("%5d CONTINUE\n",$1); else print;}' ./tmp.tmp > ${inputfile}

done

------------

これで,とりあえずは,作業ディレクトリ内の Fortran ファイルをなんとか処理してくれるはず.

0 件のコメント: