I'm trying to learn more about DCGs in Prolog and while reading through different sources, I noticed that in some cases phrase wasn't being used ?
From the Learn Prolog Now website, it presents this example:
s --> np,vp.
np --> det,n.
vp --> v,np.
vp --> v.
det --> [the].
det --> [a].
n --> [woman].
n --> [man].
v --> [shoots].
They then use the query s(X,[]) to generate all the sentences in the grammar.
I tried phrase(s,L) and it also generates all the sentences described by the grammar.
What's the difference in using s(X,[]) and phrase(s,L)? When should phrase be used?
s(X, [])nots([], X). The querys([], X)will fail. :) - lurker