mirror of
https://github.com/GrammaticalFramework/gf-rgl.git
synced 2026-05-27 08:58:55 -06:00
(zul) NP conjunction
This commit is contained in:
@@ -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 ;
|
||||
|
||||
@@ -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
|
||||
} ;
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user