forked from GitHub/gf-core
generalized V2V construction to present participles
This commit is contained in:
@@ -77,7 +77,7 @@ concrete CatEng of Cat = CommonX ** open ResEng, Prelude in {
|
||||
V2, V2A, V2Q, V2S = Verb ** {c2 : Str} ;
|
||||
V3 = Verb ** {c2, c3 : Str} ;
|
||||
VV = {s : VVForm => Str ; typ : VVType} ;
|
||||
V2V = Verb ** {c2 : Str ; typ : VVType} ;
|
||||
V2V = Verb ** {c2,c3 : Str ; typ : VVType} ;
|
||||
|
||||
A = {s : AForm => Str} ;
|
||||
A2 = {s : AForm => Str ; c2 : Str} ;
|
||||
|
||||
@@ -21,6 +21,8 @@ lin
|
||||
become_VA = mkVA (irregV "become" "became" "become") ;
|
||||
beer_N = regN "beer" ;
|
||||
beg_V2V = mkV2V (regDuplV "beg") noPrep toP ;
|
||||
-- prevent_V2V = ingV2V (mkV "prevent") noPrep (mkPrep "from") ;
|
||||
-- make_V2V = mkV2V make_V noPrep noPrep ;
|
||||
big_A = duplADeg "big" ;
|
||||
bike_N = regN "bike" ;
|
||||
bird_N = regN "bird" ;
|
||||
|
||||
@@ -307,7 +307,8 @@ oper
|
||||
mkV2S : V -> Prep -> V2S ; -- e.g. tell (NP) (that S)
|
||||
mkVV : V -> VV ; -- e.g. want (to VP)
|
||||
ingVV : V -> VV ; -- e.g. start (VPing)
|
||||
mkV2V : V -> Prep -> Prep -> V2V ; -- e.g. want (NP) (to VP)
|
||||
mkV2V : V -> Prep -> Prep -> V2V ; -- e.g. want (noPrep NP) (to VP)
|
||||
ingV2V : V -> Prep -> Prep -> V2V ; -- e.g. prevent (noPrep NP) (from VP-ing)
|
||||
mkVA : V -> VA ; -- e.g. become (AP)
|
||||
mkV2A : V -> Prep -> V2A ; -- e.g. paint (NP) (AP)
|
||||
mkVQ : V -> VQ ; -- e.g. wonder (QS)
|
||||
@@ -555,7 +556,8 @@ mkSubj : Str -> Subj = \s -> lin Subj {s = s} ; --%
|
||||
|
||||
mkV0 v = v ;
|
||||
mkV2S v p = lin V2S (prepV2 v p) ;
|
||||
mkV2V v p t = lin V2V (prepV2 v p ** {typ = VVInf}) ;
|
||||
mkV2V v p t = lin V2V (prepV2 v p ** {c3 = t.s ; typ = VVAux}) ;
|
||||
ingV2V v p t = lin V2V (prepV2 v p ** {c3 = t.s ; typ = VVPresPart}) ;
|
||||
mkVA v = lin VA v ;
|
||||
mkV2A v p = lin V2A (prepV2 v p) ;
|
||||
mkV2Q v p = lin V2Q (prepV2 v p) ;
|
||||
|
||||
@@ -16,7 +16,7 @@ concrete VerbEng of Verb = CatEng ** open ResEng in {
|
||||
ComplVQ v q = insertObj (\\_ => q.s ! QIndir) (predV v) ;
|
||||
ComplVA v ap = insertObj (ap.s) (predV v) ;
|
||||
|
||||
SlashV2V v vp = insertObjc (\\a => infVP v.typ vp a) (predVc v) ;
|
||||
SlashV2V v vp = insertObjc (\\a => v.c3 ++ infVP v.typ vp a) (predVc v) ;
|
||||
SlashV2S v s = insertObjc (\\_ => conjThat ++ s.s) (predVc v) ;
|
||||
SlashV2Q v q = insertObjc (\\_ => q.s ! QIndir) (predVc v) ;
|
||||
SlashV2A v ap = insertObjc (\\a => ap.s ! a) (predVc v) ; ----
|
||||
@@ -28,7 +28,7 @@ concrete VerbEng of Verb = CatEng ** open ResEng in {
|
||||
{c2 = vp.c2} ;
|
||||
SlashV2VNP vv np vp =
|
||||
insertObjPre (\\_ => vv.c2 ++ np.s ! Acc)
|
||||
(insertObjc (\\a => infVP vv.typ vp a) (predVc vv)) **
|
||||
(insertObjc (\\a => vv.c3 ++ infVP vv.typ vp a) (predVc vv)) **
|
||||
{c2 = vp.c2} ;
|
||||
|
||||
UseComp comp = insertObj comp.s (predAux auxBe) ;
|
||||
|
||||
Reference in New Issue
Block a user