Dear Sean,
As long as I remeber when I used to do DCG is that you must put your
own Prolog Clause for that :
foo(X,In, Out) :- ....
If ever your DCG rule is :
foo(X) --> [C], bar(X, ...), {format(...)}.
then you can write :
foo(X, [C | Cs_temp ], Cs) :- bar(X, Cs_temp, Cs), format(....).
DCG accepts that you insert your own Prolog predicates.
Alex
emacstheviking <[email protected]> a écrit :
Hi,
After reading the manual (section 7.17.1 again) I am still confused... If I
have this DCG rule:
foo(X) --> bar(X)
I know it expands to:
foo(X,A,B) :- bar(X, A, B).
How do I add a format statement like this:
foo(X) --> bar(X), {format("bar(X) ok, X is ~w~n", [???])}.
How do I bind to those two input arguments that are the source list and the
resulting output list so I can do things with them / to them ? Sure I can
print out X because that is in scope as it were but how to get A and B ?? I
know this is a simple question and even worse I know I think I already know
the answer, I just don't know I know yet.
Thanks,
Sean.
_______________________________________________
Users-prolog mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/users-prolog