用 DCG 解析
DCG 可用於解析。最重要的是,相同的 DCG 通常可用於解析和生成正在描述的列表。例如:
sentence --> article, subject, verb, object.
article --> [the].
subject --> [woman] | [man].
verb --> [likes] | [enjoys].
object --> [apples] | [oranges].
示例查詢:
?- phrase(sentence, Ls).
Ls = [the, woman, likes, apples] ;
Ls = [the, woman, likes, oranges] ;
Ls = [the, woman, enjoys, apples] .
?- phrase(sentence, [the,man,likes,apples]).
true .