このディレクトリの索引

# 出典 :: Prologでまったり Part4 #532 # 問題. # 久方のなかなる川のうかひ舟いかにちぎりてやみを待つらむ 藤原定家 # # この短歌に現れる枕詞「久方の」は # 「なかなる川」= 京の中なる川 = 桂川 の # 桂から月が連想されて、その月の光に対して、 # 添えられていると考えられる。 # # この関係を示す述語「久方のについて思い巡らし」を定義せよ。 歌('久方のなかなる川のうかひ舟いかにちぎりてやみを待つらむ'). 作者('久方のなかなる川のうかひ舟いかにちぎりてやみを待つらむ',藤原定家). 枕詞(久方の). 同義(なかなる川,京の中なる川). 同義(京の中なる川,桂川). 音通(_語,_部分的な語) :- sub_atom(_語,_,_,_,_部分的な語), \+(_部分的な語==''). 連想(桂,月). 連想(月,光). 連想(A,B) :- 連想(A,C),連想(C,B). 連想(A,B) :- 音通(A,D),連想(A,D). 連想(A,B) :- 連想(B,A). 枕詞の係り(久方の,光). 久方のについて思い巡らし(_定義アトム,_思い巡らし) :- 歌(_歌), 形態素解析(_歌,_語彙ならび), 久方のについて思い巡らし(_歌,_語彙ならび,_定義アトム,_思い巡らし). 久方のについて思い巡らし(_歌,_語彙ならび,_定義アトム,_思い巡らし) :- 枕詞(_語彙ならび,_枕詞,_枕詞の係る言葉,_係る言葉,_語彙2,R,R3), 定義節([作者/1,枕詞/1,同義/2,音通/2,連想/2,枕詞の係り/2],_定義アトム), _思い巡らし=[形態素解析(_歌,_語彙ならび),append(_,[_枕詞|R],_語彙ならび),append(_,[_枕詞の係る言葉|R2],R),枕詞の係り(_枕詞,_係る言葉),連想(_係る言葉,_語彙2),append(_,[_語彙2|R3],R)]. 枕詞(_語彙ならび,_枕詞,_枕詞の係る言葉,_係る言葉,_語彙2,R,R3) :- append(_,[_枕詞|R],_語彙ならび), append(_,[_枕詞の係る言葉|R2],R), 枕詞の係り(_枕詞,_係る言葉), 連想(_係る言葉,_語彙2), append(_,[_語彙2|R3],R). 定義節(_述語定義ならび,_定義アトム) :- tmpnam(F), tell(F), listing(_述語定義ならび), told, get_lines(F,Lines), atom_chars(_定義アトム,Lines).