add mkV4 to add suffix to some verbs; passive unit tests

This commit is contained in:
Meowyam
2022-02-23 15:09:03 +08:00
parent 066a9f6170
commit 88ae0d5093
4 changed files with 37 additions and 10 deletions

View File

@@ -44,7 +44,7 @@ lin blood_N = mkN "darah" ;
lin book_N = mkN "buku" ;
-- lin boy_N = mkN "" ;
-- lin bread_N = mkN "" ;
lin break_V2 = mkV2 "patahkan" ; -- TODO figure out if -kan needs to be separated
lin break_V2 = mkV4 "patah" "kan"; -- TODO figure out if -kan needs to be separated
-- lin breast_N = mkN "" ;
-- lin breathe_V = mkV "" ;
-- lin broad_A = mkA "" ;
@@ -224,9 +224,11 @@ lin long_A = mkA "panjang" ;
-- lin lose_V2 = mkV2 "" ;
-- lin louse_N = mkN "" ;
-- lin love_N = mkN "" ;
lin love_V2 = let love' : V2 = mkV2 "cinta" in love' ** {
s = \\_ => "mencintai" ;
} ;
-- lin love_V2 = let love' : V2 = mkV2 "cinta" in love' ** {
-- s = \\_ => "mencintai" ;
-- passive = "dicintai" ;
-- } ;
lin love_V2 = mkV4 "cinta" "i";
----
-- M
@@ -302,7 +304,7 @@ lin read_V2 = mkV2 "baca" ;
-- lin round_A = mkA "" ;
-- lin rub_V2 = mkV2 "" ;
-- lin rubber_N = mkN "" ;
-- lin rule_N = mkN "" ;
lin rule_N = mkN "peraturan" ;
-- lin run_V = mkV "" ;
----
@@ -353,7 +355,7 @@ lin song_N = mkN "lagu" ;
-- lin steel_N = mkN "" ;
-- lin stick_N = mkN "" ;
-- lin stone_N = mkN "" ;
-- lin stop_V = mkV "" ;
lin stop_V = mkV "henti" ;
-- lin stove_N = mkN "" ;
-- lin straight_A = mkA "" ;
-- lin student_N = mkN "" ;

View File

@@ -133,6 +133,12 @@ oper
lin V3 (mkVerb3 v p q)
} ;
mkV4 = overload {
mkV4 : Str -> Str -> V2 = \v2,str ->
lin V2 (mkVerb4 (mkVerb v2 Meng) dirPrep str) ;
mkV4 : V -> Prep -> Str -> V2 = \v,p,str -> lin V2 (mkVerb4 v p str)
} ;
mkVV = overload {
mkVV : Str -> VV = \vv -> lin VV (ss vv)
} ;

View File

@@ -209,6 +209,11 @@ oper
c3 : Preposition
} ;
Verb4 : Type = Verb ** {
c2 : Preposition ;
passive : Str
} ;
-- VV : Type = Verb ** {vvtype : VVForm} ;
mkVerb : Str -> Prefix -> Verb = \str,p -> {
@@ -220,12 +225,18 @@ oper
mkVerb2 : Verb -> Preposition -> Verb2 = \v,pr -> v ** {
c2 = pr ;
passive = "di" + v.s ! Root -- TODO check
passive = "di" + v.s ! Root
} ;
mkVerb3 : Verb -> (p,q : Preposition) -> Verb3 = \v,p,q ->
mkVerb2 v p ** {c3 = q} ;
mkVerb4 : Verb -> Preposition -> Str -> Verb4 = \v,pr,str -> v ** {
s = \\_ => v.s ! Active + str;
c2 = pr ;
passive = "di" + v.s ! Root + str
} ;
copula : Verb = {s = \\_ => "ada"} ; -- TODO
------------------
-- Adv

View File

@@ -1,11 +1,19 @@
Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN dog_N)) (PassV2 love_V2))
LangEng: that dog is loved
LangMay: anjing itu dicinta
LangMay: anjing itu dicintai
Lang: UseCl (TTAnt TPres ASimul) PNeg (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN dog_N)) (PassV2 love_V2))
LangEng: that dog isn't loved
LangMay: anjing itu tidak dicinta
LangMay: anjing itu tidak dicintai
Lang: UseCl (TTAnt TPres ASimul) PNeg (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN dog_N)) (ComplVV want_VV (PassV2 love_V2)))
LangEng: that dog doesn't want to be loved
LangMay: anjing itu tidak mahu dicinta
LangMay: anjing itu tidak mahu dicintai
Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN book_N)) (PassV2 read_V2))
LangEng: that book is read
LangMay: buku itu dibaca
Lang: UseCl (TTAnt TPres ASimul) PPos (PredVP (DetCN (DetQuant that_Quant NumSg) (UseN book_N)) (AdvVP (PassV2 read_V2) (PrepNP to_Prep (UsePron youSg_Pron))))
LangEng: that book is read to you
LangMay: buku itu dibacakan kepada kamu