2
我能夠從前綴表達式中獲得總和,但每當我在列表中添加一個列表時,程序就不會運行。序言前綴表達式
expr(Z) --> num(Z).
expr(Z) --> [+], num(X), expr(Y), {Z is X+Y}.
expr(Z) --> [-], num(X), expr(Y), {Z is X-Y}.
num(D) --> [D], {number(D)}.
calculate(L, M) :- expr(M, L, []).
這工作:calculate([+, 2, -, 9, 8], X]
但calculate([+, 2, [-, 9, 8]], X]
提供虛假。
我需要什麼才能讓它在列表中工作?