From 1cce995197d9780ac9355a357ea91654f5c33084 Mon Sep 17 00:00:00 2001 From: aarne Date: Fri, 2 Sep 2005 13:13:17 +0000 Subject: [PATCH] PredI --- lib/resource/abstract/ClausePredI.gf | 113 +++++++++++++++++++++++++++ lib/resource/english/ClauseEng.gf | 6 +- lib/resource/english/PredicEng.gf | 2 + 3 files changed, 119 insertions(+), 2 deletions(-) create mode 100644 lib/resource/abstract/ClausePredI.gf diff --git a/lib/resource/abstract/ClausePredI.gf b/lib/resource/abstract/ClausePredI.gf new file mode 100644 index 000000000..58c283658 --- /dev/null +++ b/lib/resource/abstract/ClausePredI.gf @@ -0,0 +1,113 @@ +--# -path=.:../abstract:../../prelude + +incomplete concrete ClausePredI of Clause = open Predic in { + + flags optimize=all ; + + lin + + SPredV np v = SPredVerb Vt_ np (UseV1 v) ComplNil ; + SPredV2 np v x = SPredVerb (Vt CtN) np (UseV2 v) (ComplNP x) ; +---- SPredV3 np v x y = SPredVerb (VtN CtN) np (UseV3 v) (ComplAdd (Vt CtN) x (ComplNP y)) ; +---- SPredVS np v x = SPredVerb (Vt CtS) np (UseVS v) (ComplS x) ; + +-- SPredPassV np v = PredVP np (UsePassV v) ; +-- SPredReflV2 np v = PredVP np (ComplReflV2 v) ; +{- + SPredVV np v x = PredVP np (ComplVV v x) ; + SPredVQ np v x = PredVP np (ComplVQ v x) ; + SPredVA np v x = PredVP np (ComplVA v x) ; + SPredV2A np v x y = PredVP np (ComplV2A v x y) ; + SPredSubjV2V np v x y = PredVP np (ComplSubjV2V v x y) ; + SPredObjV2V np v x y = PredVP np (ComplObjV2V v x y) ; + SPredV2S np v x y = PredVP np (ComplV2S v x y) ; + SPredV2Q np v x y = PredVP np (ComplV2Q v x y) ; + + SPredAP np v = PredVP np (PredAP v) ; + SPredCN np v = PredVP np (PredCN v) ; + SPredNP np v = PredVP np (PredNP v) ; + SPredAdv np v = PredVP np (PredAdv v) ; + + SPredProgVP np vp = PredVP np (PredProgVP vp) ; + + QPredV np v = IntVP np (UseV v) ; + QPredPassV np v = IntVP np (UsePassV v) ; + QPredV2 np v x = IntVP np (ComplV2 v x) ; + QPredV3 np v x y = IntVP np (ComplV3 v x y) ; + QPredReflV2 np v = IntVP np (ComplReflV2 v) ; + QPredVS np v x = IntVP np (ComplVS v x) ; + QPredVV np v x = IntVP np (ComplVV v x) ; + QPredVQ np v x = IntVP np (ComplVQ v x) ; + QPredVA np v x = IntVP np (ComplVA v x) ; + QPredV2A np v x y = IntVP np (ComplV2A v x y) ; + QPredSubjV2V np v x y = IntVP np (ComplSubjV2V v x y) ; + QPredObjV2V np v x y = IntVP np (ComplObjV2V v x y) ; + QPredV2S np v x y = IntVP np (ComplV2S v x y) ; + QPredV2Q np v x y = IntVP np (ComplV2Q v x y) ; + + QPredAP np v = IntVP np (PredAP v) ; + QPredCN np v = IntVP np (PredCN v) ; + QPredNP np v = IntVP np (PredNP v) ; + QPredAdv np v = IntVP np (PredAdv v) ; + + QPredProgVP np vp = IntVP np (PredProgVP vp) ; + + RPredV np v = RelVP np (UseV v) ; + RPredPassV np v = RelVP np (UsePassV v) ; + RPredV2 np v x = RelVP np (ComplV2 v x) ; + RPredV3 np v x y = RelVP np (ComplV3 v x y) ; + RPredReflV2 np v = RelVP np (ComplReflV2 v) ; + RPredVS np v x = RelVP np (ComplVS v x) ; + RPredVV np v x = RelVP np (ComplVV v x) ; + RPredVQ np v x = RelVP np (ComplVQ v x) ; + RPredVA np v x = RelVP np (ComplVA v x) ; + RPredV2A np v x y = RelVP np (ComplV2A v x y) ; + RPredSubjV2V np v x y = RelVP np (ComplSubjV2V v x y) ; + RPredObjV2V np v x y = RelVP np (ComplObjV2V v x y) ; + RPredV2S np v x y = RelVP np (ComplV2S v x y) ; + RPredV2Q np v x y = RelVP np (ComplV2Q v x y) ; + + RPredAP np v = RelVP np (PredAP v) ; + RPredCN np v = RelVP np (PredCN v) ; + RPredNP np v = RelVP np (PredNP v) ; + RPredAdv np v = RelVP np (PredAdv v) ; + + RPredProgVP np vp = RelVP np (PredProgVP vp) ; + + IPredV v = UseVP (UseV v) ; + IPredV2 v x = UseVP (ComplV2 v x) ; + IPredPassV v = UseVP (UsePassV v) ; + IPredV3 v x y = UseVP (ComplV3 v x y) ; + IPredReflV2 v = UseVP (ComplReflV2 v) ; + IPredVS v x = UseVP (ComplVS v x) ; + IPredVV v x = UseVP (ComplVV v x) ; + IPredVQ v x = UseVP (ComplVQ v x) ; + IPredVA v x = UseVP (ComplVA v x) ; + IPredV2A v x y = UseVP (ComplV2A v x y) ; + IPredSubjV2V v x y = UseVP (ComplSubjV2V v x y) ; + IPredObjV2V v x y = UseVP (ComplObjV2V v x y) ; + IPredV2S v x y = UseVP (ComplV2S v x y) ; + IPredV2Q v x y = UseVP (ComplV2Q v x y) ; + + IPredAP v = UseVP (PredAP v) ; + IPredCN v = UseVP (PredCN v) ; + IPredNP v = UseVP (PredNP v) ; + IPredAdv v = UseVP (PredAdv v) ; + + IPredProgVP vp = UseVP (PredProgVP vp) ; +-} +{- +-- Use VPs + + IntVP = intVerbPhrase ; + RelVP = relVerbPhrase ; + + + PosVP tp = predVerbGroup True tp.a ; + NegVP tp = predVerbGroup False tp.a ; + + AdvVP = adVerbPhrase ; + SubjVP = subjunctVerbPhrase ; +-} + +} \ No newline at end of file diff --git a/lib/resource/english/ClauseEng.gf b/lib/resource/english/ClauseEng.gf index 3e3d4ee6b..862d5b6fa 100644 --- a/lib/resource/english/ClauseEng.gf +++ b/lib/resource/english/ClauseEng.gf @@ -2,6 +2,8 @@ --# -opt concrete ClauseEng of Clause = CategoriesEng ** +---- ClausePredI with (Predic = PredicEng) ; + open Prelude, SyntaxEng in { flags optimize=all ; @@ -95,6 +97,8 @@ concrete ClauseEng of Clause = CategoriesEng ** IPredAdv v = predBeGroupI (complAdverb v) ; IPredProgVP vp = predBeGroupI (vp.s ! VIPresPart) ; +} + {- -- Use VPs @@ -110,5 +114,3 @@ concrete ClauseEng of Clause = CategoriesEng ** AdvVP = adVerbPhrase ; SubjVP = subjunctVerbPhrase ; -} - -} \ No newline at end of file diff --git a/lib/resource/english/PredicEng.gf b/lib/resource/english/PredicEng.gf index 95a1f36f6..2e35e8078 100644 --- a/lib/resource/english/PredicEng.gf +++ b/lib/resource/english/PredicEng.gf @@ -38,12 +38,14 @@ concrete PredicEng of Predic = CategoriesEng ** cprep1 verb.c (compl.s1 ! a) ++ cprep2 verb.c (compl.s2 ! a) ) ; +{- takes 80% ! RPredVerb vt np verb compl = relVerbClause np verb (\\a => vt.s ++ cprep1 verb.c (compl.s1 ! a) ++ cprep2 verb.c (compl.s2 ! a) ) ; +-} IPredVerb vt verb compl = predVerbI verb (\\a => vt.s ++