Did you know? SWI-Prolog provides general DCG primitivesSearch Documentation:
SWI-Prolog owl logoPredicate phrase/3