Что означает двойной знак sh //
после имени предиката в Прологе, встречающегося в контексте DCG?
Используется термином перезапись система Пролог (SWI-Пролог ср c), но для человека это позволяет вам знать, что предикат является DCG и имеет два скрытых аргумента, добавленных в конец предиката.
Например, вот очень простая DCG с 1 видимым аргументом.
simple_dcg(X) -->
{ X is 1 + 2 }.
Когда список виден
?- listing(simple_dcg).
simple_dcg(X, A, B) :-
X is 1+2,
B=A.
true.
, появляются два дополнительных скрытых аргумента (A, B
) ,
Если вы следили за моими EDCG вопросами на форуме SWI-Prolog, то вы знаете, что это может стать намного сложнее.