Did you know? SWI-Prolog provides general DCG primitivesSearch Documentation:
SWI-Prolog owl logoTitle for pldoc(object(section(2,'3.8',swi('/doc/Manual/idepreds.html'))))