【QBASIC互換!?】FreeBasic【GPL】 2 [無断転載禁止]©2ch.net (430レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

5
(1): デフォルトの名無しさん [] 2017/01/12(木) 18:51:09.21 ID:JOVmaPyb(1/2) AAS
現在 Declere 文81KB,まもなく900行となる。
Function文からの引き抜きルーチンがうまく動いているようで、Function 文に間違いがなければ、何とか動いてくれている。

問題は引数検査。
命令語の右側の値を定義する命令が今のところ見つかっていないので、
例 機械語の INC AL 等
「=」を見つけて、左側の変数が定義される、として処理したまでは良かった。
問題は関数
適当な関数(変数,,,,)
で、変数を定義する場合があることに気が付いた。

引数の入出力チェックは今のところで来ていない。
引数の値を定義しないByValと定義するByRefの検査ルーチンが今のところ作成不能。
6
(2): デフォルトの名無しさん [] 2017/01/12(木) 19:28:24.87 ID:JOVmaPyb(2/2) AAS
複数モジュール(ファイル) AAA.BAS, BBB.BAS, CCC.BAS があったとする。
お互いに、他のファイルの関数を参照していると、他の関数の参照関係(ByValかVtRefか)が決定されないと自分の参照関係がわからない。

ループや振り子現象にどう対応するか、
ループや振り子現象になるようなルーチンをどうやって発見するか、
が問題となる。これの見通しが立っていない。
発見できれば、別ファイルにして一つにまとめると、
同一ルーチン内のループや振り子現象になるので、処理が楽になる(一律ByRefとする)。

今現在は、大文字小文字を区別せずに整列して、昇順に処理しているけど
これを参照する他のファイル数の少ない順に処理してゆく
もし、参照関係を変更したら、遡って処理しなおすという方法で避けられるから。
その代り、処理時間がやたらかかることになる。
a,b,c,dとあったときに、Dが他のファイルを参照していない独立なファイルならば、最初に参照関係を調べる。独立なファイルをまず調べる。
次に、Dだけ(独立しているファイルだけ)を参照しているファイルをみつけて、このファイルだけ処理する、
というようにやってゆく。
ファイルが内容だけで分類する(たとえば、ファイル操作、ファイル名操作、ディレクトリー操作等の分類)のではなく
他のファイルの内容を参照しているか否かの分類も必要になってくる。

これが今のところ分からないでいる。
というのは、以前は、Call 文を検出するだけで、参照することを発見できたが
Call文が使えなくなって、参照している(配列ではない)ことを検出する方法が見当つかない。

Call 文とかLET文とか、結構使い道があった。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 1.252s*