From fd51156369d04731cf8e3877517b15ed1b6017b1 Mon Sep 17 00:00:00 2001 From: Meowyam Date: Thu, 23 Feb 2023 15:06:14 +0800 Subject: [PATCH] add mkVS --- src/malay/ParadigmsMay.gf | 24 ++++++++++++++++-------- src/malay/ResMay.gf | 4 ++++ src/malay/VerbMay.gf | 11 ++++++----- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/malay/ParadigmsMay.gf b/src/malay/ParadigmsMay.gf index ac781e5da..783114145 100644 --- a/src/malay/ParadigmsMay.gf +++ b/src/malay/ParadigmsMay.gf @@ -9,7 +9,7 @@ oper -- should always use these constants instead of the constructors -- defined in $ResSom$. -noPrep : Prep = mkPrep "" ; + noPrep : Prep = mkPrep "" ; --2 Nouns @@ -54,16 +54,17 @@ noPrep : Prep = mkPrep "" ; mkVV : Str -> VV ; } ; + mkVS : overload { + mkVS : V -> VS ; + } ; -- mkVA : overload { mkVA : V -> VA ; } ; -- mkVQ : Str -> VQ -- = \s -> lin VQ (regV s) ; - mkVS : overload { - mkV : (root : Str) -> V ; -- Verb that takes meng as a active prefix - mkV : (root : Str) -> Prefix -> V -- Root and prefix - } ; + + -- -- mkV2A : Str -> V2A -- = \s -> lin V2A (regV s ** {c2 = noPrep}) ; @@ -158,10 +159,17 @@ noPrep : Prep = mkPrep "" ; mkV4 : V -> Prep -> Str -> V2 = \v,p,str -> lin V2 (mkVerb4 v p str) } ; - mkVV = overload { - mkVV : Str -> VV = \vv -> lin VV (ss vv) - } ; + mkVV = overload { + mkVV : Str -> VV = \vv -> lin VV (ss vv) + } ; + mkVS = overload { + mkVS : V -> VS = \v -> lin VS (v) + } ; + + mkVA = overload { + mkVA : V -> VA = \v -> lin VA (v) + } ; -------------------------------------------------------------------------------- } diff --git a/src/malay/ResMay.gf b/src/malay/ResMay.gf index 2be6ab522..aaadafdef 100644 --- a/src/malay/ResMay.gf +++ b/src/malay/ResMay.gf @@ -330,6 +330,7 @@ oper Sentence : Type = {s : Str} ; + predVP : NounPhrase -> VerbPhrase -> Clause = \np,vp -> { subj = np.s ! Bare ; pred = vp.s @@ -338,6 +339,9 @@ oper predVPSlash : NounPhrase -> VPSlash -> ClSlash = \np,vps -> predVP np ** {c2 = vps.c2} ; + linS : Sentence -> Str = \sent -> sent.s ; + + -- mkClause : Str -> NounPhrase -> VPSlash -> Clause = \str,np,vp -> { -- subj = str ++ np.s ! Bare; -- pred = vp.s diff --git a/src/malay/VerbMay.gf b/src/malay/VerbMay.gf index 8bbf55b88..0be398aa6 100644 --- a/src/malay/VerbMay.gf +++ b/src/malay/VerbMay.gf @@ -23,13 +23,14 @@ lin ComplVA va ap = ResMay.insertComp ap (useV va) ; -- : VS -> S -> VP ; - -- ComplVS vs s = - -- let vps = useV vs ; - -- subord = SubjS {s=""} s ; - -- in vps ** {} ; + ComplVS vs s = ResMay.insertObj (linS s) (useV vs) ; + + -- let vps = useV vs ; + -- subord = SubjS {s=""} s ; + -- in vps ** {} ; {- - -- : VQ -> QS -> VP ; + -- : VQ -> QS -> VP ;s ComplVQ vq qs = ;