1
0
forked from GitHub/gf-rgl

(zul) NP conjunction

This commit is contained in:
Laurette Marais
2022-05-19 12:19:49 +02:00
parent 08ac422d9a
commit 02d3752a26
3 changed files with 33 additions and 5 deletions

View File

@@ -1,5 +1,5 @@
concrete ExtraExtZul of ExtraExt =
CatZul [NP,VP,CN,V,Temp,S,Cl,Adv,Pron,QCl,QS,A,RS,IAdv,IComp,Pol,Det,Quant,N,PN],
CatZul [NP,VP,CN,V,Temp,S,Cl,Adv,Pron,QCl,QS,A,RS,IAdv,IComp,Pol,Det,Quant,N,PN,Conj],
CatExtZul
** open ResZul,Prelude,ParamX in {
@@ -570,6 +570,21 @@ concrete ExtraExtZul of ExtraExt =
AdvQS adv qs = { s = adv.s ++ qs.s ; qword_pre = [] ; qword_post = [] } ;
ExtConjNP np1 conj np2 = {
s = \\nform => np1.s!nform ++ (link_conj conj np2.i) ++ np2.s!NReduced ;
agr = compAgr np1.agr np2.agr ;
i = np1.i ;
proDrop = andB np1.proDrop np2.proDrop ;
isPron = np1.isPron ;
heavy = orB np1.heavy np2.heavy ;
empty = np1.empty ++ np2.empty
} ;
with_Conj = {
s = withPref ;
fix = True
} ;
-- Deverb15 v =
-- let
-- agr = Third C15 Sg ;

View File

@@ -1841,8 +1841,17 @@ resource ResZul = open Prelude,Predef,ParamX in {
-- OTHER
----------------------------------------
link_conj : Str -> Str -> Str -> Bool -> Str = \conj,s_full,s_novow,fix -> case fix of {
True => conj ++BIND ++ s_novow ;
False => conj ++ s_full
link_conj : { s: RInit => Str ; fix : Bool } -> RInit -> Str = \conj,rinit -> case conj.fix of {
True => conj.s!rinit ++BIND ;
False => conj.s!RC
} ;
compAgr : Agr -> Agr -> Agr = \a1,a2 -> case <a1,a2> of {
<First _,(First _ | Second _ | Third _ _)> => First Pl ;
<(First _ | Second _ | Third _ _),First _> => First Pl ;
<Second _,(First _ | Second _ | Third _ _)> => Second Pl ;
<(First _ | Second _ | Third _ _),Second _> => Second Pl ;
<Third (C1_2|C1a_2a) _, Third _ _> => Third C1_2 Pl ;
<Third _ _,Third c _> => Third c Pl
} ;
}

View File

@@ -1,5 +1,5 @@
abstract ExtraExt =
Cat [NP,VP,CN,V,Temp,S,Cl,Adv,Pron,QCl,QS,A,RS,IAdv,IComp,Pol,Det,Quant,N,PN],
Cat [NP,VP,CN,V,Temp,S,Cl,Adv,Pron,QCl,QS,A,RS,IAdv,IComp,Pol,Det,Quant,N,PN,Conj],
CatExt ** {
fun
@@ -126,6 +126,10 @@ abstract ExtraExt =
kakhulu_Adv : Adv ;
ExtConjNP : NP -> Conj -> NP -> NP ;
with_Conj : Conj ;
-- Deverb15 : V -> N ;
-- AdvQS : IAdv -> S -> QS ; -- maybe it is a pain that burns 2020-01-15: consider that this should rather be dealt with using QuestIAdv)