मैं अगले दो तथ्यों मेरी prolog दुभाषिया में लोड किया है नियम:Prolog ऑपरेटर पूर्वता और मिलान
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
क्या यह स्पष्टीकरण सही है?