0

ツリーウォーカーにASTを入力し、複数の出力を取得できるように書き直す方法を考案したいと考えています。

私がこれをやりたい理由は、私の言語が「あいまいな」セマンティクスを持っているからです。基本レベルでは、約12のデータ型がありますが、ツリー内のどこに表示されるか、およびどの演算子の下にあるかによって、複数の可能な出力があります。

次に、これらの各出力をさらに多くのツリーリライターに渡します。これにより、複数の出力が生成される可能性があります。私が持っているのは本質的に組み合わせ爆発であり、それに対処する方法を探しています。

従来のコンパイラのように単一の出力を持つのではなく、可能なすべての出力を保持できるようにして、ユーザーに「これだと思いますが、これでもかまいません」と言うことができるようにしたいと思います。

ツリーノードストリームのクローンを作成し、それを別のスレッドでツリーリライターに渡すことができると考えていました。このようにして、ツリーの書き込みを並行して実行できます。

これらの概念の実現可能性についての考えやアイデアはありますか?

4

0 に答える 0