% You should start the HYPROLOG system and then this file: % % ?- [hyprolog]. % ?- hyprolog(dcg3). abducibles event/3. % example: event(shooting,maDalton,luckyLuke) discourse --> ss. ss --> []. % ss stands for sentenceS ss --> s, ss. s --> np(_,Who), [shoots], np(_,Whom), {event(shooting,Who,Whom)}. np(Gender,Who) --> pro(Gender,Who). np(Gender,Who) --> name(Gender,Who). name(masc,luckyLuke) --> [luckyLuke]. name(masc,joeDalton) --> [joeDalton]. name(masc,jackDalton) --> [jackDalton]. name(masc,williamDalton) --> [williamDalton]. name(masc,averellDalton) --> [averellDalton]. name(fem,calamityJane) --> [calamityJane]. name(fem,maDalton) --> [maDalton]. pro(masc,anonymous) --> [he]. pro(fem,anonymous) --> [she]. pro(masc,anonymous) --> [him]. pro(fem,anonymous) --> [her]. /************** ?- phrase(discourse, [luckyLuke,shoots,calamityJane]). ?- phrase(discourse, [he,shoots,maDalton]). ?- phrase(discourse, [luckyLuke,shoots,calamityJane, he,shoots,maDalton]). ?- phrase(discourse, [luckyLuke,shoots,jackDalton, he,shoots,maDalton]). ******************/