mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
(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} ;
|
V2, V2A, V2Q, V2S = ResPes.Verb ** {c2 : Compl} ;
|
||||||
V3 = ResPes.Verb ** {c2, c3 : Compl} ;
|
V3 = ResPes.Verb ** {c2, c3 : Compl} ;
|
||||||
VV = ResPes.VV ;
|
VV = ResPes.VV ;
|
||||||
V2V = ResPes.VV ** {c1 : Str ; c2 : Str} ;
|
V2V = ResPes.VV ** {c2 : Compl} ;
|
||||||
A = ResPes.Adjective ;
|
A = ResPes.Adjective ;
|
||||||
A2 = ResPes.Adjective ** {c2 : Str} ;
|
A2 = ResPes.Adjective ** {c2 : Str} ;
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ concrete LexiconPes of Lexicon = CatPes **
|
|||||||
beautiful_A = mkA "زیبا" ;
|
beautiful_A = mkA "زیبا" ;
|
||||||
become_VA = mkV "شدن" "شو";
|
become_VA = mkV "شدن" "شو";
|
||||||
beer_N = mkN01 "آبجو" inanimate;
|
beer_N = mkN01 "آبجو" inanimate;
|
||||||
beg_V2V = mkV2V (compoundV "خواهش" doVerb) "از" "" False;
|
beg_V2V = mkV2V (compoundV "خواهش" doVerb) "از" False;
|
||||||
big_A = mkA "بزرگ" ;
|
big_A = mkA "بزرگ" ;
|
||||||
bike_N = mkN01 "دوچرخه" inanimate;
|
bike_N = mkN01 "دوچرخه" inanimate;
|
||||||
bird_N = mkN02 "پرنده" animate;
|
bird_N = mkN02 "پرنده" animate;
|
||||||
|
|||||||
@@ -124,9 +124,15 @@ oper
|
|||||||
= \isAux,vvf,v -> v ** {isAux = isAux ; compl = vvf ; isDef = False}
|
= \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.
|
mkV2V = overload {
|
||||||
= \v,s1,s2,b -> let vv : VV = mkVV b subjunctive v in
|
mkV2V : V -> (cN : Str) -> (isAux : Bool) -> V2V -- Verb, complementiser for the noun, whether it's auxiliary.
|
||||||
lin V2V (vv ** {c1 = s1 ; c2 = s2}) ;
|
= \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
|
----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) ;
|
SlashV2S v s = v ** embComp (conjThat ++ s.s ! Indic) (predV v) ;
|
||||||
SlashV2Q v q = v ** embComp (q.s ! QIndir) (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
|
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 =
|
SlashV2VNP v2v np vps =
|
||||||
let vvVP : VPH = insertVV v2v vps ;
|
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
|
-- 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} ;
|
in complSlash vvVPS np ** {c2 = vps.c2} ;
|
||||||
|
|
||||||
AdvVP vp adv = insertAdV adv.s vp ;
|
AdvVP vp adv = insertAdV adv.s vp ;
|
||||||
|
|||||||
Reference in New Issue
Block a user