Uživatelský mód je režim parseru, jenž lze vytvořit bez zásahu
do zdrojového kódu knihovny. Pro jeho zavedení je zásadní
implicitní klauzule procedury item:
item(I+L):-
deBug(modewarn,['(item) Implicit mode selector:',I+L,nl]),
:-@ [I,L].
Díky ní se v případě selektoru módu, který se neunifikoval
s žádnou z klauzulí primitiva item volá predikát::-@ [I,L]který jako první parametr dostává selektor módu ke kterému před zavoláním připojí parametr
Definice cílového predikátu je na tvůrci módu a může být umístěna
v jeho zdrojovém kódu. Je na něm, aby implementoval predikát, který
má stejný funktor jako selektor a o
větší aritu.
Celý postup si ukážeme na příkladu.