@@ -66,15 +66,15 @@ def process_node(self, node):
6666 'Animacy' : ['Anim' , 'Inan' ],
6767 'Number' : ['Sing' , 'Dual' , 'Plur' ],
6868 'Case' : ['Nom' , 'Gen' , 'Dat' , 'Acc' , 'Voc' , 'Loc' , 'Ins' ],
69- 'NameType' : ['Giv' , 'Sur' , 'Geo' , 'Nat' ],
69+ 'NameType' : ['Giv' , 'Sur' , 'Geo' , 'Nat' , 'Com' , 'Pro' , 'Oth' ],
7070 'Foreign' : ['Yes' ],
7171 'Abbr' : ['Yes' ]})
7272 else :
7373 self .check_allowed_features (node , {
7474 'Gender' : ['Masc' , 'Fem' , 'Neut' ],
7575 'Number' : ['Sing' , 'Dual' , 'Plur' ],
7676 'Case' : ['Nom' , 'Gen' , 'Dat' , 'Acc' , 'Voc' , 'Loc' , 'Ins' ],
77- 'NameType' : ['Giv' , 'Sur' , 'Geo' , 'Nat' ],
77+ 'NameType' : ['Giv' , 'Sur' , 'Geo' , 'Nat' , 'Com' , 'Pro' , 'Oth' ],
7878 'Foreign' : ['Yes' ],
7979 'Abbr' : ['Yes' ]})
8080 # ADJECTIVES ###########################################################
@@ -385,7 +385,9 @@ def process_node(self, node):
385385 })
386386 # Relative possessive determiners 'jehož' and 'jejichž' behave similarly
387387 # to the personal possessive determiners but they do not have Person.
388- elif re .match (r'^(jeho|jejich|j[ií]ch)ž(e|to)?$' , node .form .lower ()):
388+ # Normally determiners do not change j->n after prepositions but we
389+ # have an example in Old Czech (štěpové zlatí, na nichžto větviech...)
390+ elif re .match (r'^(jeho|jejich|[jn][ií]ch)ž(e|to)?$' , node .form .lower ()):
389391 self .check_required_features (node , ['PronType' , 'Poss' , 'Number[psor]' ])
390392 self .check_allowed_features (node , {
391393 'PronType' : ['Rel' ],
@@ -549,13 +551,14 @@ def process_node(self, node):
549551 })
550552 else :
551553 if node .feats ['NumType' ] == 'Sets' :
552- # 'jedny', 'dvoje', 'troje', 'čtvery'
554+ # 'jedny', 'dvoje', 'oboje', ' troje', 'čtvery'
553555 # Number should perhaps be only Plur because the counted noun will be Plur.
554556 # Gender is not annotated in PDT but there are different forms ('jedni' vs. 'jedny',
555557 # and in Old Czech also 'dvoji' vs. 'dvoje'), so we should allow Gender (and Animacy).
556558 self .check_required_features (node , ['NumType' , 'NumForm' , 'Number' , 'Case' ])
557559 self .check_allowed_features (node , {
558560 'NumType' : ['Sets' ],
561+ 'PronType' : ['Tot' ], # for 'oboje'
559562 'NumForm' : ['Word' ],
560563 'Gender' : ['Masc' , 'Fem' , 'Neut' ],
561564 'Animacy' : ['Anim' , 'Inan' ],
0 commit comments