From bfb016b3ea88c89646605f60083a2e2f29e245ee Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 24 Feb 2023 11:15:03 +0800 Subject: [PATCH] (May) move passive to V's infl.table+rename opers --- src/malay/ParadigmsMay.gf | 13 ++++++------- src/malay/ParamMay.gf | 1 + src/malay/ResMay.gf | 15 ++++++++------- src/malay/VerbMay.gf | 10 +--------- 4 files changed, 16 insertions(+), 23 deletions(-) diff --git a/src/malay/ParadigmsMay.gf b/src/malay/ParadigmsMay.gf index c406cc58..7d5e1ba1 100644 --- a/src/malay/ParadigmsMay.gf +++ b/src/malay/ParadigmsMay.gf @@ -135,8 +135,8 @@ oper } ; mkV = overload { - mkV : Str -> V = \v -> lin V (mkVerb v Ber) ; - mkV : Str -> Prefix -> V = \v,p -> lin V (mkVerb v p) + mkV : Str -> V = \v -> lin V (regVerb v Ber) ; + mkV : Str -> Prefix -> V = \v,p -> lin V (regVerb v p) } ; prefixV : V -> V = \v -> v ** { @@ -147,7 +147,7 @@ oper } ; mkV2 = overload { - mkV2 : Str -> V2 = \v2 -> lin V2 (mkVerb2 (mkVerb v2 Meng) dirPrep) ; + mkV2 : Str -> V2 = \v2 -> lin V2 (mkVerb2 (regVerb v2 Meng) dirPrep) ; mkV2 : V -> Prep -> V2 = \v,p -> lin V2 (mkVerb2 v p) } ; @@ -160,7 +160,7 @@ oper mkV4 = overload { mkV4 : Str -> Str -> V2 = \v2,str -> - lin V2 (mkVerb4 (mkVerb v2 Meng) dirPrep str) ; + lin V2 (mkVerb4 (regVerb v2 Meng) dirPrep str) ; mkV4 : V -> Prep -> Str -> V2 = \v,p,str -> lin V2 (mkVerb4 v p str) } ; @@ -177,12 +177,11 @@ oper } ; mkV2V = overload { - mkV2V : Str -> V2V = \v -> lin V2V (mkVerb2 (mkVerb 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) } ; -- lin like_V2 = let like' : V2 = mkV2 "suka" in like' ** { --- s = \\_ => "suka" ; --- passive = "disukai" ; +-- s = table {Passive => "disukai" ; _ => "suka"} ; -- } ; -------------------------------------------------------------------------------- diff --git a/src/malay/ParamMay.gf b/src/malay/ParamMay.gf index 0c153302..5ea50b37 100644 --- a/src/malay/ParamMay.gf +++ b/src/malay/ParamMay.gf @@ -142,6 +142,7 @@ param VForm = Root -- infinitive, imperative, … | Active + | Passive | Imperative ; diff --git a/src/malay/ResMay.gf b/src/malay/ResMay.gf index aaadafde..09448cb9 100644 --- a/src/malay/ResMay.gf +++ b/src/malay/ResMay.gf @@ -214,7 +214,6 @@ oper } ; Verb2 : Type = Verb ** { c2 : Preposition ; - passive : Str } ; Verb3 : Type = Verb2 ** { @@ -223,22 +222,24 @@ oper Verb4 : Type = Verb ** { c2 : Preposition ; - passive : Str } ; -- VV : Type = Verb ** {vvtype : VVForm} ; - mkVerb : Str -> Prefix -> Verb = \str,p -> { + regVerb : Str -> Prefix -> Verb = \str,p -> + mkVerb str (prefix p str) ("di" + str) (str + "kan") ; + + mkVerb : (makan, memakan, dimakan, makankan : Str) -> Verb = \rt,act,pass,imp -> { s = table { - Root => str ; - Active => prefix p str ; - Imperative => str ++ BIND ++ "kan" + Root => rt ; + Active => act ; + Passive => pass ; + Imperative => imp } } ; mkVerb2 : Verb -> Preposition -> Verb2 = \v,pr -> v ** { c2 = pr ; - passive = "di" ++ BIND ++ v.s ! Root } ; mkVerb3 : Verb -> (p,q : Preposition) -> Verb3 = \v,p,q -> diff --git a/src/malay/VerbMay.gf b/src/malay/VerbMay.gf index 5f5a6731..1fb5d67e 100644 --- a/src/malay/VerbMay.gf +++ b/src/malay/VerbMay.gf @@ -9,7 +9,7 @@ lin UseV = ResMay.useV ; -- : V2 -> VP ; -- be loved - PassV2 v2 = useV {s = \\_ => v2.passive} ; + PassV2 v2 = useV {s = \\_ => v2.s ! Passive} ; -- : VPSlash -> VP ; -- ReflVP = ResMay.insertRefl ; @@ -113,17 +113,9 @@ lin -- : VV -> VPSlash -> VPSlash ; SlashVV vv vps = ComplVV vv vps ** { c2 = vps.c2 ; -- like ComplVV except missing object - passive = vv.s ++ vps.passive; adjCompl = vps.adjCompl ; } ; - -- SlashVV vv vp = vp ** useV { - -- s = \\vf => vv.s ++ linVP vp ; - -- c2 = vp.c2 ; - -- passive = vv.s ++ vp.passive; - -- adjCompl = vp.adjCompl ; - -- } ; - -- : V2V -> NP -> VPSlash -> VPSlash ; -- beg me to buy -- SlashV2VNP v2v np vps =