From c5fe59ce50bf1edce61aab9c3e3b307f2e7f78e5 Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 29 Apr 2010 05:55:59 +0000 Subject: [PATCH] added Question.AdvIAdv and correcponding entry of mkIAdv in API --- lib/src/abstract/Question.gf | 4 ++++ lib/src/api/Constructors.gf | 11 +++++++++-- lib/src/bulgarian/QuestionBul.gf | 2 ++ lib/src/english/QuestionEng.gf | 2 ++ lib/src/finnish/QuestionFin.gf | 2 ++ lib/src/german/QuestionGer.gf | 2 ++ lib/src/polish/QuestionPol.gf | 2 ++ lib/src/romance/QuestionRomance.gf | 1 + lib/src/romanian/QuestionRon.gf | 4 ++-- lib/src/russian/QuestionRus.gf | 2 ++ lib/src/scandinavian/QuestionScand.gf | 2 ++ lib/src/urdu/QuestionUrd.gf | 2 ++ 12 files changed, 32 insertions(+), 4 deletions(-) diff --git a/lib/src/abstract/Question.gf b/lib/src/abstract/Question.gf index 6b2e3c01d..a5d43d709 100644 --- a/lib/src/abstract/Question.gf +++ b/lib/src/abstract/Question.gf @@ -30,6 +30,10 @@ abstract Question = Cat ** { PrepIP : Prep -> IP -> IAdv ; -- with whom +-- They can be modified with other adverbs. + + AdvIAdv : IAdv -> Adv -> IAdv ; -- where in Paris + -- Interrogative complements to copulas can be both adverbs and -- pronouns. diff --git a/lib/src/api/Constructors.gf b/lib/src/api/Constructors.gf index 91f142927..9e3c074e4 100644 --- a/lib/src/api/Constructors.gf +++ b/lib/src/api/Constructors.gf @@ -767,7 +767,10 @@ incomplete resource Constructors = open Grammar in { -- In addition to the interrogative adverbs defined in the $Structural$ lexicon, they -- can be formed as prepositional phrases from interrogative pronouns. - mkIAdv : Prep -> IP -> IAdv ; -- 1. in which city --# notminimal + mkIAdv : overload { --# notminimal + mkIAdv : Prep -> IP -> IAdv ; -- 1. in which city --# notminimal + mkIAdv : IAdv -> Adv -> IAdv ; -- 2. where in Paris --# notminimal + } ; --# notminimal -- More interrogative adverbs are given in $Structural$. @@ -1435,7 +1438,11 @@ incomplete resource Constructors = open Grammar in { who_IP : IP = whoSg_IP ; which_IDet : IDet = whichSg_IDet ; --# notminimal - mkIAdv : Prep -> IP -> IAdv = PrepIP ; --# notminimal + mkIAdv = overload { --# notminimal + mkIAdv : Prep -> IP -> IAdv = PrepIP ; -- 1. in which city --# notminimal + mkIAdv : IAdv -> Adv -> IAdv = AdvIAdv ; -- 2. where in Paris --# notminimal + } ; --# notminimal + mkRCl = overload { --# notminimal mkRCl : Cl -> RCl -- such that John loves her --# notminimal diff --git a/lib/src/bulgarian/QuestionBul.gf b/lib/src/bulgarian/QuestionBul.gf index da789719c..009cda5b4 100644 --- a/lib/src/bulgarian/QuestionBul.gf +++ b/lib/src/bulgarian/QuestionBul.gf @@ -59,5 +59,7 @@ concrete QuestionBul of Question = CatBul ** open ResBul, Prelude in { nonEmpty = num.nonEmpty } ; + AdvIAdv i a = {s = i.s ++ a.s} ; + CompIP ip = {s = ip.s ! RSubj} ; } diff --git a/lib/src/english/QuestionEng.gf b/lib/src/english/QuestionEng.gf index 0fce813d4..81f51c6ef 100644 --- a/lib/src/english/QuestionEng.gf +++ b/lib/src/english/QuestionEng.gf @@ -49,6 +49,8 @@ concrete QuestionEng of Question = CatEng ** open ResEng, Prelude in { n = num.n } ; + AdvIAdv i a = ss (i.s ++ a.s) ; + CompIAdv a = a ; CompIP p = ss (p.s ! Nom) ; diff --git a/lib/src/finnish/QuestionFin.gf b/lib/src/finnish/QuestionFin.gf index f1dbc21f1..096ae5195 100644 --- a/lib/src/finnish/QuestionFin.gf +++ b/lib/src/finnish/QuestionFin.gf @@ -90,6 +90,8 @@ concrete QuestionFin of Question = CatFin ** open ResFin, Prelude in { isNum = isn } ; + AdvIAdv i a = {s = i.s ++ a.s} ; + CompIAdv a = {s = \\_ => a.s} ; CompIP ip = {s = \\_ => ip.s ! NPCase Nom} ; diff --git a/lib/src/german/QuestionGer.gf b/lib/src/german/QuestionGer.gf index d94742c5f..280f8f88a 100644 --- a/lib/src/german/QuestionGer.gf +++ b/lib/src/german/QuestionGer.gf @@ -92,6 +92,8 @@ concrete QuestionGer of Question = CatGer ** open ResGer in { s = \\g,c => idet.s ! n ! g ! c ++ num.s!g!c ; n = n } ; + + AdvIAdv i a = {s = i.s ++ a.s} ; CompIAdv a = {s = \\_ => a.s} ; diff --git a/lib/src/polish/QuestionPol.gf b/lib/src/polish/QuestionPol.gf index ccc9a223e..c0b0f9a66 100644 --- a/lib/src/polish/QuestionPol.gf +++ b/lib/src/polish/QuestionPol.gf @@ -69,6 +69,8 @@ lin -- PrepIP : Prep -> IP -> IAdv ; -- with whom PrepIP prep ip = { s = prep.s ++ ip.dep !prep.c}; + AdvIAdv i a = {s = i.s ++ a.s} ; + -- CompIAdv : IAdv -> IComp ; -- where (is it) CompIAdv ia = ia; diff --git a/lib/src/romance/QuestionRomance.gf b/lib/src/romance/QuestionRomance.gf index 28f9e410d..9c1d5fe4b 100644 --- a/lib/src/romance/QuestionRomance.gf +++ b/lib/src/romance/QuestionRomance.gf @@ -93,6 +93,7 @@ incomplete concrete QuestionRomance of Question = n = n } ; + AdvIAdv i a = {s = i.s ++ a.s} ; CompIAdv a = {s = \\_ => a.s} ; diff --git a/lib/src/romanian/QuestionRon.gf b/lib/src/romanian/QuestionRon.gf index aae1bac23..76c7616a0 100644 --- a/lib/src/romanian/QuestionRon.gf +++ b/lib/src/romanian/QuestionRon.gf @@ -100,11 +100,11 @@ concrete QuestionRon of Question = n = n } ; - + AdvIAdv i a = {s = i.s ++ a.s} ; CompIAdv a = {s = \\_ => a.s} ; CompIP p = {s = \\_ => p.s ! No} ; -} \ No newline at end of file +} diff --git a/lib/src/russian/QuestionRus.gf b/lib/src/russian/QuestionRus.gf index e3506aef6..27ada61d1 100644 --- a/lib/src/russian/QuestionRus.gf +++ b/lib/src/russian/QuestionRus.gf @@ -67,6 +67,8 @@ concrete QuestionRus of Question = CatRus ** open ResRus, Prelude in { c = kakoj.c } ; + AdvIAdv i a = {s = i.s ++ a.s} ; + CompIAdv a = a ; CompIP ip = {s = ip.s ! PF Nom No NonPoss} ; } diff --git a/lib/src/scandinavian/QuestionScand.gf b/lib/src/scandinavian/QuestionScand.gf index 23379df4a..762a19b13 100644 --- a/lib/src/scandinavian/QuestionScand.gf +++ b/lib/src/scandinavian/QuestionScand.gf @@ -93,6 +93,8 @@ incomplete concrete QuestionScand of Question = det = idet.det } ; + AdvIAdv i a = {s = i.s ++ a.s} ; + CompIAdv a = {s = \\_ => a.s} ; CompIP ip = {s = \\_ => ip.s ! nominative} ; diff --git a/lib/src/urdu/QuestionUrd.gf b/lib/src/urdu/QuestionUrd.gf index 6450895dc..fcd33ec16 100644 --- a/lib/src/urdu/QuestionUrd.gf +++ b/lib/src/urdu/QuestionUrd.gf @@ -67,6 +67,8 @@ concrete QuestionUrd of Question = CatUrd ** open ResUrd, Prelude in { n = num.n } ; + AdvIAdv i a = {s = i.s ++ a.s} ; + CompIAdv a = a ; CompIP p = ss (p.s ! Dir) ;