6
일치 규칙 :프롤로그 연산자 우선 순위와 나는 다음 두 가지 사실 내 프롤로그 인터프리터에로드 한
foo(U+V,1).
foo(U*V,2).
지금 나는 그와 함께 다음 쿼리를 시도 결과 :
foo(x*x+x,R). --> R = 1
foo(x+x*x,R). --> R = 1
foo(x*x*x,R). --> R = 2
는 지금은 함께 시도 다음 질의 :
foo(x*x-x,R). --> no
내가 이해하는 바와 같이, 이것은 연산자 우선 순위가 트리 표현식을 작성하는 방법에 의해 설명됩니다 :
x+x*x --> + so it matches with --> +
/\ /\
x * U V
/\
x x
x-x*x --> - DOES NOT matches any fact.
/\
x *
/\
x x
이 설명이 맞습니까?