bugfix> visual-studio > 投稿

を使用する古いプロジェクトを編集しています定形 FortranとコンパイルIVFコンパイラ。私が持っている現在の問題は継続行 リスト内:

format(//,  10x,'*******************************************',/, &
     10x,'* DIAGONALS OF THE RESIDUAL COV. MATRIX   *',/,  &
     10x,'*******************************************',//,  &
     2x,'MEASUREMENT',7X,'  RESIDUAL COVARIANCE', /)

何らかの理由で、アンパサンドが機能していないため、エラーが発生し続けます。

unrecognized token '&' skipped

小さい行の場合、固定形式の行の長さを増やして2行を機能させますが、行がこれに対して大きすぎる場合があります。コードは約15年前に固定形式のFortranで記述されましたが、Fortranと、新しいコンパイラーと設定がコードにどのように影響するかについてはよく知りません。

自由形式に変換すると、他の書式設定で一連のエラーが発生し、コードが壊れていないように見えるため、自由形式に変換する必要はないと思います。他のインデント方法、例えばアンパサンド 行の終わりと次の始まりで、アスタリスク、およびスラッシュ 他のフォーラムでの使用が提案され、エラーが発生する:

error #5082: Syntax error, found END-OF-STATEMENT when expecting one of: ) ...

行方不明のフォーマットがあるか、これらのエラーを修正するために編集できる設定はありますか?

ありがとう、ギャビン

回答 2 件
  • 固定形式のFortranでは、1行目の終わりの&ではなく、次の行の6桁目の任意の文字で行を継続します。試してください:

         format(//,  10x,'*******************************************',/,
         c  10x,'* DIAGONALS OF THE RESIDUAL COV. MATRIX   *',/,
         c  10x,'*******************************************',//,
         c  2x,'MEASUREMENT',7X,'  RESIDUAL COVARIANCE', /)
    
    

  • または、.forまたは.fでコンパイラスイッチ-freeを使用します

    または、コンパイラスイッチ-fixed -132を.F90とともに使用します。

    あなたの場合、.fとcpを.F90に保存し、明示的にmakefileに.F90をコンパイルさせます...

    コードに保持する-d-linesがよくあるので、通常.fixed -132を.F90で使用し、-d-linesを取得できませんでした。 -freeを使用します。

あなたの答え