@@ -57,6 +57,15 @@ def process_node(self, node):
57
57
elif node .feats ['Person' ] == '1' and node .feats ['Number' ] == 'Plur' :
58
58
rf .append ('Clusivity' )
59
59
af ['Clusivity' ] = ['In' , 'Ex' ]
60
+ # Interrogative pronouns, too, can be case-marked. Therefore, the
61
+ # base form must have Case=Nom.
62
+ # ആര് ār "who" (Nom) എന്ത് ent "what" (Nom, Acc.Inan)
63
+ # ആരെ āre "who" (Acc) എന്തെ ente "what" (Acc.Anim) എന്തിനെ entine "what" (Acc.Anim or maybe Inan but optional)
64
+ # ആരുടെ āruṭe "who" (Gen) എന്തിന് entin "what" (Gen) or "why"
65
+ # ആരൊക്കെ ārokke "who" (Dat?) എന്തൊക്കെ entokke "what" (Dat?)
66
+ elif node .feats ['PronType' ] == 'Int' :
67
+ rf .append ('Animacy' )
68
+ af ['Animacy' ] = ['Anim' , 'Inan' ]
60
69
self .check_required_features (node , rf )
61
70
self .check_allowed_features (node , af )
62
71
# DETERMINERS ##########################################################
@@ -101,13 +110,18 @@ def process_node(self, node):
101
110
})
102
111
elif node .feats ['VerbForm' ] == 'Fin' :
103
112
if node .feats ['Mood' ] == 'Imp' :
104
- self .check_required_features (node , ['Mood' , 'Voice' ])
113
+ # Unlike other forms, the imperative distinguishes politeness.
114
+ # The verb stem serves as an informal imperative: തുറ tuṟa "open"
115
+ # The citation form may serve as a formal imperative: തുറക്കുക tuṟakkūka "open"
116
+ # Finally, there is another formal imperative with -kkū: തുറക്കൂ tuṟakkū "open"
117
+ self .check_required_features (node , ['Mood' , 'Voice' , 'Polite' ])
105
118
self .check_allowed_features (node , {
106
119
'Aspect' : ['Imp' , 'Perf' , 'Prog' ],
107
120
'VerbForm' : ['Fin' ],
108
121
'Mood' : ['Imp' ],
109
122
'Polarity' : ['Pos' , 'Neg' ],
110
- 'Voice' : ['Act' , 'Pass' , 'Cau' ]
123
+ 'Voice' : ['Act' , 'Pass' , 'Cau' ],
124
+ 'Polite' : ['Infm' , 'Form' ]
111
125
})
112
126
else :
113
127
self .check_required_features (node , ['Mood' , 'Tense' , 'Voice' ])
0 commit comments