diff --git a/lib/resource/abstract/Clause.gf b/lib/resource/abstract/Clause.gf
index f26fd11d1..03892943d 100644
--- a/lib/resource/abstract/Clause.gf
+++ b/lib/resource/abstract/Clause.gf
@@ -37,6 +37,7 @@ fun
QPredV : IP -> V -> QCl ; -- "who walks"
QPredPassV : IP -> V -> QCl ; -- "who is seen"
QPredV2 : IP -> V2 -> NP -> QCl ; -- "who sees Mary"
+---- QPredV3 : IP -> V3 -> NP -> NP -> QCl ; -- "who gives Mary food"
QPredReflV2 : IP -> V2 -> QCl ; -- "who loves himself"
QPredVS : IP -> VS -> S -> QCl ; -- "who says that Mary runs"
QPredVV : IP -> VV -> VPI -> QCl ; -- "who must walk"
diff --git a/lib/resource/doc/gf-resource.html b/lib/resource/doc/gf-resource.html
index 71b61a5b8..da97b8f7c 100644
--- a/lib/resource/doc/gf-resource.html
+++ b/lib/resource/doc/gf-resource.html
@@ -680,6 +680,34 @@ In two language families:
| Swedish | X | X | X | X | X |
+
+
+Known bugs and limitations
+
+(The listed limitations are ones that do not follow from the table on
+the previous page.)
+
+Danish
+
+English
+
+Finnish
+
+French: no inverted questions
+
+German
+
+Italian: no omission of unstressed subject pronouns
+
+Norwegian
+
+Russian
+
+Spanish: no omission of unstressed subject pronouns
+
+Swedish
+
+
Obtaining it
diff --git a/lib/resource/romance/ClauseRomance.gf b/lib/resource/romance/ClauseRomance.gf
index 093a41e74..e0485ce41 100644
--- a/lib/resource/romance/ClauseRomance.gf
+++ b/lib/resource/romance/ClauseRomance.gf
@@ -70,6 +70,74 @@ incomplete concrete ClauseRomance of Clause = CategoriesRomance **
SPredAdv subj adv =
sats2clause (mkSatsCopula subj adv.s) ;
+--------
+
+ QPredV np v =
+ sats2quest (mkSats (intNounPhrase np) v) ;
+
+ QPredPassV subj v =
+ sats2quest (mkSatsCopula (intNounPhrase subj) (v.s ! VPart subj.g subj.n)) ;
+ QPredV2 np v y =
+ sats2quest (mkSatsObject (intNounPhrase np) v y) ;
+-- QPredV3 subj verb obj1 obj2 =
+-- sats2quest (insertObject (mkSatsObject (intNounPhrase subj) verb obj1) verb.c3 verb.s3 obj2) ;
+
+ QPredReflV2 subj verb =
+ sats2quest (
+ mkSatsObject (intNounPhrase subj)
+ {s = verb.s ; s2 = [] ; c = accusative ; aux = AEsse}
+ ---- {s = verb.s ; s2 = verb.s2 ; c = verb.c ; aux = AEsse}
+ ---- this produces huge cf - find out why! AR 16/3/2005
+ (reflPronNounPhrase subj.g subj.n P3)) ;
+
+ QPredVS subj verb sent =
+ sats2quest (
+ insertExtrapos (mkSats (intNounPhrase subj) verb)
+ (\\b => embedConj ++ sent.s ! subordMode verb b)) ; ---- mn
+ QPredVQ subj verb quest =
+ sats2quest (
+ insertExtrapos (mkSats (intNounPhrase subj) verb) (\\_ => quest.s ! IndirQ)) ;
+ QPredV2S subj verb obj sent =
+ sats2quest (
+ insertExtrapos
+ (mkSatsObject (intNounPhrase subj) verb obj)
+ (\\b => embedConj ++ sent.s ! subordMode verb b)
+ ) ; ---- mn ;
+ QPredV2Q subj verb obj quest =
+ sats2quest (
+ insertExtrapos
+ (mkSatsObject (intNounPhrase subj) verb obj)
+ (\\_ => quest.s ! IndirQ)) ;
+ QPredVA subj verb adj =
+ sats2quest (
+ insertExtrapos (mkSats (intNounPhrase subj) verb) (\\_ => adj.s ! AF subj.g subj.n)) ;
+
+ QPredVV subj verb vp =
+ sats2quest (
+ insertExtrapos
+ (mkSats (intNounPhrase subj) verb)
+ (\\_ => prepCase verb.c ++ vp.s ! VIInfinit ! subj.g ! (intNounPhrase subj).n ! P3)
+ ) ;
+
+-- QPredObjV2V
+
+-- QPredProgVP
+
+-- QPred(IntNounPhrase Subj)V2V
+
+-- QPredV2A
+
+
+ QPredAP subj adj =
+ sats2quest (mkSatsCopula (intNounPhrase subj) (adj.s ! AF subj.g subj.n)) ;
+ QPredCN subj cn =
+ sats2quest (mkSatsCopula (intNounPhrase subj) (indefNoun subj.n cn)) ;
+ QPredNP subj np =
+ sats2quest (mkSatsCopula (intNounPhrase subj) (np.s ! stressed nominative)) ;
+ QPredAdv subj adv =
+ sats2quest (mkSatsCopula (intNounPhrase subj) adv.s) ;
+
+
{-
-- Use VPs
diff --git a/lib/resource/romance/SyntaxRomance.gf b/lib/resource/romance/SyntaxRomance.gf
index 0a085b05a..1b43f3759 100644
--- a/lib/resource/romance/SyntaxRomance.gf
+++ b/lib/resource/romance/SyntaxRomance.gf
@@ -1560,4 +1560,10 @@ oper
negNe, negPas : Str ;
+
+ sats2quest : Sats -> Question = \x ->
+ let cl = sats2clause x
+ in
+ {s = \\b,f,_ => cl.s ! b ! f} ;
+
}