(May) add coordination AP, NP and CN

This commit is contained in:
Inari Listenmaa
2023-02-24 12:49:38 +08:00
parent 1ad71e10b1
commit b4a2f686bb
2 changed files with 18 additions and 19 deletions

View File

@@ -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
}

View File

@@ -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" ;