実数マッチング サブルーチンが過度に貪欲に

特定のケースで、実数マッチング サブルーチンが過度に貪欲になり、演算子に食い込む傾向があることに関して、Steven Johnson およびその他によるパッチの適用に取り組みました。アルファベット文字が浮動小数点数の後に続く可能性がある法的な文脈が考えられないため、私は彼らの修正が問題ないと確信しています。標準では、ユーザー定義の演算子に数字を含めることは禁止されています。

今夜はかなり疲れているので、確認はしばらくお待ちください。うまくいけば、事態はすぐに落ち着きます。

6月12日
リスト上の現在のメール量に関連するバックログの処理を開始しました。

DOUBLE COMPLEX Steven Johnson さんは、型マッチング ステートメントのサポート を追加するパッチを送ってくれました。電子メールで述べたように、Bill Clodius はずっと前にこの欠陥を指摘し、主にFortran 95 標準の一部でDOUBLE COMPLEXは ないという理由で、実装を延期しました。それにもかかわらず、人々が期待しているように見えるので、私はそれを含めました.

Tobi Schlüter さんは、定数の複素数に一致するパッチを送ってくれました。私はそれに参加し、その一部を書き直すように依頼しました。複素数のサポートは、私がそれから離れ始めたいと思っていたときに、より多くの GMP 依存関係を追加する量に相当しますが、g95 が fortran 77 プログラムを解析する能力が今のところ強化され、g95 をテストする人々の能力が強化されるように思えます。

CONTRIBまた、ファイル にスティーブン ジョンソンを追加しました。

私の受信トレイにはいくつかの明確なバグが残っていますが、今夜は時間がありません。

6月11日
DATAステートメント の解析の追加が完了しました。うまくいくようです。INCLUDE Tobi は、ディレクティブはそれ自体をファイルの内容に置き換え、解析されるプログラムの形式を *変更しない* ことを指摘しました。これで修正されました。

今日のメーリング リストには、10 通ほどの手紙があり、大量のトラフィックがありました。キーワードの追加を含むいくつかのパッチがありましたDOUBLE COMPLEX。これは標準の一部ではありませんが、多くの人が期待しています。複素数の解析を追加するパッチがありました。最悪のニュースは、g95 が解析に失敗する方法でした

2.gt.1.and.フラグ
正しく。問題は、g95 が基本的に「貪欲な」マッチング、つまり「1」に依存していることです。整数 1 ではなく浮動小数点 1.0 として読み取られます。現時点でこれにどう対処するかはわかりません。
明日の夜か火曜日に、蓄積されたメッセージを詳しく見ていきます。G95 は現在 17,000 行の長さです。

6月10日
今日、さまざまなことがたくさんあります:

UNIT=明示的なタグが正しく解析される ように、データ転送リスト マッチャーのバグが修正 されました。

ライン バッファーを直接調べるのではなく、関数をnext_fixed使用するように関数を 書き直しました。g95_next_charこれは、INCLUDEディレクティブがライン バッファーで高速かつ緩やかに再生されるためです。以前のバージョンは、コメントに関しても完全に正しくありませんでした。

現在の形式とは異なる形式でフォーマットされたファイルを含めることに問題があることに気付きました。その結果、そのようなファイルの最初の行が間違った形式で読み取られることになりました。解決策は、インクルード ロジックを 1 レベル上の next-statement 関数に移動することでした。

ステートメント関数の解析が追加されました。

DATAステートメント の解析に取り組み始めました。これは、私が知っている最後の Fortran 77 ステートメントです。

実際、最後の数個のバグは、数百行のプログラムで g95 を実行することによって発見されました。解決フェーズを実行する新しい -rオプションを追加しました。これにより、名前をまだ完全に解決できないという問題が回避されます。

 

タイトルとURLをコピーしました