diff --git a/src/malay/ExtendMay.gf b/src/malay/ExtendMay.gf index 9b46b1c91..5e14dccc9 100644 --- a/src/malay/ExtendMay.gf +++ b/src/malay/ExtendMay.gf @@ -9,6 +9,16 @@ concrete ExtendMay of Extend = CatMay , MkVPS , PredVPS + -- excluded because RGL funs needed for them not implemented yet + , SlashBareV2S + , PredAPVP + , ComplBareVS + + + ,PresPartAP, PastPartAP + ,GenModNP, GenNP, GenRP + ,CompoundN + ,GerundNP -- VPS2 ; -- have loved (binary version of VPS) @@ -51,6 +61,37 @@ concrete ExtendMay of Extend = CatMay -- ConsVPI : VPI -> ListVPI -> ListVPI ; ConsVPI str listvpi vpi = consSS "," listvpi vpi ; + -- ConjVPI : Conj -> [VPI] -> VPI ; -- to sleep and to walk + -- ComplVPIVV : VV -> VPI -> VP ; -- must sleep and walk + ComplVPIVV vv vpi = useV { + s = \\vf => vv.s ++ vpi.s + } ; + + -- PresPartAP : VP -> AP ; -- (the man) looking at Mary + PresPartAP vp = { + s = linVP vp + } ; + + PastPartAP vp = { + s = linVP vp + } ; + -- GenModNP : Num -> NP -> CN -> NP ; -- this man's car(s) + GenModNP n np cn = variants {}; + + -- GenNP : NP -> Quant ; -- this man's + GenNP np = variants {}; + -- GenRP : Num -> CN -> RP ; -- whose car + GenRP n cn = variants {}; + + -- CompoundN : N -> N -> N ; -- control system / controls system / control-system + CompoundN n1 n2 = n2 ** { + s = \\nf => n1.s ! NF Sg Bare ++ n2.s ! nf + } ; + -- GerundNP : VP -> NP ; -- publishing the document (by nature definite) + GerundNP vp = emptyNP ** { + s = \\_ => linVP vp + } ; + -- MkVPS2 : Temp -> Pol -> VPSlash -> VPS2 ; -- has loved -- ConjVPS2 : Conj -> [VPS2] -> VPS2 ; -- has loved and now hates diff --git a/src/malay/GrammarMay.gf b/src/malay/GrammarMay.gf index 9c643f4b2..4bf46f606 100644 --- a/src/malay/GrammarMay.gf +++ b/src/malay/GrammarMay.gf @@ -9,7 +9,7 @@ concrete GrammarMay of Grammar = RelativeMay, ConjunctionMay, PhraseMay, - TextX - [IAdv], + TextX - [AAnter, TFut, TCond, IAdv], StructuralMay, IdiomMay, TenseX - [AAnter, TFut, TCond, IAdv] @@ -17,9 +17,8 @@ concrete GrammarMay of Grammar = flags startcat = Phr ; - lin - AAnter = {s = "sudah" ; a = ParamX.Anter} ; - TFut = {s = "akan" ; t = ParamX.Fut} ; - TCond = {s = "akan" ; t = ParamX.Cond} ; + lin AAnter = {s = "sudah" ; a = ParamX.Anter} ; --# notpresent + TFut = {s = "akan" ; t = ParamX.Fut} ; --# notpresent + TCond = {s = "akan" ; t = ParamX.Cond} ; --# notpresent } ; diff --git a/src/malay/MissingMay.gf b/src/malay/MissingMay.gf index 133ff736e..44cc5cd0a 100644 --- a/src/malay/MissingMay.gf +++ b/src/malay/MissingMay.gf @@ -114,7 +114,6 @@ oper Use2N3 : N3 -> N2 = notYet "Use2N3" ; oper Use3N3 : N3 -> N2 = notYet "Use3N3" ; oper UseA2 : A2 -> AP = notYet "UseA2" ; oper UseComparA : A -> AP = notYet "UseComparA" ; -oper UsePN : PN -> NP = notYet "UsePN" ; oper UseQCl : Temp -> Pol -> QCl -> QS = notYet "UseQCl" ; oper UseSlash : Temp -> Pol -> ClSlash -> SSlash = notYet "UseSlash" ; oper UttAP : AP -> Utt = notYet "UttAP" ; diff --git a/src/malay/NounMay.gf b/src/malay/NounMay.gf index 0fc845550..76142d547 100644 --- a/src/malay/NounMay.gf +++ b/src/malay/NounMay.gf @@ -19,8 +19,7 @@ concrete NounMay of Noun = CatMay ** open ResMay, Prelude in { } ; -- : PN -> NP ; --- UsePN pn = pn ** { --- } ; + UsePN pn = MassNP (UseN pn) ; -- : Pron -> NP ; UsePron pron = pron ** { diff --git a/src/malay/ParadigmsMay.gf b/src/malay/ParadigmsMay.gf index 5a1732e1f..2ffaa7122 100644 --- a/src/malay/ParadigmsMay.gf +++ b/src/malay/ParadigmsMay.gf @@ -9,6 +9,7 @@ oper -- should always use these constants instead of the constructors -- defined in $ResSom$. +noPrep : Prep = mkPrep "" ; --2 Nouns diff --git a/src/malay/VerbMay.gf b/src/malay/VerbMay.gf index b66e508f1..77511c0cf 100644 --- a/src/malay/VerbMay.gf +++ b/src/malay/VerbMay.gf @@ -16,7 +16,7 @@ lin -- : VV -> VP -> VP ; ComplVV vv vp = vp ** useV { - s = \\vf => vv.s ++ vp.s ! Active ! Pos + s = \\vf => vv.s ++ linVP vp } ; -- : VS -> S -> VP ; @@ -101,7 +101,7 @@ lin } ; -- SlashVV vv vp = vp ** useV { - -- s = \\vf => vv.s ++ vp.s ! Active ! Pos ; + -- s = \\vf => vv.s ++ linVP vp ; -- c2 = vp.c2 ; -- passive = vv.s ++ vp.passive; -- adjCompl = vp.adjCompl ;