let t = 関数型プログラミング言語ML 2
■ このスレッドは過去ログ倉庫に格納されています
0128106
NGNGああ、なるほど。そういうことか。
問題提起部分およびコードをほとんど読まずに返事してたので
的外れですまんかった。
ただ、そのグラフはそれでいいのか?
巡回してしまう依存グラフは後の解析時に問題にならない?
# (a=b, c=z, b=y, y=a)等、巡回パターンになるよね
なんの解析をするかによるんだろうけど、普通変数依存なんかの解析は
Static Single Assignmentを使って解析を行うと思うよ。
Semanticsな話になるんだけど、たとえばC的な文法で
void foo(void) {
a = b;
c = z;
b = y;
}
の場合、変数依存を書き出せば{a = b, c = z, b = y}となるけど、
a->b->yとしちゃうと、aがあたかもyであるかのようになってしまうので
都合が悪い(たとえば定数の畳み込みをしようと思ったりした場合とか)
SSA形式なら、102が直面している問題そのものが起こらないんじゃないかな。
またもや的外れならごめん。
MLとまったく関係ないのでsage...
■ このスレッドは過去ログ倉庫に格納されています