A következtő táblázat tartalmazza a Mercury beépített operátorait. Az alacsonyabb prioritású operátorok "jobban kötnek". Például a 2 * X + Y
termben a +
operátor prioritása 500, a *
operátoré 400, vagyis a term (2 * X) + Y
formában értékelődik ki.
A "Pontos alak" mező jelzi, hogy az operátorral konstruált termek milyen alakot vehetnek fel. "f" jelöli az operátort, "x" és "y" jelöli az argumentumokat. "x" azt az argumentumot jelöli, melynek prioritása szigorúan kisebb, mint az adott operátoré. "y" azt az argumentumot jelenti, melynek prioritása kisebb, vagy egyenlő mint az adott operátoré. Például az "yfx" jelölés egy balasszociatív infix operátort jelöl, míg az "xfy" egy jobbasszociatív infix operátort.
Operátor | Pontos alak | Prioritás |
. | yfx | 10 |
@ | xfx | 50 |
^ | xfy | 99 |
^ | fx | 100 |
`op` | yfx | 120 |
** | xfy | 200 |
- | fx | 200 |
\ | fx | 200 |
* | yfx | 400 |
// | yfx | 400 |
/ | yfx | 400 |
<< | yfx | 400 |
>> | yfx | 400 |
div | yfx | 400 |
mod | xfx | 400 |
rem | xfx | 400 |
++ | xfy | 500 |
+ | yfx | 500 |
+ | fx | 500 |
-- | yfx | 500 |
- | yfx | 500 |
/\ | yfx | 500 |
\/ | yfx | 500 |
aditi_bottom_up | fx | 500 |
aditi_top_down | fx | 500 |
.. | xfx | 550 |
: | yfx | 600 |
:= | xfx | 650 |
=^ | xfx | 650 |
< | xfx | 700 |
=.. | xfx | 700 |
=:= | xfx | 700 |
=< | xfx | 700 |
== | xfx | 700 |
=\= | xfx | 700 |
= | xfx | 700 |
>= | xfx | 700 |
> | xfx | 700 |
@< | xfx | 700 |
@=< | xfx | 700 |
@>= | xfx | 700 |
@> | xfx | 700 |
\== | xfx | 700 |
\= | xfx | 700 |
~= | xfx | 700 |
is | xfx | 701 |
and | xfy | 720 |
or | xfy | 740 |
func | fx | 800 |
impure | fy | 800 |
pred | fx | 800 |
semipure | fy | 800 |
\+ | fy | 900 |
not | fy | 900 |
when | xfx | 900 |
~ | fy | 900 |
<=> | xfy | 920 |
<= | xfy | 920 |
=> | xfy | 920 |
all | fxy | 950 |
lambda | fxy | 950 |
some | fxy | 950 |
, | xfy | 1000 |
& | xfy | 1025 |
-> | xfy | 1050 |
; | xfy | 1100 |
then | xfx | 1150 |
if | fx | 1160 |
else | xfy | 1170 |
:: | xfx | 1175 |
==> | xfx | 1175 |
where | xfx | 1175 |
---> | xfy | 1179 |
type | fx | 1180 |
end_module | fx | 1199 |
import_module | fx | 1199 |
include_module | fx | 1199 |
instance | fx | 1199 |
inst | fx | 1199 |
mode | fx | 1199 |
module | fx | 1199 |
pragma | fx | 1199 |
promise | fx | 1199 |
rule | fx | 1199 |
typeclass | fx | 1199 |
use_module | fx | 1199 |
--> | xfx | 1200 |
:- | xfx | 1200 |
:- | fx | 1200 |
?- | fx | 1200 |