1
で式ツリーのリストを作成する
のは、私は式ツリーを形成することを可能にする、次のプロローグコードを考えてみましょう:プロローグ
plus(_,_).
eval(A, A) :- number(A).
eval(plus(A, B), R) :- eval(A, A_R), eval(B, B_R), R is A_R+B_R.
私は簡単に式ツリーに次のように定義し、評価することができます
eval(plus(1,2), R).
を
R=3
言語によっては、表現木を構築することができます。それらを変数に代入して、後で使用することができます。擬似コード:
my_expr = plus(plus(1, 2), 3)
私の現在のツリー表現で私は同様の結果を得ることができますか?私は、各ノードに異なる式ツリーを持つリストを持っていたいと思います。ご例えば
[ plus(1, 2), plus(3,plus(2,1)), 3 ]