mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-20 02:09:32 -06:00
83 lines
2.6 KiB
Plaintext
83 lines
2.6 KiB
Plaintext
--1 Conjunction: Coordination
|
|
|
|
-- Coordination is defined for many different categories; here is
|
|
-- a sample. The rules apply to *lists* of two or more elements,
|
|
-- and define two general patterns:
|
|
-- - ordinary conjunction: X,...X and X
|
|
-- - distributed conjunction: both X,...,X and X
|
|
--
|
|
--
|
|
-- $VP$ conjunctions are not covered here, because their applicability
|
|
-- depends on language. Some special cases are defined in
|
|
-- [``Extra`` ../abstract/Extra.gf].
|
|
|
|
|
|
abstract Conjunction = Cat ** {
|
|
|
|
--2 Rules
|
|
|
|
fun
|
|
ConjS : Conj -> ListS -> S ; -- he walks and she runs
|
|
ConjRS : Conj -> ListRS -> RS ; -- who walks and whose mother runs
|
|
ConjAP : Conj -> ListAP -> AP ; -- cold and warm
|
|
ConjNP : Conj -> ListNP -> NP ; -- she or we
|
|
ConjAdv : Conj -> ListAdv -> Adv ; -- here or there
|
|
ConjAdV : Conj -> ListAdV -> AdV ; -- always or sometimes
|
|
ConjIAdv : Conj -> ListIAdv -> IAdv ; -- where and with whom
|
|
ConjCN : Conj -> ListCN -> CN ; -- man and woman
|
|
ConjDet : Conj -> ListDAP -> Det ; -- his or her
|
|
|
|
--2 Categories
|
|
|
|
-- These categories are only used in this module.
|
|
|
|
cat
|
|
[S]{2} ;
|
|
[RS]{2} ;
|
|
[Adv]{2} ;
|
|
[AdV]{2} ;
|
|
[NP]{2} ;
|
|
[AP]{2} ;
|
|
[IAdv]{2} ;
|
|
[CN] {2} ;
|
|
[DAP] {2} ;
|
|
|
|
--2 List constructors
|
|
|
|
-- The list constructors are derived from the list notation and therefore
|
|
-- not given explicitly. But here are their type signatures:
|
|
{-
|
|
-- overview
|
|
BaseC : C -> C -> [C] ; --- for C = AdV, Adv, AP, CN, Det, IAdv, NP, RS, S
|
|
ConsC : C -> [C] -> [C] ; --- for C = AdV, Adv, AP, CN, Det, IAdv, NP, RS, S
|
|
|
|
-- complete list
|
|
|
|
BaseAP : AP -> AP -> ListAP ; -- red, white
|
|
ConsAP : AP -> ListAP -> ListAP ; -- red, white, blue
|
|
|
|
BaseAdV : AdV -> AdV -> ListAdV ; -- always, sometimes
|
|
ConsAdV : AdV -> ListAdV -> ListAdV ; -- always, sometimes, never
|
|
|
|
BaseAdv : Adv -> Adv -> ListAdv ; -- here, there
|
|
ConsAdv : Adv -> ListAdv -> ListAdv ; -- here, there, everywhere
|
|
|
|
BaseCN : CN -> CN -> ListCN ; -- man, woman
|
|
ConsCN : CN -> ListCN -> ListCN ; -- man, woman, child
|
|
|
|
BaseIAdv : IAdv -> IAdv -> ListIAdv ; -- where, when
|
|
ConsIAdv : IAdv -> ListIAdv -> ListIAdv ; -- where, when, why
|
|
|
|
BaseNP : NP -> NP -> ListNP ; -- John, Mary
|
|
ConsNP : NP -> ListNP -> ListNP ; -- John, Mary, Bill
|
|
|
|
BaseRS : RS -> RS -> ListRS ; -- who walks, whom I know
|
|
ConsRS : RS -> ListRS -> ListRS ; -- who wals, whom I know, who is here
|
|
|
|
BaseS : S -> S -> ListS ; -- John walks, Mary runs
|
|
ConsS : S -> ListS -> ListS ; -- John walks, Mary runs, Bill swims
|
|
|
|
-}
|
|
}
|
|
|