From 4bbb4d580870f51c56a2e33d3dad6df125ac32bc Mon Sep 17 00:00:00 2001 From: Inari Listenmaa Date: Fri, 17 Apr 2020 18:34:28 +0200 Subject: [PATCH] (Hun) Add conjunction of RS --- src/hungarian/ConjunctionHun.gf | 40 ++++++--------------------------- 1 file changed, 7 insertions(+), 33 deletions(-) diff --git a/src/hungarian/ConjunctionHun.gf b/src/hungarian/ConjunctionHun.gf index 88c05a30f..f018788c0 100644 --- a/src/hungarian/ConjunctionHun.gf +++ b/src/hungarian/ConjunctionHun.gf @@ -1,31 +1,6 @@ concrete ConjunctionHun of Conjunction = 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. lincat [Adv],[AdV],[IAdv],[S] = {s1,s2 : Str} ; @@ -35,7 +10,7 @@ lin ConsAdv, ConsAdV, ConsIAdv, ConsS = consrSS comma ; ConjAdv, ConjAdV, ConjIAdv, ConjS = conjunctDistrSS ; - +-- Adjectival phrases lincat [AP] = {s1,s2 : Number => Str} ; @@ -57,17 +32,16 @@ lin ConsNP x xs = consrTable Case comma x xs ** xs ; ConjNP co xs = conjunctDistrTable Case co xs ** xs ; -{- --- RS depends on X, Y and Z, otherwise exactly like previous. --- RS can modify CNs, which are open for …, and have inherent … +-- Relative sentences lincat - [RS] = {s1,s2 : … => Str} ; + [RS] = {s1,s2 : Number => Case => Str} ; lin - BaseRS = twoTable … ; - ConsRS = consrTable … comma ; - ConjRS = conjunctDistrTable ; + BaseRS = twoTable2 Number Case ; + ConsRS = consrTable2 Number Case comma ; + ConjRS = conjunctDistrTable2 Number Case ; +{- lincat [CN] = { } ;