>>121
ああ、なるほど。そういうことか。
問題提起部分およびコードをほとんど読まずに返事してたので
的外れですまんかった。

ただ、そのグラフはそれでいいのか?
巡回してしまう依存グラフは後の解析時に問題にならない?
# (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...