diff --git a/src/abstract/Extend.gf b/src/abstract/Extend.gf index a96b384a7..b48daa442 100644 --- a/src/abstract/Extend.gf +++ b/src/abstract/Extend.gf @@ -137,7 +137,8 @@ abstract Extend = Cat ** { -- proper structure of "it is AP to VP" - PredAPVP : AP -> VP -> Cl ; -- it is good to walk + PredAPVP : AP -> VP -> Cl ; -- it is good to walk + PredIAdvVP : IAdv -> VP -> QCl ; -- how to walk? -- to use an AP as CN or NP without CN diff --git a/src/common/ExtendFunctor.gf b/src/common/ExtendFunctor.gf index b16e3c603..8c7867d7e 100644 --- a/src/common/ExtendFunctor.gf +++ b/src/common/ExtendFunctor.gf @@ -63,6 +63,7 @@ lin FrontComplDirectVS = variants {} ; -- NP -> VS -> Utt -> Cl ; -- "I am here", she said FrontComplDirectVQ = variants {} ; -- NP -> VQ -> Utt -> Cl ; -- "where", she asked PredAPVP ap vp = ImpersCl (UseComp (CompAP (SentAP ap (EmbedVP vp)))) ; -- DEFAULT it is (good to walk) + PredIAdvVP iadv vp = QuestIAdv iadv (GenericCl vp) ; -- DEFAULT how does one walk AdjAsCN = variants {} ; -- AP -> CN ; -- a green one ; en grön (Swe) AdjAsNP = variants {} ; -- AP -> NP ; -- green (is good) ReflRNP = variants {} ; -- VPSlash -> RNP -> VP ; -- love my family and myself diff --git a/src/english/ExtendEng.gf b/src/english/ExtendEng.gf index baef208ac..935b737bb 100644 --- a/src/english/ExtendEng.gf +++ b/src/english/ExtendEng.gf @@ -15,7 +15,7 @@ concrete ExtendEng of Extend = FocusAP, FocusAdV, FocusAdv, FocusObj, GenIP, GenModIP, GenModNP, GenNP, GenRP, GerundAdv, GerundCN, GerundNP, IAdvAdv, ICompAP, InOrderToVP, MkVPS, NominalizeVPSlashNP, PassAgentVPSlash, PassVPSlash, PastPartAP, PastPartAgentAP, PositAdVAdj, PredVPS, PredVPSVV, PredetRNP, PrepCN, - PresPartAP, PurposeVP, ReflPoss, ReflPron, ReflRNP, SlashBareV2S, SlashV2V, StrandQuestSlash, StrandRelSlash, + PredIAdvVP, PresPartAP, PurposeVP, ReflPoss, ReflPron, ReflRNP, SlashBareV2S, SlashV2V, StrandQuestSlash, StrandRelSlash, UncontractedNeg, UttAccIP, UttAccNP, UttAdV, UttDatIP, UttDatNP, UttVPShort, WithoutVP, BaseVPS2, ConsVPS2, ConjVPS2, ComplVPS2, MkVPS2 ] with @@ -191,6 +191,7 @@ concrete ExtendEng of Extend = ByVP vp = {s = "by" ++ (GerundAdv (lin VP vp)).s} ; + PredIAdvVP iadv vp = {s = \\t,a,p,q => iadv.s ++ infVP VVInf vp False Simul CPos (agrP3 Sg)} ; NominalizeVPSlashNP vpslash np = let vp : ResEng.VP = insertObjPre (\\_ => vpslash.c2 ++ np.s ! NPAcc) vpslash ; diff --git a/src/romance/ExtendRomanceFunctor.gf b/src/romance/ExtendRomanceFunctor.gf index 85731c31c..ef2b2f6eb 100644 --- a/src/romance/ExtendRomanceFunctor.gf +++ b/src/romance/ExtendRomanceFunctor.gf @@ -190,6 +190,8 @@ incomplete concrete ExtendRomanceFunctor of Extend = InOrderToVP = variants {} ; -- VP -> Adv ; -- (in order) to publish the document + PredIAdvVP iadv vp = {s = \\_,_,_,_ => iadv.s ++ infStr vp} ; + ApposNP np1 np2 = np1 ** { s = \\c => { c1 = (np1.s ! c).c1 ++ (np2.s ! c).c1 ;