1
0
forked from GitHub/gf-rgl

(Hun) Add conjunction of RS

This commit is contained in:
Inari Listenmaa
2020-04-17 18:34:28 +02:00
parent 6de0fe95ec
commit 4bbb4d5808

View File

@@ -1,31 +1,6 @@
concrete ConjunctionHun of Conjunction = concrete ConjunctionHun of Conjunction =
CatHun ** open ResHun, Coordination, Prelude in { CatHun ** open ResHun, Coordination, Prelude in {
{- Conjunction for category X needs four things:
lincat [X]
lin BaseX
lin ConsX
lin ConjX
For example, if X is defined as
lincat X = {s : Number => Str ; g : Gender} ;
then [X] will split its s field into two, and retain its other fields as is:
lincat [X] = {s1,s2 : Number => Str ; g : Gender} ;
Let us look at a simple case: Adv is of type {s : Str}
Then [Adv] is {s1,s2 : Str}.
BaseAdv, ConsAdv and ConjAdv can all use functions defined in prelude/Coordination:
BaseAdv = twoSS ;
ConsAdv = consrSS comma ;
ConjAdv = conjunctSS ;
-}
-- Adverb and other simple {s : Str} types. -- Adverb and other simple {s : Str} types.
lincat lincat
[Adv],[AdV],[IAdv],[S] = {s1,s2 : Str} ; [Adv],[AdV],[IAdv],[S] = {s1,s2 : Str} ;
@@ -35,7 +10,7 @@ lin
ConsAdv, ConsAdV, ConsIAdv, ConsS = consrSS comma ; ConsAdv, ConsAdV, ConsIAdv, ConsS = consrSS comma ;
ConjAdv, ConjAdV, ConjIAdv, ConjS = conjunctDistrSS ; ConjAdv, ConjAdV, ConjIAdv, ConjS = conjunctDistrSS ;
-- Adjectival phrases
lincat lincat
[AP] = {s1,s2 : Number => Str} ; [AP] = {s1,s2 : Number => Str} ;
@@ -57,17 +32,16 @@ lin
ConsNP x xs = consrTable Case comma x xs ** xs ; ConsNP x xs = consrTable Case comma x xs ** xs ;
ConjNP co xs = conjunctDistrTable Case co xs ** xs ; ConjNP co xs = conjunctDistrTable Case co xs ** xs ;
{- -- Relative sentences
-- RS depends on X, Y and Z, otherwise exactly like previous.
-- RS can modify CNs, which are open for …, and have inherent …
lincat lincat
[RS] = {s1,s2 : => Str} ; [RS] = {s1,s2 : Number => Case => Str} ;
lin lin
BaseRS = twoTable ; BaseRS = twoTable2 Number Case ;
ConsRS = consrTable comma ; ConsRS = consrTable2 Number Case comma ;
ConjRS = conjunctDistrTable ; ConjRS = conjunctDistrTable2 Number Case ;
{-
lincat lincat
[CN] = { } ; [CN] = { } ;