Using a Parser for a DSL in Prolog

This is actually very common.
Search for the predicates that make use of DCGS, e.g.

  • phrase/2
  • phrase/3
  • phrase_from_file/2
  • phrase_from_file/3
  • phrase_from_stream/2
  • phrase_from_quasi_quotation/2

One of the better places to search for such code is on GitHub but even using GitHub search for this is tedious.

Over the years I have found that downloading quality GitHub repositories such as these and searching them with find in files options of editors like NotePad++ is often much more effective.

1 Like