(Pes) Add a parameter to VS whether to select subjunctive or indicative

Co-Authored-By: Nasrin Mostofian <nasrin.mostofian@gmail.com>
This commit is contained in:
Inari Listenmaa
2019-04-18 18:10:13 +02:00
parent 92a49f9c47
commit 02b231363e
4 changed files with 10 additions and 9 deletions

View File

@@ -12,7 +12,7 @@ concrete CatPes of Cat = CommonX ** open ResPes, Prelude in {
---- Sentence
Cl = ResPes.Clause ;
Cl = ResPes.Clause ; -- TODO: like romance does "no tiene ningún", i.e. negative quant/det/NP forces negation in Cl and S
ClSlash = {
subj : Str ;
vp : ResPes.TAnt => Polarity => Order => Str ;
@@ -72,9 +72,10 @@ concrete CatPes of Cat = CommonX ** open ResPes, Prelude in {
-----b Conj = {s : Str ; n : Number} ;
-----b DConj = {s1,s2 : Str ; n : Number} ;
Subj = {s : Str ; compl : VVForm} ; -- subjunctive or indicative
VS = ResPes.Verb ** {compl : VVForm} ; -- subjunctive or indicative
Prep = Compl ;
---- Open lexical classes, e.g. Lexicon
V, VS, VQ = ResPes.Verb ;
V, VQ = ResPes.Verb ;
V2, VA, V2A, V2Q, V2S = ResPes.Verb ** {c2 : Compl} ;
V3 = ResPes.Verb ** {c2, c3 : Compl} ;

View File

@@ -76,7 +76,7 @@ concrete LexiconPes of Lexicon = CatPes **
enemy_N = mkN02 "دشمن" animate;
factory_N = mkN01 "کارخانه" inanimate;
father_N2 = mkN2 (mkN02 "پدر" animate) [];
fear_VS = mkV_1 "ترسیدن";
fear_VS = mkVS (mkV_1 "ترسیدن") ;
find_V2 = mkV2 (compoundV "پیدا" doVerb) "را";
fish_N = mkN01 "ماهی" animate;
floor_N = mkN01 "زمین" inanimate; -- Note: floor in persian can have 3 different translations
@@ -97,7 +97,7 @@ concrete LexiconPes of Lexicon = CatPes **
hat_N = mkN01 "کلاه" inanimate;
hear_V2 = mkV2 (mkV "شنیدن" "شنو") "را" ;
hill_N = mkN01 "تپه" inanimate;
hope_VS = compoundV "امیدوار" beVerb;
hope_VS = mkVS (compoundV "امیدوار" beVerb) ;
horse_N = mkN01 "اسب" animate;
hot_A = mkA "داغ" ["داغ داغ"] ;
house_N = mkN01 "خانه" inanimate;
@@ -106,7 +106,7 @@ concrete LexiconPes of Lexicon = CatPes **
iron_N = mkN01 "آهن" inanimate;
king_N = mkN "پادشاه" "پادشاهان" animate;
know_V2 = mkV2 (mkV "شناختن" "شناس") "را";
know_VS = (mkV_1 "دانستن") ; -- danestan -> dan ; needs explicit mkV_1
know_VS = mkVS (mkV_1 "دانستن") ; -- danestan -> dan ; needs explicit mkV_1
know_VQ = (mkV_1 "دانستن") ;
lake_N = mkN01 "دریاچه" inanimate;
lamp_N = mkN01 "چراغ" inanimate; -- also "لامپ", but they have different usage
@@ -157,7 +157,7 @@ concrete LexiconPes of Lexicon = CatPes **
roof_N = mkN01 "بام" inanimate; -- has variant "سقف"
rubber_N = mkN01 "پاککن" inanimate; -- also "لاستیک"
run_V = mkV_1 "دویدن" ;
say_VS = mkV "گفتن" "گوی" ;
say_VS = mkVS (mkV "گفتن" "گوی") ;
school_N = mkN "مدرسه" "مدارس" inanimate;
science_N = mkN "علم" "علوم" inanimate; -- also "دانش"
sea_N = mkN01 "دریا" inanimate;

View File

@@ -148,9 +148,9 @@ oper
mkVS = overload {
mkVS : Str -> VS -- predictable verb with sentence complement
= \s -> lin VS (regV s) ;
= \s -> lin VS (regV s ** {compl=subjunctive}) ;
mkVS : V -> VS -- VS out of a verb
= \v -> lin VS v
= \v -> lin VS (v ** {compl=subjunctive})
} ;
mkVV = overload {

View File

@@ -13,7 +13,7 @@ concrete VerbPes of Verb = CatPes ** open ResPes,Prelude in {
ComplSlash = complSlash ;
ComplVV = insertVV ;
ComplVS v s = embComp (conjThat ++ s.s ! Indic) (predV v) ;
ComplVS v s = embComp (conjThat ++ s.s ! v.compl) (predV v) ;
ComplVQ v q = embComp (conjThat ++ q.s) (predV v) ;
ComplVA v ap = insertObj (appComp v.c2 ap.s) (predV v) ; -- check form of adjective