mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-24 18:28:55 -06:00
PredI
This commit is contained in:
113
lib/resource/abstract/ClausePredI.gf
Normal file
113
lib/resource/abstract/ClausePredI.gf
Normal file
@@ -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 ;
|
||||||
|
-}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -2,6 +2,8 @@
|
|||||||
--# -opt
|
--# -opt
|
||||||
|
|
||||||
concrete ClauseEng of Clause = CategoriesEng **
|
concrete ClauseEng of Clause = CategoriesEng **
|
||||||
|
---- ClausePredI with (Predic = PredicEng) ;
|
||||||
|
|
||||||
open Prelude, SyntaxEng in {
|
open Prelude, SyntaxEng in {
|
||||||
|
|
||||||
flags optimize=all ;
|
flags optimize=all ;
|
||||||
@@ -95,6 +97,8 @@ concrete ClauseEng of Clause = CategoriesEng **
|
|||||||
IPredAdv v = predBeGroupI (complAdverb v) ;
|
IPredAdv v = predBeGroupI (complAdverb v) ;
|
||||||
|
|
||||||
IPredProgVP vp = predBeGroupI (vp.s ! VIPresPart) ;
|
IPredProgVP vp = predBeGroupI (vp.s ! VIPresPart) ;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
{-
|
{-
|
||||||
-- Use VPs
|
-- Use VPs
|
||||||
@@ -110,5 +114,3 @@ concrete ClauseEng of Clause = CategoriesEng **
|
|||||||
AdvVP = adVerbPhrase ;
|
AdvVP = adVerbPhrase ;
|
||||||
SubjVP = subjunctVerbPhrase ;
|
SubjVP = subjunctVerbPhrase ;
|
||||||
-}
|
-}
|
||||||
|
|
||||||
}
|
|
||||||
@@ -38,12 +38,14 @@ concrete PredicEng of Predic = CategoriesEng **
|
|||||||
cprep1 verb.c (compl.s1 ! a) ++
|
cprep1 verb.c (compl.s1 ! a) ++
|
||||||
cprep2 verb.c (compl.s2 ! a)
|
cprep2 verb.c (compl.s2 ! a)
|
||||||
) ;
|
) ;
|
||||||
|
{- takes 80% !
|
||||||
RPredVerb vt np verb compl =
|
RPredVerb vt np verb compl =
|
||||||
relVerbClause np verb
|
relVerbClause np verb
|
||||||
(\\a => vt.s ++
|
(\\a => vt.s ++
|
||||||
cprep1 verb.c (compl.s1 ! a) ++
|
cprep1 verb.c (compl.s1 ! a) ++
|
||||||
cprep2 verb.c (compl.s2 ! a)
|
cprep2 verb.c (compl.s2 ! a)
|
||||||
) ;
|
) ;
|
||||||
|
-}
|
||||||
IPredVerb vt verb compl =
|
IPredVerb vt verb compl =
|
||||||
predVerbI verb
|
predVerbI verb
|
||||||
(\\a => vt.s ++
|
(\\a => vt.s ++
|
||||||
|
|||||||
Reference in New Issue
Block a user