Ben Turner は昨日、より多くのテスト スイートを求めてネットを精査することを提案するメモを送信し、現在のスイートには強い自由形式の偏りがあることを指摘しました。彼はまた、Rob Cermak と私が調べた NIST fortran 準拠スイートへのリンクを送ってくれました。Rob によると、テスト マシンには十分なディスクと CPU が用意されているので、スイートにレガシー コードを追加し始めます。
g95 の時間はありませんでしたが、作業は続けられました…
2月4日
昨日のその他のバグを修正し、式の処理方法を少し作り直しました。1 つ目は、1 つの定数型を変換する関数がもう少し汎用的であることです。たとえば、1 つの関数が実数を整数に変換し、変換先の種類の引数を指定します。もう 1 つの違いは、何か問題が発生した場合 (オーバーフロー) に NULL ポインターが返されることです。これにより、double complex との間で変換する関数の追加が簡単になりました。
もう 1 つの違いは、eval_intrinsic() が定数を折りたたむときに問題が発生した場合に NULL ポインターを返すようになったことです。これは、これらの NULL ポインターを監視するように matchexp.c を変更することも意味していましたが、オーバーフローは、初期化式が減少しなかったことを訴える内部エラーの代わりに適切に処理されるようになりました。
2月2日
多くのことが起こっています。
Rob は、g95 は Walt のテスト スイートのすべてのプログラムで失敗すると言っています。長期的には、これは良いことです。Rob と私は、g95 のバグではなく、テスト スイートのプログラムの実際のエラーの修正にも時間を費やしてきました。合格率は最大 89% で、これまで行ってきたすべての剪定により、合格率はさらに高くなるはずです。
Solarisがバッファリングをオフにする理由はまだわかりません。Sowell のBasic Economicsと Harrison のBill the Galactic Heroを検索する合間に、私は昨夜書店で Solaris のマニュアルを閲覧しました 。
また、Walt は、F プログラムの解析に必要なパーサーへの変更を説明するドキュメントを送信しました。近日中にプロジェクトページに追加します。
Niels Jensen は、module.c の未使用の静的サブルーチンに関するいくつかのコンパイラ警告を取り除くパッチを送信しました。
Katherine Holcomb は、今週末に単純化関数に取り組む予定であることを私に知らせてくれました。これらがどのように機能するか、またサインや対数などの高度な組み込み関数を g95 拡張機能として初期化式に表示できるようにすることがそれほど難しくないことについて少しお話ししました。多くのコンパイラは、非整数型に対して ABS() を許可していますが、算術へのアプローチを考えると、標準をはるかに超える立場にあります。初期化式検証サブルーチンのバグを修正しました。同じサブルーチンが構造体コンストラクターと配列コンストラクターの両方を (同じ方法で格納されるため) 処理しますが、わずかな違いを処理するフラグを使用します。問題は、このサブルーチンが再帰的であり、フラグが保存されていなかったことです。