今日はポプリ。intrinsic.c の内部と外部の両方で、いくつかの解決の問題を修正しました。平方根組み込みのチェックを追加しました。基本的にはゼロと比較するだけです。ステートメント ラベルのチェックを修正しました。これにより、ラベルが一貫して使用され、定義および参照されていることが確認されます。DATAステートメント だけでなく、定数のマッチングに 2 進数、8 進数、および 16 進数の定数のマッチングを追加しました。
7月6日
組み込み変換の前半を終了しました。組み込み変換は、実行時に変換を行うか、コンパイル時に定数を変換する特別な組み込みへの関数呼び出しに変換されるようになりました。、および 「関数」はREAL、引数のタイプに応じて、これらの関数のいずれかを生成します。このスキームは、基本型を種類に拡張できるようにすることも目的としています。INTCMPLX
Tobi Schlüter さんは、2 進数、8 進数、および 16 進数の定数に対応するパッチを送信しました。通常、これらはステートメントでのみ許可され DATAますが、整数定数が許可されている場所ならどこでも許可するとよいでしょう。
コードが再度コンパイルされます。
7月5日
組み込み型変換に関するその他の情報 (ほとんどがintrinsic.c)。コードはまだコンパイルまたは動作しません。
7月4日
組み込みの型変換にもう少し手を加えて、先日追加された実際の変換関数に制限チェックを追加しました。また、以前にあったプレースホルダーの一部を削除しました。現在、コードは機能しません。
REAL、INT、および ハンドラーが 完了するとCMPLX、複雑な組み込みハンドラーのいくつかの良い例がキャサリンに提供されREAL(1)ますREAL((1,0))。
数日前、Tobi Schlüter が という名前の変数に遺伝子座情報を保持するパッチを送信しましたwhere。expr_locus式ノード (およびすべての参照)のメンバーの名前を に変更しましたwhere。これは、より適切な名前だからです。
7月2日
私は昨日、何が残っているかについて調査を行いました。結果は BUGS ファイルにあります。Niels Jensen は、部分文字列の解析が存在しないことを指摘しました。
Tobi Schlüter さんは、遺伝子座情報を新しい式パーサーに追加するバグ修正を送信しました。これにより、エラー メッセージがクラッシュしていました。
arith.c に、さまざまな型の定数を変換するサブルーチンをいくつか追加しました。現時点では範囲チェックは行われておらず、呼び出されていませんが、単純化するための基礎となる REAL、INTおよびCMPLX組み込み関数です。