diff --git a/src/malay/ConjunctionMay.gf b/src/malay/ConjunctionMay.gf index 2d817f4c..d84d20e3 100644 --- a/src/malay/ConjunctionMay.gf +++ b/src/malay/ConjunctionMay.gf @@ -6,14 +6,31 @@ concrete ConjunctionMay of Conjunction = lincat [Adv],[AdV] = {s1,s2 : Str} ; [S] = {s1,s2 : Str} ; - + [AP] = {s1,s2 : Str} ; + [NP] = {s1,s2 : Possession => Str} ; + [CN] = {s1,s2 : NForm => Str ; heavyMod : Str} ; lin BaseAdv, BaseAdV = twoSS ; ConsAdv, ConsAdV = consrSS comma ; ConjAdv, ConjAdV = conjunctDistrSS ; + BaseS = twoSS ; ConsS = consrSS comma ; ConjS = conjunctDistrSS ; + BaseAP = twoSS ; + ConsAP = consrSS comma ; + ConjAP = conjunctDistrSS ; + + BaseNP = twoTable Possession ; + ConsNP = consrTable Possession comma ; + ConjNP co nps = emptyNP ** conjunctDistrTable Possession co nps ; + + BaseCN x y = y ** twoTable NForm (mergeCN x) y ; + ConsCN x xs = xs ** consrTable NForm comma (mergeCN x) xs ; + ConjCN conj ss = ss ** conjunctDistrTable NForm conj ss ; + + oper + mergeCN : CNoun -> CNoun = \cn -> cn ** {s = \\nf => linCN cn} ; -- put postmod in s field } diff --git a/src/malay/MissingMay.gf b/src/malay/MissingMay.gf index 8d4870cc..77af89d4 100644 --- a/src/malay/MissingMay.gf +++ b/src/malay/MissingMay.gf @@ -16,14 +16,8 @@ oper AdvQVP : VP -> IAdv -> QVP = notYet "AdvQVP" ; oper AdvSlash : ClSlash -> Adv -> ClSlash = notYet "AdvSlash" ; oper AdvVPSlash : VPSlash -> Adv -> VPSlash = notYet "AdvVPSlash" ; oper ApposCN : CN -> NP -> CN = notYet "ApposCN" ; -oper BaseAP : AP -> AP -> ListAP = notYet "BaseAP" ; -oper BaseAdV : AdV -> AdV -> ListAdV = notYet "BaseAdV" ; -oper BaseAdv : Adv -> Adv -> ListAdv = notYet "BaseAdv" ; -oper BaseCN : CN -> CN -> ListCN = notYet "BaseCN" ; oper BaseIAdv : IAdv -> IAdv -> ListIAdv = notYet "BaseIAdv" ; -oper BaseNP : NP -> NP -> ListNP = notYet "BaseNP" ; oper BaseRS : RS -> RS -> ListRS = notYet "BaseRS" ; -oper BaseS : S -> S -> ListS = notYet "BaseS" ; oper CAdvAP : CAdv -> AP -> NP -> AP = notYet "CAdvAP" ; oper CleftAdv : Adv -> S -> Cl = notYet "CleftAdv" ; oper CleftNP : NP -> RS -> Cl = notYet "CleftNP" ; @@ -36,23 +30,11 @@ oper ComplSlashIP : VPSlash -> IP -> QVP = notYet "ComplSlashIP" ; oper ComplVA : VA -> AP -> VP = notYet "ComplVA" ; oper ComplVQ : VQ -> QS -> VP = notYet "ComplVQ" ; oper ComplVS : VS -> S -> VP = notYet "ComplVS" ; -oper ConjAP : Conj -> ListAP -> AP = notYet "ConjAP" ; -oper ConjAdV : Conj -> ListAdV -> AdV = notYet "ConjAdV" ; -oper ConjAdv : Conj -> ListAdv -> Adv = notYet "ConjAdv" ; -oper ConjCN : Conj -> ListCN -> CN = notYet "ConjCN" ; oper ConjDet : Conj -> ListDAP -> Det = notYet "ConjDet" ; oper ConjIAdv : Conj -> ListIAdv -> IAdv = notYet "ConjIAdv" ; -oper ConjNP : Conj -> ListNP -> NP = notYet "ConjNP" ; oper ConjRS : Conj -> ListRS -> RS = notYet "ConjRS" ; -oper ConjS : Conj -> ListS -> S = notYet "ConjS" ; -oper ConsAP : AP -> ListAP -> ListAP = notYet "ConsAP" ; -oper ConsAdV : AdV -> ListAdV -> ListAdV = notYet "ConsAdV" ; -oper ConsAdv : Adv -> ListAdv -> ListAdv = notYet "ConsAdv" ; -oper ConsCN : CN -> ListCN -> ListCN = notYet "ConsCN" ; oper ConsIAdv : IAdv -> ListIAdv -> ListIAdv = notYet "ConsIAdv" ; -oper ConsNP : NP -> ListNP -> ListNP = notYet "ConsNP" ; oper ConsRS : RS -> ListRS -> ListRS = notYet "ConsRS" ; -oper ConsS : S -> ListS -> ListS = notYet "ConsS" ; oper CountNP : Det -> NP -> NP = notYet "CountNP" ; oper DetDAP : Det -> DAP = notYet "DetDAP" ; oper DetQuantOrd : Quant -> Num -> Ord -> Det = notYet "DetQuantOrd" ;