forked from GitHub/gf-rgl
(Eng) change lincat of V2A
- update V2A linref - add overloaded mkV2A with backwards-compatible signature - update lexicon V2A example - remove old comment with Verb lincat thanks to @inariksit for guidance!
This commit is contained in:
@@ -92,9 +92,9 @@ concrete CatEng of Cat = CommonX - [Pol,SC,CAdv] ** open ResEng, Prelude in {
|
|||||||
|
|
||||||
-- Open lexical classes, e.g. Lexicon
|
-- Open lexical classes, e.g. Lexicon
|
||||||
|
|
||||||
V, VS, VQ, VA = Verb ; -- = {s : VForm => Str} ;
|
V, VS, VQ, VA = Verb ;
|
||||||
V2, V2A, V2Q, V2S = Verb ** {c2 : Str} ;
|
V2, V2Q, V2S = Verb ** {c2 : Str} ;
|
||||||
V3 = Verb ** {c2, c3 : Str} ;
|
V2A,V3 = Verb ** {c2, c3 : Str} ;
|
||||||
VV = {s : VVForm => Str ; p : Str ; typ : VVType} ;
|
VV = {s : VVForm => Str ; p : Str ; typ : VVType} ;
|
||||||
V2V = Verb ** {c2,c3 : Str ; typ : VVType} ;
|
V2V = Verb ** {c2,c3 : Str ; typ : VVType} ;
|
||||||
|
|
||||||
@@ -114,8 +114,8 @@ concrete CatEng of Cat = CommonX - [Pol,SC,CAdv] ** open ResEng, Prelude in {
|
|||||||
VPSlash = \s -> predV {s = \\_ => s; p = ""; isRefl = False} ** {c2 = ""; gapInMiddle = False; missingAdv = False } ;
|
VPSlash = \s -> predV {s = \\_ => s; p = ""; isRefl = False} ** {c2 = ""; gapInMiddle = False; missingAdv = False } ;
|
||||||
|
|
||||||
V, VS, VQ, VA = \s -> {s = \\_ => s; p = ""; isRefl = False} ;
|
V, VS, VQ, VA = \s -> {s = \\_ => s; p = ""; isRefl = False} ;
|
||||||
V2, V2A, V2Q, V2S = \s -> {s = \\_ => s; p = ""; isRefl = False; c2=""} ;
|
V2, V2Q, V2S = \s -> {s = \\_ => s; p = ""; isRefl = False; c2=""} ;
|
||||||
V3 = \s -> {s = \\_ => s; p = ""; isRefl = False; c2,c3=""} ;
|
V3, V2A = \s -> {s = \\_ => s; p = ""; isRefl = False; c2,c3=""} ;
|
||||||
VV = \s -> {s = \\_ => s; p = ""; isRefl = False; typ = VVInf} ;
|
VV = \s -> {s = \\_ => s; p = ""; isRefl = False; typ = VVInf} ;
|
||||||
V2V = \s -> {s = \\_ => s; p = ""; isRefl = False; c2,c3="" ; typ = VVInf} ;
|
V2V = \s -> {s = \\_ => s; p = ""; isRefl = False; c2,c3="" ; typ = VVInf} ;
|
||||||
|
|
||||||
|
|||||||
@@ -132,7 +132,7 @@ lin
|
|||||||
oil_N = regN "oil" ;
|
oil_N = regN "oil" ;
|
||||||
old_A = regADeg "old" ;
|
old_A = regADeg "old" ;
|
||||||
open_V2 = dirV2 (mkV "open" "opens" "opened" "opened" "opening") ;
|
open_V2 = dirV2 (mkV "open" "opens" "opened" "opened" "opening") ;
|
||||||
paint_V2A = mkV2A (regV "paint") noPrep ;
|
paint_V2A = mkV2A (regV "paint") ;
|
||||||
paper_N = regN "paper" ;
|
paper_N = regN "paper" ;
|
||||||
paris_PN = mkPN (mkN nonhuman (mkN "Paris")) ;
|
paris_PN = mkPN (mkN nonhuman (mkN "Paris")) ;
|
||||||
peace_N = regN "peace" ;
|
peace_N = regN "peace" ;
|
||||||
|
|||||||
@@ -321,7 +321,11 @@ oper
|
|||||||
} ;
|
} ;
|
||||||
ingV2V : V -> Prep -> Prep -> V2V ; -- e.g. prevent (noPrep NP) (from VP-ing)
|
ingV2V : V -> Prep -> Prep -> V2V ; -- e.g. prevent (noPrep NP) (from VP-ing)
|
||||||
mkVA : V -> VA ; -- e.g. become (AP)
|
mkVA : V -> VA ; -- e.g. become (AP)
|
||||||
mkV2A : V -> Prep -> V2A ; -- e.g. paint (NP) (AP)
|
mkV2A : overload {
|
||||||
|
mkV2A : V -> V2A ; -- e.g. paint (NP) (AP)
|
||||||
|
mkV2A : V -> Prep -> V2A ; -- backwards compatibility
|
||||||
|
mkV2A : V -> Prep -> Prep -> V2A ; -- e.g. strike (NP) as (AP)
|
||||||
|
} ;
|
||||||
mkVQ : V -> VQ ; -- e.g. wonder (QS)
|
mkVQ : V -> VQ ; -- e.g. wonder (QS)
|
||||||
mkV2Q : V -> Prep -> V2Q ; -- e.g. ask (NP) (QS)
|
mkV2Q : V -> Prep -> V2Q ; -- e.g. ask (NP) (QS)
|
||||||
|
|
||||||
@@ -601,7 +605,11 @@ mkInterj : Str -> Interj
|
|||||||
|
|
||||||
ingV2V v p t = lin V2V (prepV2 v p ** {c3 = t.s ; typ = VVPresPart}) ;
|
ingV2V v p t = lin V2V (prepV2 v p ** {c3 = t.s ; typ = VVPresPart}) ;
|
||||||
mkVA v = lin VA v ;
|
mkVA v = lin VA v ;
|
||||||
mkV2A v p = lin V2A (prepV2 v p) ;
|
mkV2A = overload {
|
||||||
|
mkV2A : V -> V2A = \v -> lin V2A (dirdirV3 v) ;
|
||||||
|
mkV2A : V -> Prep -> V2A = \v,p -> lin V2A (dirV3 v p) ;
|
||||||
|
mkV2A : V -> Prep -> Prep -> V2A = \v,p1,p2 -> lin V2A (prepPrepV3 v p1 p2) ;
|
||||||
|
} ;
|
||||||
mkV2Q v p = lin V2Q (prepV2 v p) ;
|
mkV2Q v p = lin V2Q (prepV2 v p) ;
|
||||||
|
|
||||||
mkAS v = v ;
|
mkAS v = v ;
|
||||||
|
|||||||
Reference in New Issue
Block a user