(Som) Use long form of pronoun in ConjNP

This commit is contained in:
Inari Listenmaa
2019-08-05 09:45:07 +02:00
parent 4d79df8406
commit c8b0db121d

View File

@@ -87,8 +87,13 @@ lincat
[NP] = {s1,s2 : Case => Str} ** BaseNP ; [NP] = {s1,s2 : Case => Str} ** BaseNP ;
lin lin
BaseNP x y = twoTable Case x y ** consNP x y ; BaseNP x y =
ConsNP xs x = consrTable Case comma xs x ** consNP xs x ; let x' = np2objpron x ;
y' = np2objpron y
in twoTable Case x' y' ** consNP x' y' ;
ConsNP x xs =
let x' = np2objpron x
in consrTable Case comma x' xs ** consNP x' xs ;
ConjNP conj xs = conjunctNPTable conj xs ** conjNP xs conj ; ConjNP conj xs = conjunctNPTable conj xs ** conjNP xs conj ;
oper oper
@@ -114,6 +119,10 @@ oper
{s = -- TODO if xs is a pronoun, make them use (pronTable ! xs.a).sp {s = -- TODO if xs is a pronoun, make them use (pronTable ! xs.a).sp
table { cas => co.s1 ++ xs.s1 ! Abs ++ co.s2 ! xs.st ++ xs.s2 ! cas}} ; table { cas => co.s1 ++ xs.s1 ! Abs ++ co.s2 ! xs.st ++ xs.s2 ! cas}} ;
np2objpron : NounPhrase -> NounPhrase = \np -> np ** {
s = objpron np
} ;
consNP : BaseNP -> BaseNP -> BaseNP = \x,y -> consNP : BaseNP -> BaseNP -> BaseNP = \x,y ->
x ** { agr = conjAgr x.agr (getNum y.agr) } ; x ** { agr = conjAgr x.agr (getNum y.agr) } ;