(May) Add SlashV2S + mkV2S + lexicon + test case

This commit is contained in:
Inari Listenmaa
2023-02-24 11:37:28 +08:00
parent bfb016b3ea
commit 87b6bf9f0a
5 changed files with 24 additions and 10 deletions

View File

@@ -9,7 +9,7 @@ lin airplane_N = mkN "kapal terbang" ;
-- lin alas_Interj = mkInterj "" ; -- lin alas_Interj = mkInterj "" ;
lin already_Adv = mkA "sudah" ; lin already_Adv = mkA "sudah" ;
lin animal_N = mkN "haiwan" ; lin animal_N = mkN "haiwan" ;
-- lin answer_V2S = mkV2S "jawab" ; lin answer_V2S = mkV2S "jawab" ;
lin apartment_N = mkN "pangsapuri" ; lin apartment_N = mkN "pangsapuri" ;
lin apple_N = mkN "epal" ; lin apple_N = mkN "epal" ;
lin art_N = mkN "seni" ; lin art_N = mkN "seni" ;

View File

@@ -102,7 +102,6 @@ oper SelfNP : NP -> NP = notYet "SelfNP" ;
oper SentAP : AP -> SC -> AP = notYet "SentAP" ; oper SentAP : AP -> SC -> AP = notYet "SentAP" ;
oper SentCN : CN -> SC -> CN = notYet "SentCN" ; oper SentCN : CN -> SC -> CN = notYet "SentCN" ;
oper SlashV2Q : V2Q -> QS -> VPSlash = notYet "SlashV2Q" ; oper SlashV2Q : V2Q -> QS -> VPSlash = notYet "SlashV2Q" ;
oper SlashV2S : V2S -> S -> VPSlash = notYet "SlashV2S" ;
oper SlashV2VNP : V2V -> NP -> VPSlash -> VPSlash = notYet "SlashV2VNP" ; oper SlashV2VNP : V2V -> NP -> VPSlash -> VPSlash = notYet "SlashV2VNP" ;
oper SlashVS : NP -> VS -> SSlash -> ClSlash = notYet "SlashVS" ; oper SlashVS : NP -> VS -> SSlash -> ClSlash = notYet "SlashVS" ;
oper Use2N3 : N3 -> N2 = notYet "Use2N3" ; oper Use2N3 : N3 -> N2 = notYet "Use2N3" ;

View File

@@ -66,6 +66,12 @@ oper
mkV2V : Str -> V2V ; mkV2V : Str -> V2V ;
mkV2V : V -> Prep -> Prep -> V2V ; mkV2V : V -> Prep -> Prep -> V2V ;
} ; } ;
mkV2S : overload {
mkV2S : Str -> V2S ;
mkV2S : V -> Prep -> V2S ;
} ;
-- mkVQ : Str -> VQ -- mkVQ : Str -> VQ
-- = \s -> lin VQ (regV s) ; -- = \s -> lin VQ (regV s) ;
@@ -73,8 +79,6 @@ oper
-- --
-- mkV2A : Str -> V2A -- mkV2A : Str -> V2A
-- = \s -> lin V2A (regV s ** {c2 = noPrep}) ; -- = \s -> lin V2A (regV s ** {c2 = noPrep}) ;
-- mkV2V : Str -> V2V
-- = \s -> lin V2V (regV s ** {c2 = noPrep}) ;
-- mkV2Q : Str -> V2Q -- mkV2Q : Str -> V2Q
-- = \s -> lin V2Q (regV s ** {c2 = noPrep}) ; -- = \s -> lin V2Q (regV s ** {c2 = noPrep}) ;
@@ -180,6 +184,12 @@ oper
mkV2V : Str -> V2V = \v -> lin V2V (mkVerb2 (regVerb v Meng) dirPrep) ; mkV2V : Str -> V2V = \v -> lin V2V (mkVerb2 (regVerb v Meng) dirPrep) ;
mkV2V : V -> Prep -> Prep -> V2V = \v,p1,p2 -> lin V2V (mkVerb3 v p1 p2) mkV2V : V -> Prep -> Prep -> V2V = \v,p1,p2 -> lin V2V (mkVerb3 v p1 p2)
} ; } ;
mkV2S = overload {
mkV2S : Str -> V2S = \v -> lin V2S (mkVerb2 (regVerb v Meng) dirPrep) ;
mkV2S : V -> Prep -> V2S = \v,p -> lin V22 (mkVerb2 v p)
} ;
-- lin like_V2 = let like' : V2 = mkV2 "suka" in like' ** { -- lin like_V2 = let like' : V2 = mkV2 "suka" in like' ** {
-- s = table {Passive => "disukai" ; _ => "suka"} ; -- s = table {Passive => "disukai" ; _ => "suka"} ;
-- } ; -- } ;

View File

@@ -81,12 +81,10 @@ lin
-- : V2S -> S -> VPSlash ; -- answer (to him) that it is good -- : V2S -> S -> VPSlash ; -- answer (to him) that it is good
-- SlashV2S v2 s = useV { SlashV2S v2 s = useV v2 ** {
-- s = \\vf => v2.s ! vf; c2 = v2.c2;
-- } ** { adjCompl = "yang" ++ s.s ; -- TODO check /Inari
-- c2 = v2.c2; } ;
-- sCompl = s.s
-- } ;
{- {-

View File

@@ -4,3 +4,10 @@ LangMay: dia memberi kucing kepadaku
Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (ComplSlash (Slash3V3 give_V3 (UsePron i_Pron)) (MassNP (UseN cat_N))))) Lang: UttS (UseCl (TTAnt TPres ASimul) PPos (PredVP (UsePron he_Pron) (ComplSlash (Slash3V3 give_V3 (UsePron i_Pron)) (MassNP (UseN cat_N)))))
LangMay: dia memberi aku kucing LangMay: dia memberi aku kucing
-- Sentence complements
-- added by Inari, TODO check
Lang: PredVP (UsePron she_Pron) (ComplSlash (SlashV2S answer_V2S (UseCl (TTAnt TPres ASimul) PPos (PredVP (MassNP (UseN dog_N)) (ComplSlash (SlashV2a eat_V2) (MassNP (UseN cat_N)))))) (UsePron i_Pron))
LangMay: dia menjawab aku yang anjing makan kucing