mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-06-15 01:50:12 -06:00
66 lines
1.4 KiB
Plaintext
66 lines
1.4 KiB
Plaintext
concrete ConjunctionHun of Conjunction =
|
|
CatHun ** open ResHun, Coordination, Prelude in {
|
|
|
|
-- Adverb and other simple {s : Str} types.
|
|
lincat
|
|
[Adv],[AdV],[IAdv],[S] = {s1,s2 : Str} ;
|
|
|
|
lin
|
|
BaseAdv, BaseAdV, BaseIAdv, BaseS = twoSS ;
|
|
ConsAdv, ConsAdV, ConsIAdv, ConsS = consrSS comma ;
|
|
ConjAdv, ConjAdV, ConjIAdv, ConjS = conjunctDistrSS ;
|
|
|
|
-- Adjectival phrases
|
|
lincat
|
|
[AP] = {s1,s2 : Number => Str} ;
|
|
|
|
lin
|
|
BaseAP x y =
|
|
-- Don't try to have discontinuous comparative forms
|
|
let xCont : AP = x ** {s = \\n => x.s ! n ++ x.compar} ;
|
|
yCont : AP = y ** {s = \\n => y.s ! n ++ y.compar} ;
|
|
in twoTable Number xCont yCont ;
|
|
ConsAP a as =
|
|
let aCont : AP = a ** {s = \\n => a.s ! n ++ a.compar} ;
|
|
in consrTable Number comma aCont as ;
|
|
ConjAP co as = conjunctDistrTable Number co as ** {compar = []} ;
|
|
|
|
-- Noun phrases
|
|
lincat
|
|
[NP] = ResHun.BaseNP ** {s1,s2 : Case => Str} ;
|
|
|
|
lin
|
|
BaseNP x y = twoTable Case x y ** y ;
|
|
ConsNP x xs = consrTable Case comma x xs ** xs ;
|
|
ConjNP co xs = conjunctDistrTable Case co xs ** xs ;
|
|
|
|
-- Relative sentences
|
|
lincat
|
|
[RS] = {s1,s2 : Number => Case => Str} ;
|
|
|
|
lin
|
|
BaseRS = twoTable2 Number Case ;
|
|
ConsRS = consrTable2 Number Case comma ;
|
|
ConjRS = conjunctDistrTable2 Number Case ;
|
|
|
|
{-
|
|
lincat
|
|
[CN] = { } ;
|
|
|
|
lin
|
|
BaseCN = {} ;
|
|
ConsCN = {} ;
|
|
ConjCN co cs = conjunctDistrTable … co cs ** cs ;
|
|
|
|
lincat
|
|
[DAP] =
|
|
|
|
lin
|
|
BaseDAP x y = x **
|
|
ConsDAP xs x = xs **
|
|
ConjDet conj xs = xs **
|
|
|
|
-}
|
|
|
|
}
|