- 6 名前:デフォルトの名無しさん [2017/01/12(木) 19:28:24.87 ID:JOVmaPyb.net]
- 複数モジュール(ファイル) AAA.BAS, BBB.BAS, CCC.BAS があったとする。
お互いに、他のファイルの関数を参照していると、他の関数の参照関係(ByValかVtRefか)が決定されないと自分の参照関係がわからない。 ループや振り子現象にどう対応するか、 ループや振り子現象になるようなルーチンをどうやって発見するか、 が問題となる。これの見通しが立っていない。 発見できれば、別ファイルにして一つにまとめると、 同一ルーチン内のループや振り子現象になるので、処理が楽になる(一律ByRefとする)。 今現在は、大文字小文字を区別せずに整列して、昇順に処理しているけど これを参照する他のファイル数の少ない順に処理してゆく もし、参照関係を変更したら、遡って処理しなおすという方法で避けられるから。 その代り、処理時間がやたらかかることになる。 a,b,c,dとあったときに、Dが他のファイルを参照していない独立なファイルならば、最初に参照関係を調べる。独立なファイルをまず調べる。 次に、Dだけ(独立しているファイルだけ)を参照しているファイルをみつけて、このファイルだけ処理する、 というようにやってゆく。 ファイルが内容だけで分類する(たとえば、ファイル操作、ファイル名操作、ディレクトリー操作等の分類)のではなく 他のファイルの内容を参照しているか否かの分類も必要になってくる。 これが今のところ分からないでいる。 というのは、以前は、Call 文を検出するだけで、参照することを発見できたが Call文が使えなくなって、参照している(配列ではない)ことを検出する方法が見当つかない。 Call 文とかLET文とか、結構使い道があった。
|

|