mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-28 01:18:57 -06:00
(Pes) add beVerb and use in Lexicon for some compound verbs
This commit is contained in:
@@ -1,8 +1,7 @@
|
|||||||
--# -path=.:prelude:alltenses
|
--# -path=.:prelude:alltenses
|
||||||
|
|
||||||
concrete LexiconPes of Lexicon = CatPes **
|
concrete LexiconPes of Lexicon = CatPes **
|
||||||
--open ResPnb, Prelude in {
|
open ParadigmsPes, Prelude in {
|
||||||
open ParadigmsPes, MorphoPes, Prelude in {
|
|
||||||
|
|
||||||
flags
|
flags
|
||||||
optimize=values ;
|
optimize=values ;
|
||||||
@@ -94,11 +93,11 @@ concrete LexiconPes of Lexicon = CatPes **
|
|||||||
go_V = mkV "رفتن" "رو";
|
go_V = mkV "رفتن" "رو";
|
||||||
green_A = mkA "سبز" ;
|
green_A = mkA "سبز" ;
|
||||||
harbour_N = mkN "بندر" "بنادر" inanimate;
|
harbour_N = mkN "بندر" "بنادر" inanimate;
|
||||||
-- hate_V2 = mkV2 (compoundV "متنفر" (mkToBe "بودن" "باش" "هست")) "از" False; -- needs from/ verb to be
|
hate_V2 = mkV2 (compoundV "متنفر" beVerb) "از" False; -- needs from/ verb to be
|
||||||
hat_N = mkN01 "کلاه" inanimate;
|
hat_N = mkN01 "کلاه" inanimate;
|
||||||
hear_V2 = mkV2 (mkV "شنیدن" "شنو") "را" ;
|
hear_V2 = mkV2 (mkV "شنیدن" "شنو") "را" ;
|
||||||
hill_N = mkN01 "تپه" inanimate;
|
hill_N = mkN01 "تپه" inanimate;
|
||||||
-- hope_VS = compoundV "امیدوار" (mkToBe "بودن" "باش" "هست");
|
hope_VS = compoundV "امیدوار" beVerb;
|
||||||
horse_N = mkN01 "اسب" animate;
|
horse_N = mkN01 "اسب" animate;
|
||||||
hot_A = mkA "داغ" ["داغ داغ"] ;
|
hot_A = mkA "داغ" ["داغ داغ"] ;
|
||||||
house_N = mkN01 "خانه" inanimate;
|
house_N = mkN01 "خانه" inanimate;
|
||||||
@@ -120,7 +119,7 @@ concrete LexiconPes of Lexicon = CatPes **
|
|||||||
long_A = mkA "بلند" ;
|
long_A = mkA "بلند" ;
|
||||||
lose_V2 = mkV2 (compoundV "گم" doVerb) "را" ;
|
lose_V2 = mkV2 (compoundV "گم" doVerb) "را" ;
|
||||||
love_N = mkN01 "عشق" inanimate;
|
love_N = mkN01 "عشق" inanimate;
|
||||||
love_V2 = mkV2 (compoundV "دوست" haveVerb) "را"; -- also possible: love_V2 = mkV2 (compoundV "عاشق" (mkToBe "بودن" "باش" "هست"));
|
love_V2 = mkV2 (compoundV "دوست" haveVerb) "را"; -- also possible: love_V2 = mkV2 (compoundV "عاشق" beVerb);
|
||||||
man_N = mkN02 "مرد" animate;
|
man_N = mkN02 "مرد" animate;
|
||||||
married_A2 = mkA "متأهل" "";
|
married_A2 = mkA "متأهل" "";
|
||||||
meat_N = mkN01 "گوشت" inanimate;
|
meat_N = mkN01 "گوشت" inanimate;
|
||||||
@@ -314,7 +313,7 @@ concrete LexiconPes of Lexicon = CatPes **
|
|||||||
burn_V = mkV "سوختن" "سوز" ;
|
burn_V = mkV "سوختن" "سوز" ;
|
||||||
dig_V = mkV_2 "کندن" ;
|
dig_V = mkV_2 "کندن" ;
|
||||||
fall_V = mkV_1 "افتادن" ;
|
fall_V = mkV_1 "افتادن" ;
|
||||||
--float_V = compoundV "شناور" (mkToBe "بودن" "باش" "هست") ;
|
float_V = compoundV "شناور" beVerb ;
|
||||||
flow_V = compoundV "جاری" (mkV "شدن" "شو") ;
|
flow_V = compoundV "جاری" (mkV "شدن" "شو") ;
|
||||||
fly_V = compoundV "پرواز" doVerb ;
|
fly_V = compoundV "پرواز" doVerb ;
|
||||||
freeze_V = compoundV "یخ" hitVerb ;
|
freeze_V = compoundV "یخ" hitVerb ;
|
||||||
|
|||||||
@@ -146,7 +146,7 @@ oper
|
|||||||
|
|
||||||
mkVerb : (x1,x2 : Str) -> Verb = \inf,root2 ->
|
mkVerb : (x1,x2 : Str) -> Verb = \inf,root2 ->
|
||||||
let root1 = tk 1 inf ;
|
let root1 = tk 1 inf ;
|
||||||
impRoot = impRoot root2
|
impRoot = impRoot root2
|
||||||
in { s = table {
|
in { s = table {
|
||||||
Root1 => root1 ;
|
Root1 => root1 ;
|
||||||
Root2 => root2 ;
|
Root2 => root2 ;
|
||||||
@@ -154,7 +154,7 @@ oper
|
|||||||
Imp Pos Sg => addBh impRoot ;
|
Imp Pos Sg => addBh impRoot ;
|
||||||
Imp Pos Pl => addBh impRoot + "ید" ;
|
Imp Pos Pl => addBh impRoot + "ید" ;
|
||||||
Imp Neg Sg => "ن" + impRoot ;
|
Imp Neg Sg => "ن" + impRoot ;
|
||||||
Imp Neg Pl => "ن" + impRoot + "ید" ;
|
Imp Neg Pl => "ن" + impRoot + "ید" ;
|
||||||
Vvform ag => mkvVform root2 ag ;
|
Vvform ag => mkvVform root2 ag ;
|
||||||
VF p t ag => mkCmnVF root1 root2 p t ag }
|
VF p t ag => mkCmnVF root1 root2 p t ag }
|
||||||
} ;
|
} ;
|
||||||
@@ -279,7 +279,7 @@ oper
|
|||||||
Ag Pl P2 => zwnj s "اید" ;
|
Ag Pl P2 => zwnj s "اید" ;
|
||||||
Ag Pl P3 => zwnj s "اند" } ;
|
Ag Pl P3 => zwnj s "اند" } ;
|
||||||
|
|
||||||
pluperfectSuffix : Agr -> Str -> Str = \ag,s -> s ++
|
pluperfectSuffix : Agr -> Str -> Str = \ag,s -> s ++
|
||||||
case ag of { -- not suffix, just using consistent naming scheme :-P /IL
|
case ag of { -- not suffix, just using consistent naming scheme :-P /IL
|
||||||
Ag Sg P1 => "بودم" ;
|
Ag Sg P1 => "بودم" ;
|
||||||
Ag Sg P2 => "بودی" ;
|
Ag Sg P2 => "بودی" ;
|
||||||
@@ -293,7 +293,7 @@ oper
|
|||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
haveVerb : Verb = {s = table {
|
haveVerb : Verb = {s = table {
|
||||||
Root1 => "داشت" ;
|
Root1 => "داشت" ;
|
||||||
Root2 => "دار" ;
|
Root2 => "دار" ;
|
||||||
Inf => "داشتن" ;
|
Inf => "داشتن" ;
|
||||||
Imp Pos Sg => "بدار" ;
|
Imp Pos Sg => "بدار" ;
|
||||||
@@ -315,5 +315,16 @@ oper
|
|||||||
_ => mkCmnVF dasht dar pol t ag
|
_ => mkCmnVF dasht dar pol t ag
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
|
beVerb : Verb = { s = table {
|
||||||
|
Vvform agr => imperfectSuffixD agr "باش" ;
|
||||||
|
Imp Pos Sg => "باش" ;
|
||||||
|
Imp Pos Pl => "باشید" ;
|
||||||
|
Imp Neg Sg => "نباش" ;
|
||||||
|
Imp Neg Pl => "نباشید" ;
|
||||||
|
Inf => "بودن" ;
|
||||||
|
Root1 => "بود" ;
|
||||||
|
Root2 => "باش" ;
|
||||||
|
VF pol tense agr => mkCmnVF "بود" "باش" pol tense agr
|
||||||
|
}
|
||||||
|
} ;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -106,7 +106,8 @@ oper
|
|||||||
mkV : Str -> Str -> V
|
mkV : Str -> Str -> V
|
||||||
= \s1, s2 -> mkVerb s1 s2 ** {lock_V = <>} ;
|
= \s1, s2 -> mkVerb s1 s2 ** {lock_V = <>} ;
|
||||||
-- mkVerb takes both the Infinitive and the present root(root2) and is applied for iregular verbs
|
-- mkVerb takes both the Infinitive and the present root(root2) and is applied for iregular verbs
|
||||||
haveVerb : V = M.haveVerb ;
|
haveVerb : V = lin V M.haveVerb ;
|
||||||
|
beVerb : V = lin V M.beVerb ;
|
||||||
mkV_1 : Str -> V
|
mkV_1 : Str -> V
|
||||||
= \s -> mkVerb1 s ** {lock_V = <>} ;
|
= \s -> mkVerb1 s ** {lock_V = <>} ;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user