forked from GitHub/gf-core
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
|
||||
|
||||
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 ;
|
||||
-}
|
||||
|
||||
}
|
||||
@@ -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 ++
|
||||
|
||||
Reference in New Issue
Block a user