diff --git a/src/abstract/Extend.gf b/src/abstract/Extend.gf index 2aaac7b22..892ad7ff1 100644 --- a/src/abstract/Extend.gf +++ b/src/abstract/Extend.gf @@ -305,4 +305,7 @@ fun fun TPastSimple : Tense ; +fun + SubjunctRelCN : CN -> RS -> CN ; -- e.g. Romance languages when subjunctive/conjunctive is needed + } diff --git a/src/common/ExtendFunctor.gf b/src/common/ExtendFunctor.gf index cdbfa7dfa..fdcb7dc87 100644 --- a/src/common/ExtendFunctor.gf +++ b/src/common/ExtendFunctor.gf @@ -137,6 +137,8 @@ lin ExistNPQS t p np = UseQCl t p (QuestCl (ExistNP np)) ; ExistIPQS t p np = UseQCl t p (ExistIP np) ; + SubjunctRelCN cn rs = RelCN cn rs ; -- no difference from indicative + lincat X = {s : Str} ; diff --git a/src/romance/ExtendRomanceFunctor.gf b/src/romance/ExtendRomanceFunctor.gf index a6eee52cb..bc5ddaa6e 100644 --- a/src/romance/ExtendRomanceFunctor.gf +++ b/src/romance/ExtendRomanceFunctor.gf @@ -73,7 +73,12 @@ incomplete concrete ExtendRomanceFunctor of Extend = .s ! m ! (Ag rp.a.g rp.a.n P3) ! False ; c = Nom } ; - + + SubjunctRelCN cn rs = let g = cn.g in { + s = \\n => cn.s ! n ++ rs.s ! Conjunct ! agrP3 g n ; --- mood + g = g + } ; + MkVPI vp = variants {} ; -- Temp -> Pol -> VP -> VPI ; -- to sleep / hasn't slept ConjVPI = variants {} ; -- Conj -> [VPI] -> VPI ; -- has walked and won't sleep