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:
committed by
Roman Suzi
parent
a793daaf11
commit
6661bdff95
@@ -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
|
||||
} ;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
} ;
|
||||
|
||||
Reference in New Issue
Block a user