1
0
forked from GitHub/gf-rgl

Guess that Nom+Acc become Gen in negative, remove neggen field

This removes around 70k concrete categories (in PGFs compiled with
--optimize-pgf.)
Unsure if that is actually useful -- the number of concrete functions
only went down by a couple hundred.
This commit is contained in:
Inari Listenmaa
2020-09-12 18:45:44 +02:00
committed by Roman Suzi
parent a793daaf11
commit 6661bdff95
3 changed files with 10 additions and 3 deletions

View File

@@ -105,7 +105,7 @@ oper
-- refl : Reflexivity ;
-- tran : Transitivity
} ;
ComplementCase : Type = {s : Str ; c : Case ; neggen : Bool ; hasPrep : Bool} ;
ComplementCase : Type = {s : Str ; c : Case ; hasPrep : Bool} ;
VerbForms2 : Type = VerbForms ** {c : ComplementCase} ;
VerbForms3 : Type = VerbForms ** {c : ComplementCase ; c2 : ComplementCase} ;
@@ -115,4 +115,11 @@ oper
<_,Transitive> => Trans ;
<_,Intransitive> => Intrans
} ;
-- Whether the noun that the preposition governs turns genitive in negative context
-- NB. I'm just guessing here, this is an exercise in shaving concrete categories. /IL
neggen : ComplementCase -> Bool = \c -> case c.c of {
Nom|Acc => True ;
_ => False
} ;
}

View File

@@ -1563,7 +1563,7 @@ oper
applyPolPrep : Polarity -> ComplementCase -> NounPhrase -> Str
= \pol,prep,np ->
let prep'=prep ** {
c=case <pol, prep.neggen> of {<Neg, True> => Gen ; _ => prep.c}
c=case <pol, neggen prep> of {<Neg, True> => Gen ; _ => prep.c}
} in applyPrep prep' np ;
applyIPronPrep : ComplementCase -> IPronounForms -> Str

View File

@@ -114,7 +114,7 @@ lin
PrefShort => ap.short
} ;
Neg => case ap.preferShort of {
PreferFull => case v2a.c.neggen of {
PreferFull => case neggen v2a.c of {
False => \\a => ap.s ! agrGenNum a ! Animate ! v2a.c.c ;
True => \\a => ap.s ! agrGenNum a ! Animate ! Gen
} ;