1
私はNoun_Phrase
とVerb_Phrase
という2つの部分に分割された文を(リストとして渡された)文を返すProlog文パーサを持っています。今、私はNoun_Phrase
とVerb_Phrase
を取り、別のPrologの述語にそれらを渡したいが、最初私は(常に動詞であるべきである)Verb_Phrase
から最初の用語を抽出したいPrologで複雑な複合語の変数を取得する
sentence(Sentence, sentence(np(Noun_Phrase), vp(Verb_Phrase))) :-
np(Sentence, Noun_Phrase, Remainder),
vp(Remainder, Verb_Phrase).
:以下の例を参照してください。変数に、Verb_Phrase
の残りの部分を別のものに変換し、次の述語に別々に渡します。
私はこのために統一を使用する方法について考えて、私が試してみました:
sentence(Sentence, sentence(np(Noun_Phrase), vp(Verb_Phrase))),
[Head|Tail] = Verb_Phrase,
next_predicate(_, Noun_Phrase, Head, Tail, _).
をしかし、私は
ERRORを取得しています:ローカルスタック例外のうちたびに。私はこれが本当にリストではないVerb_Phraseと関係があると思う。これはVerb_Phraseの可能isntanceです:
VP = vp(vp(verb(making), adj(quick), np2(noun(improvements))))
どのように私は、変数動詞としてverb(X)
とプロローグで、このような化合物の用語のうちvaraible残りとしての用語の残りの部分を得ることができますか?
おかげで、。 –
喜んで助ける! – coder