From ff9c531e1b502d4fc708737cc1664d1df018f49f Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Mon, 13 Feb 2017 09:46:27 -0500 Subject: Updated how the genitive synrestr work --- sentence.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sentence.cpp b/sentence.cpp index e36f660..5f1b03a 100644 --- a/sentence.cpp +++ b/sentence.cpp @@ -435,9 +435,6 @@ verbly::token sentence::generateClause( { utter << "your"; utter << std::set({"participle_phrase", "subjectless"}); - } else if (part.nounHasSynrestr("genitive")) - { - utter << "your"; } else if (part.nounHasSynrestr("adv_loc")) { if (std::bernoulli_distribution(1.0/2.0)(rng_)) @@ -512,6 +509,14 @@ verbly::token sentence::generateClause( utter << ("\"" + sentence.compile() + "\""); } else { + if (part.nounHasSynrestr("genitive")) + { + verbly::word noun = generateStandardNoun("Passive", {"animate"}); + verbly::token owner = generateStandardNounPhrase(noun, "Passive", false, true); + std::string ownerStr = owner.compile() + "'s"; + utter << ownerStr; + } + verbly::word noun = generateStandardNoun(part.getNounRole(), part.getNounSelrestrs()); bool plural = part.nounHasSynrestr("plural") || chooseSelrestr(part.getNounSelrestrs(), {"group", "plural"}); -- cgit 1.4.1