(May) Add dative "prep", direct object "prep" +truly empty emptyPrep

This commit is contained in:
Inari Listenmaa
2020-08-20 11:40:16 +02:00
parent 8208485f48
commit 5b28e621b3
3 changed files with 17 additions and 7 deletions

View File

@@ -148,7 +148,7 @@ lin father_N2 = mkN2 "bapa" ;
-- lin garden_N = mkN "" ;
-- lin girl_N = mkN "" ;
lin give_V3 = mkV3 (mkV "beri" Meng) ;
lin give_V3 = mkV3 (mkV "beri" Meng) emptyPrep datPrep ;
-- lin glove_N = mkN "" ;
lin go_V = mkV "pergi" ;
-- lin gold_N = mkN "" ;
@@ -308,7 +308,7 @@ lin read_V2 = mkV2 "baca" ;
-- lin see_V2 = mkV2 "" ;
-- lin seed_N = mkN "" ;
-- lin seek_V2 = mkV2 "" ;
lin sell_V3 = mkV3 (mkV "jual" Meng) ;
lin sell_V3 = mkV3 (mkV "jual" Meng) emptyPrep emptyPrep ; -- TODO
-- lin send_V3 = mkV3 "" ;
-- lin sew_V = mkV "" ;
-- lin sharp_A = mkA "" ;

View File

@@ -93,8 +93,8 @@ oper
mkN2 = overload {
mkN2 : Str -> N2 = \s -> lin N2 (mkNoun s ** {c2 = emptyPrep}) ;
mkN2 : N -> N2 = \n -> lin N2 (n ** {c2 = emptyPrep}) ;
mkN2 : Str -> N2 = \s -> lin N2 (mkNoun s ** {c2 = dirPrep}) ;
mkN2 : N -> N2 = \n -> lin N2 (n ** {c2 = dirPrep}) ;
} ;
-- mkPN = overload {
@@ -110,13 +110,13 @@ oper
} ;
mkV2 = overload {
mkV2 : Str -> V2 = \v2 -> lin V2 (mkVerb2 (mkVerb v2 Meng) emptyPrep) ;
mkV2 : Str -> V2 = \v2 -> lin V2 (mkVerb2 (mkVerb v2 Meng) dirPrep) ;
mkV2 : V -> Prep -> V2 = \v,p -> lin V2 (mkVerb2 v p)
} ;
mkV3 = overload {
mkV3 : V -> V3 = \v ->
lin V3 (mkVerb3 v emptyPrep emptyPrep) ;
lin V3 (mkVerb3 v dirPrep dirPrep) ;
mkV3 : V -> (p,q : Prep) -> V3 = \v,p,q ->
lin V3 (mkVerb3 v p q)
} ;

View File

@@ -111,7 +111,8 @@ oper
isPoss = False ;
} ;
emptyPrep : Preposition = {
-- direct object: "hits him" -> "memukul+nya"
dirPrep : Preposition = {
s = [] ;
obj = table {
P1 => BIND ++ "ku" ;
@@ -120,6 +121,15 @@ oper
isPoss = True ;
} ;
-- truly empty
emptyPrep : Preposition = {
s = [] ;
obj = \\_ => [] ;
isPoss = True ;
} ;
datPrep : Preposition = mkPrep "kepada" ;
applyPrep : Preposition -> NounPhrase -> Str = \prep,np ->
case np.a of {
IsPron p => prep.obj ! p ++ np.empty ;