From eb9685e9110b03f9c7e420edcdbe40a223f316fa Mon Sep 17 00:00:00 2001 From: aarne Date: Mon, 25 Mar 2013 14:21:46 +0000 Subject: [PATCH] added generalized ComplVV to ParseFin --- lib/src/finnish/ResFin.gf | 18 +++++++++++++----- lib/src/finnish/stemmed/ParseFin.gf | 13 +++++++++++++ lib/src/hindi/DictHin.gf | 2 +- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/lib/src/finnish/ResFin.gf b/lib/src/finnish/ResFin.gf index 19811d516..57f14867d 100644 --- a/lib/src/finnish/ResFin.gf +++ b/lib/src/finnish/ResFin.gf @@ -408,17 +408,25 @@ oper } } ; - infVP : NPForm -> Polarity -> Agr -> VP -> InfForm -> Str = - \sc,pol,agr,vp,vi -> +-- the first Polarity is VP-internal, the second comes form the main verb: +-- ([main] tahdon | en tahdo) ([internal] nukkua | olla nukkumatta) + infVPGen : Polarity -> NPForm -> Polarity -> Agr -> VP -> InfForm -> Str = + \ipol,sc,pol,agr,vp,vi -> let fin = case sc of { -- subject case NPCase Nom => True ; -- minä tahdon nähdä auton _ => False -- minun täytyy nähdä auto } ; - verb = vp.s ! VIInf vi ! Simul ! Pos ! agr ; -- no "ei" - compl = vp.s2 ! fin ! pol ! agr ++ vp.adv ! pol ++ vp.ext -- but compl. case propagated + verb = case ipol of { + Pos => ; -- nähdä/näkemään + Neg => <(predV (verbOlla ** {sc = NPCase Nom ; qp = True ; p = []})).s ! VIInf vi ! Simul ! Pos ! agr, + (vp.s ! VIInf Inf3Abess ! Simul ! Pos ! agr).fin> -- olla/olemaan näkemättä + } ; + compl = vp.s2 ! fin ! pol ! agr ++ vp.adv ! pol ++ vp.ext -- compl. case propagated in - verb.fin ++ verb.inf ++ compl ; + verb.p1.fin ++ verb.p1.inf ++ verb.p2 ++ compl ; + + infVP : NPForm -> Polarity -> Agr -> VP -> InfForm -> Str = infVPGen Pos ; -- The definitions below were moved here from $MorphoFin$ so that we the -- auxiliary of predication can be defined. diff --git a/lib/src/finnish/stemmed/ParseFin.gf b/lib/src/finnish/stemmed/ParseFin.gf index 386a2caa1..f15107c8b 100644 --- a/lib/src/finnish/stemmed/ParseFin.gf +++ b/lib/src/finnish/stemmed/ParseFin.gf @@ -24,6 +24,19 @@ open MorphoFin, ResFin, ParadigmsFin, SyntaxFin, StemFin, Prelude in { flags literal=Symb ; coding = utf8 ; lin + ComplVV v ant pol vp = + insertObj + (\\_,b,a => infVPGen pol.p v.sc b a vp v.vi) + (predSV {s = v.s ; + sc = case vp.sc of { + NPCase Nom => v.sc ; -- minun täytyy pestä auto + c => c -- minulla täytyy olla auto + } ; + h = v.h ; p = v.p + } + ) ; + + myself_NP = mkNP (mkPronoun "itse" "itsen" "itseä" "itsenä" "itseen" Sg P1) ; yourselfSg_NP = mkNP (mkPronoun "itse" "itsen" "itseä" "itsenä" "itseen" Sg P2) ; himself_NP = mkNP (mkPronoun "itse" "itsen" "itseä" "itsenä" "itseen" Sg P3) ; diff --git a/lib/src/hindi/DictHin.gf b/lib/src/hindi/DictHin.gf index 903bfaba7..e57ab2c4d 100644 --- a/lib/src/hindi/DictHin.gf +++ b/lib/src/hindi/DictHin.gf @@ -25785,7 +25785,7 @@ of_Prep = mkPrep "का" "की" ; part_Prep = mkPrep "" "" ; please_Voc = ss "कृपया" ; possess_Prep = mkPrep "का" "की" ; - quite_Adv = ss "काफ़ी" ; + quite_Adv = mkAdv "काफ़ी" ; she_Pron = personalPN "वह" "उस" "उस" "उस का" "उस की" "उस के" "उस की" Sg Fem Pers3_Distant ; -- chek with prasad about 'Us' so_AdA = ss "तो" ; somebody_NP = MassNP (UseN (ParadigmsHin.mkN "कोई" "कोई" "कोई" "कोई" "कोई" "कोई" Masc ));