forked from GitHub/gf-rgl
(Pes) Remove c1 field from V2V, change c2 field from Str to Compl
c1 should be covered by isAux. Though that's not a very informative field either, it just controls if conjThat is inserted (is if isAux=True).
This commit is contained in:
@@ -83,7 +83,7 @@ concrete CatPes of Cat = CommonX - [Adv] ** open ResPes, Prelude in {
|
||||
V2, V2A, V2Q, V2S = ResPes.Verb ** {c2 : Compl} ;
|
||||
V3 = ResPes.Verb ** {c2, c3 : Compl} ;
|
||||
VV = ResPes.VV ;
|
||||
V2V = ResPes.VV ** {c1 : Str ; c2 : Str} ;
|
||||
V2V = ResPes.VV ** {c2 : Compl} ;
|
||||
A = ResPes.Adjective ;
|
||||
A2 = ResPes.Adjective ** {c2 : Str} ;
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ concrete LexiconPes of Lexicon = CatPes **
|
||||
beautiful_A = mkA "زیبا" ;
|
||||
become_VA = mkV "شدن" "شو";
|
||||
beer_N = mkN01 "آبجو" inanimate;
|
||||
beg_V2V = mkV2V (compoundV "خواهش" doVerb) "از" "" False;
|
||||
beg_V2V = mkV2V (compoundV "خواهش" doVerb) "از" False;
|
||||
big_A = mkA "بزرگ" ;
|
||||
bike_N = mkN01 "دوچرخه" inanimate;
|
||||
bird_N = mkN02 "پرنده" animate;
|
||||
|
||||
@@ -124,9 +124,15 @@ oper
|
||||
= \isAux,vvf,v -> v ** {isAux = isAux ; compl = vvf ; isDef = False}
|
||||
} ;
|
||||
|
||||
mkV2V : V -> (cV, cN : Str) -> (isAux : Bool) -> V2V -- Verb, complementiser for the verb, complementiser for the noun, whether it's auxiliary.
|
||||
= \v,s1,s2,b -> let vv : VV = mkVV b subjunctive v in
|
||||
lin V2V (vv ** {c1 = s1 ; c2 = s2}) ;
|
||||
mkV2V = overload {
|
||||
mkV2V : V -> (cN : Str) -> (isAux : Bool) -> V2V -- Verb, complementiser for the noun, whether it's auxiliary.
|
||||
= \v,s,b -> let vv : VV = mkVV b subjunctive v in
|
||||
lin V2V (vv ** {c2 = prepOrRa s}) ;
|
||||
mV2V : VV -> (cN : Str) -> V2V -- V2V out of VV + complementiser for the noun
|
||||
= \vv,s -> lin V2V (vv ** {c2 = prepOrRa s}) ;
|
||||
mV2V : VV -> V2V -- V2V out of VV, را for direct object
|
||||
= \vv -> lin V2V (vv ** {c2 = prepOrRa "را"})
|
||||
} ;
|
||||
|
||||
|
||||
----2 Adverbs
|
||||
|
||||
@@ -21,10 +21,10 @@ concrete VerbPes of Verb = CatPes ** open ResPes,Prelude in {
|
||||
SlashV2S v s = v ** embComp (conjThat ++ s.s ! Indic) (predV v) ;
|
||||
SlashV2Q v q = v ** embComp (q.s ! QIndir) (predV v) ;
|
||||
SlashV2A v ap = v ** insertObj (ap.s ! Bare) (predV v) ; ---- paint it red , check form of adjective
|
||||
SlashV2V v vp = insertVV v vp ** {c2 = {s = v.c1 ; ra = []}} ;
|
||||
SlashV2V v vp = v ** insertVV v vp ; -- ** {c2 = {s = v.c1 ; ra = []}} ;
|
||||
SlashV2VNP v2v np vps =
|
||||
let vvVP : VPH = insertVV v2v vps ;
|
||||
vvVPS = vvVP ** {c2={s=v2v.c1 ; ra=v2v.c2}} ; -- TODO find out if it's a general rule; only one V2V in the lexicon /IL
|
||||
let vvVPS : VPHSlash = vps ** insertVV v2v vps ;
|
||||
-- vvVPS = vvVP ** {c2={s=v2v.c1 ; ra=v2v.c2}} ; -- TODO find out if it's a general rule; only one V2V in the lexicon /IL
|
||||
in complSlash vvVPS np ** {c2 = vps.c2} ;
|
||||
|
||||
AdvVP vp adv = insertAdV adv.s vp ;
|
||||
|
||||
Reference in New Issue
Block a user