私はプロローグが初めてで、留守番電話をプログラムしようとしています。最初は、何が求められているかを理解し、正しい構文をチェックするのが好きです。
question(P) --> [where],[is], article(G,K,N), location(P,G,K,N).
location(P,G,K,N) --> [P], {member(P, [bakery, mcdonalds, kfc, embassy]),noun(G,K,N)}.
article(m, akk, sg) --> [a].
article(f, akk, sg) --> [an].
noun(m, akk, sg) --> [bakery]|[mcdonalds]|[kfc].
noun(f, akk, sg) --> [embassy].
しかし、私はこのエラーが発生しました:
question(What, [where,is,a,bakery],[]).
ERROR: location/6: Undefined procedure: noun/3
ERROR: However, there are definitions for:
ERROR: noun/5
しかし、dcg 変数の最後の 2 つの引数がある種のリストであることがわかりましたが、そのトピックについては何も見つかりませんでした...ヒントや解決策はありますか? PS: ドイツ語の文法から例を翻訳しようとしたので、混乱しないでください ;)