;;; -*- Mode: TDL; Coding: utf-8 -*- ;;; Authors: ;;; 2007-2008 Peter Adolphs, Núria Bertomeu ;;; ;;; Copyright: DFKI GmbH ; Fix part-of-speech and morhphology for all-digits tokens. ; TODO: this rules becomes obsolete once there are regex available outside ; of chart-mapping rules so we could match +FORM there digits-rule := inpmap-011-set-morph+tnt-rule & [ +INPUT < [ +FORM "/([0-9]+)/", +MORPH <> ] >, +OUTPUT < [ +MORPH < [ +MCAT "Num" ] >, +TNT.+TAGS < "CARD" >, +TNT.+PRBS < "1.0" > ] > ]. ; Enlarged dates-rule to cover dates in German format. ; Not sure about whether in dates-rule and xml-mdash-rule the tnt information ; should be kept, doing so for the moment. dates-rule := inpmap-011-set-form-rule & [ +INPUT < [ +FORM "/[0-9]{1,2}[\/\-\.][0-9]{1,2}[\/\-\.][0-9]{4}/" ] > , +OUTPUT < [ +FORM "DateErsatz" ] > ]. ; replace HTML entities: xml-mdash-rule := inpmap-011-set-form-rule & [ +INPUT < [ +FORM "/([A-Za-z0-9]+)(—)([A-Za-z0-9]*)/" ] >, +OUTPUT < [ +FORM "${I1:+FORM:1}-${I1:+FORM:3}" ] > ]. ; fix punctuation tokenization tokenization-rule := inpmap-021-set-form-copy-I1-rule & [ +INPUT < [ +FORM "/(.*)/" ], [ +FORM "/([.,;:\?!])/" ] > , +OUTPUT < [ +FORM "${I1:+FORM:1}${I2:+FORM:1}" ] > , +POSCONS "I1, +OUTPUT < [ +MORPH < #morph > ], [ +MORPH #rest ] >, +POSCONS "O1=O2" ]. ; Every determiner comes with a bunch of morphological readings, each ; producing a new token. Let's delete such unwanted input items with ; non-empty +MORPH lists, where +MCAT is not what we need, early: filter-morph-rule := inpmap-010-rule & [ +INPUT < [ +MORPH < [ +MCAT "/(?!Adjective|Adverb|P?Noun|Num|Verb).*/" ] > ] > ]. ; TODO: combine noun readings: ; For technical reasons, MMORPH outputs separate readings for lexicalized ; and derived morphological noun readings (e.g. 1: case=nom gender=masc ; number=singular; 2: and case=gen|dat|acc gender=masc number=singular). ; We'd like to combine these (case=nom|gen|dat|acc) if all other parameters ; are equal. This cannot be done elegantly without regular expression ; back references across several tokens, so we have to leave this out ; for the moment. ; combine same-category, non-noun readings: ; At the moment, all non-noun input items undergo the internal inflectional ; morphology. Thus, we are only interested in the morphological category ; but not the different readings of an input items. Just keep one reading ; of the same category to avoid spurious ambiguities. ; TODO: simplify these rules with regex back-references across items filter-adverb-readings-rule := inpmap-x10-rule & [ +CONTEXT < [ +MORPH < [ +MCAT "Adverb" ] > ] >, +INPUT < [ +MORPH < [ +MCAT "Adverb" ] > ] > ]. filter-adjective-readings-rule := inpmap-x10-rule & [ +CONTEXT < [ +MORPH < [ +MCAT "Adjective" ] > ] >, +INPUT < [ +MORPH < [ +MCAT "Adjective" ] > ] > ]. filter-pnoun-readings-rule := inpmap-x10-rule & [ +CONTEXT < [ +MORPH < [ +MCAT "PNoun" ] > ] >, +INPUT < [ +MORPH < [ +MCAT "PNoun" ] > ] > ]. filter-verb-readings-rule := inpmap-x10-rule & [ +CONTEXT < [ +MORPH < [ +MCAT "Verb" ] > ] >, +INPUT < [ +MORPH < [ +MCAT "Verb" ] > ] > ]. ; combined case-number-gender types: set-uniagr-n-s-m+g-s-f-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=gen .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-s-m+g-s-f ] > ]. set-uniagr-n-s-m+d-s-f-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=dat .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-s-m+d-s-f ] > ]. set-uniagr-n-s-m+gd-s-f-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-s-m+gd-s-f ] > ]. set-uniagr-gd-s-f+g-p-g-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=fem number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-s-f+g-p-g ] > ]. set-uniagr-g-n-f+g-p-g-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=fem number=singular\|plural .*/" ] > ], [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-n-f+g-p-g ] > ]. set-uniagr-nda-n-m+c-p-m-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc number=singular\|plural .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-n-m+c-p-m ] > ]. set-uniagr-gda-n-m+c-p-m-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc number=singular\|plural .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-n-m+c-p-m ] > ]. set-uniagr-nda-s-m+nga-p-m-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-s-m+nga-p-m ] > ]. set-uniagr-g-n-m+c-p-m-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc number=singular\|plural .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-n-m+c-p-m ] > ]. set-uniagr-da-n-m+c-p-m-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc number=singular\|plural .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-n-m+c-p-m ] > ]. set-uniagr-d-s-m+nga-p-m-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-s-m+nga-p-m ] > ]. set-uniagr-nda-n-n+c-p-n-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=neutrum number=singular\|plural .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-n-n+c-p-n ] > ]. set-uniagr-g-n-n+c-p-n-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=neutrum number=singular\|plural .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-n-n+c-p-n ] > ]. set-uniagr-d-n-n+c-p-n-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=neutrum number=singular\|plural .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-n-n+c-p-n ] > ]. set-uniagr-nda-s-n+nga-p-n-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=neutrum number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-s-n+nga-p-n ] > ]. set-uniagr-d-s-n+nga-p-n-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=neutrum number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-s-n+nga-p-n ] > ]. set-uniagr-na-n-f+na-p-g-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=fem number=singular\|plural .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-n-f+na-p-g ] > ]. set-uniagr-n-s-g+na-s-fn-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-s-g+na-s-fn ] > ]. set-uniagr-n-s-mn+na-s-n-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc\|neutrum number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-s-mn+na-s-n ] > ]. set-uniagr-a-s-m+d-p-g-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-s-m+d-p-g ] > ]. set-uniagr-g-s-mn+nga-s-n-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|neutrum number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-s-mn+nga-s-n ] > ]. set-uniagr-g-n-mn+c-p-mn-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-n-mn+c-p-mn ] > ]. set-uniagr-c-s-f+nga-n-f-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=fem number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-s-f+nga-n-f ] > ]. set-uniagr-nda-s-mn+nga-p-mn-rule := inpmap-021-combine-morph-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc\|neutrum number=singular .*/" ] > ], [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-s-mn+nga-p-mn ] > ]. ; simple case-number-gender types: set-uniagr-ngd-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-n-g ] > ]. set-uniagr-nga-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-n-g ] > ]. set-uniagr-nda-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-n-g ] > ]. set-uniagr-gda-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-n-g ] > ]. set-uniagr-ng-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-n-g ] > ]. set-uniagr-nd-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-n-g ] > ]. set-uniagr-na-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-n-g ] > ]. set-uniagr-gd-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-n-g ] > ]. set-uniagr-ga-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-n-g ] > ]. set-uniagr-da-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-n-g ] > ]. set-uniagr-n-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-n-g ] > ]. set-uniagr-g-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-n-g ] > ]. set-uniagr-d-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-n-g ] > ]. set-uniagr-a-n-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc\|fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-n-g ] > ]. set-uniagr-c-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-p-g ] > ]. set-uniagr-c-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-s-g ] > ]. set-uniagr-c-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-n-mn ] > ]. set-uniagr-c-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-n-mf ] > ]. set-uniagr-c-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-n-fn ] > ]. set-uniagr-c-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-n-m ] > ]. set-uniagr-c-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-n-f ] > ]. set-uniagr-c-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-n-n ] > ]. set-uniagr-ngd-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-n-mf ] > ]. set-uniagr-nga-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-n-mf ] > ]. set-uniagr-nda-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-n-mf ] > ]. set-uniagr-gda-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-n-mf ] > ]. set-uniagr-ng-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-n-mf ] > ]. set-uniagr-nd-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-n-mf ] > ]. set-uniagr-na-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-n-mf ] > ]. set-uniagr-gd-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-n-mf ] > ]. set-uniagr-ga-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-n-mf ] > ]. set-uniagr-da-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-n-mf ] > ]. set-uniagr-n-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-n-mf ] > ]. set-uniagr-g-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-n-mf ] > ]. set-uniagr-d-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-n-mf ] > ]. set-uniagr-a-n-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc\|fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-n-mf ] > ]. set-uniagr-ngd-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-n-mn ] > ]. set-uniagr-nga-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-n-mn ] > ]. set-uniagr-nda-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-n-mn ] > ]. set-uniagr-gda-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-n-mn ] > ]. set-uniagr-ng-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-n-mn ] > ]. set-uniagr-nd-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-n-mn ] > ]. set-uniagr-na-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-n-mn ] > ]. set-uniagr-gd-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-n-mn ] > ]. set-uniagr-ga-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-n-mn ] > ]. set-uniagr-da-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-n-mn ] > ]. set-uniagr-n-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-n-mn ] > ]. set-uniagr-g-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-n-mn ] > ]. set-uniagr-d-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-n-mn ] > ]. set-uniagr-a-n-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-n-mn ] > ]. set-uniagr-ngd-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-n-fn ] > ]. set-uniagr-nga-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-n-fn ] > ]. set-uniagr-nda-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-n-fn ] > ]. set-uniagr-gda-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-n-fn ] > ]. set-uniagr-ng-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-n-fn ] > ]. set-uniagr-nd-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-n-fn ] > ]. set-uniagr-na-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-n-fn ] > ]. set-uniagr-gd-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-n-fn ] > ]. set-uniagr-ga-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-n-fn ] > ]. set-uniagr-da-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-n-fn ] > ]. set-uniagr-n-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-n-fn ] > ]. set-uniagr-g-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-n-fn ] > ]. set-uniagr-d-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-n-fn ] > ]. set-uniagr-a-n-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=fem\|neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-n-fn ] > ]. set-uniagr-ngd-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-n-m ] > ]. set-uniagr-nga-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-n-m ] > ]. set-uniagr-nda-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-n-m ] > ]. set-uniagr-gda-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-n-m ] > ]. set-uniagr-ng-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-n-m ] > ]. set-uniagr-nd-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-n-m ] > ]. set-uniagr-na-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-n-m ] > ]. set-uniagr-gd-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-n-m ] > ]. set-uniagr-ga-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-n-m ] > ]. set-uniagr-da-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-n-m ] > ]. set-uniagr-n-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-n-m ] > ]. set-uniagr-g-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-n-m ] > ]. set-uniagr-d-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-n-m ] > ]. set-uniagr-a-n-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-n-m ] > ]. set-uniagr-ngd-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-n-f ] > ]. set-uniagr-nga-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-n-f ] > ]. set-uniagr-nda-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-n-f ] > ]. set-uniagr-gda-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-n-f ] > ]. set-uniagr-ng-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-n-f ] > ]. set-uniagr-nd-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-n-f ] > ]. set-uniagr-na-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-n-f ] > ]. set-uniagr-gd-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-n-f ] > ]. set-uniagr-ga-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-n-f ] > ]. set-uniagr-da-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-n-f ] > ]. set-uniagr-n-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-n-f ] > ]. set-uniagr-g-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-n-f ] > ]. set-uniagr-d-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-n-f ] > ]. set-uniagr-a-n-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=fem number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-n-f ] > ]. set-uniagr-ngd-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-n-n ] > ]. set-uniagr-nga-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-n-n ] > ]. set-uniagr-nda-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-n-n ] > ]. set-uniagr-gda-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-n-n ] > ]. set-uniagr-ng-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-n-n ] > ]. set-uniagr-nd-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-n-n ] > ]. set-uniagr-na-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-n-n ] > ]. set-uniagr-gd-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-n-n ] > ]. set-uniagr-ga-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-n-n ] > ]. set-uniagr-da-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-n-n ] > ]. set-uniagr-n-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-n-n ] > ]. set-uniagr-g-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-n-n ] > ]. set-uniagr-d-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-n-n ] > ]. set-uniagr-a-n-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=neutrum number=singular\|plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-n-n ] > ]. set-uniagr-ngd-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-s-g ] > ]. set-uniagr-nga-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-s-g ] > ]. set-uniagr-nda-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-s-g ] > ]. set-uniagr-gda-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-s-g ] > ]. set-uniagr-ng-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-s-g ] > ]. set-uniagr-nd-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-s-g ] > ]. set-uniagr-na-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-s-g ] > ]. set-uniagr-gd-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-s-g ] > ]. set-uniagr-ga-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-s-g ] > ]. set-uniagr-da-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-s-g ] > ]. set-uniagr-n-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-s-g ] > ]. set-uniagr-g-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-s-g ] > ]. set-uniagr-d-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-s-g ] > ]. set-uniagr-a-s-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc\|fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-s-g ] > ]. set-uniagr-ngd-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-p-g ] > ]. set-uniagr-nga-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-p-g ] > ]. set-uniagr-nda-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-p-g ] > ]. set-uniagr-gda-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-p-g ] > ]. set-uniagr-ng-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-p-g ] > ]. set-uniagr-nd-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-p-g ] > ]. set-uniagr-na-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-p-g ] > ]. set-uniagr-gd-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-p-g ] > ]. set-uniagr-ga-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-p-g ] > ]. set-uniagr-da-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-p-g ] > ]. set-uniagr-n-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-p-g ] > ]. set-uniagr-g-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-p-g ] > ]. set-uniagr-d-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-p-g ] > ]. set-uniagr-a-p-g-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc\|fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-p-g ] > ]. set-uniagr-ngd-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-s-mf ] > ]. set-uniagr-nga-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-s-mf ] > ]. set-uniagr-nda-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-s-mf ] > ]. set-uniagr-gda-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-s-mf ] > ]. set-uniagr-ng-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-s-mf ] > ]. set-uniagr-nd-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-s-mf ] > ]. set-uniagr-na-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-s-mf ] > ]. set-uniagr-gd-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-s-mf ] > ]. set-uniagr-ga-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-s-mf ] > ]. set-uniagr-da-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-s-mf ] > ]. set-uniagr-n-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-s-mf ] > ]. set-uniagr-g-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-s-mf ] > ]. set-uniagr-d-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-s-mf ] > ]. set-uniagr-a-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-s-mf ] > ]. set-uniagr-ngd-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-p-mf ] > ]. set-uniagr-nga-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-p-mf ] > ]. set-uniagr-nda-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-p-mf ] > ]. set-uniagr-gda-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-p-mf ] > ]. set-uniagr-ng-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-p-mf ] > ]. set-uniagr-nd-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-p-mf ] > ]. set-uniagr-na-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-p-mf ] > ]. set-uniagr-gd-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-p-mf ] > ]. set-uniagr-ga-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-p-mf ] > ]. set-uniagr-da-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-p-mf ] > ]. set-uniagr-n-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-p-mf ] > ]. set-uniagr-g-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-p-mf ] > ]. set-uniagr-d-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-p-mf ] > ]. set-uniagr-a-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-p-mf ] > ]. set-uniagr-ngd-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-s-mn ] > ]. set-uniagr-nga-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-s-mn ] > ]. set-uniagr-nda-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-s-mn ] > ]. set-uniagr-gda-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-s-mn ] > ]. set-uniagr-ng-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-s-mn ] > ]. set-uniagr-nd-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-s-mn ] > ]. set-uniagr-na-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-s-mn ] > ]. set-uniagr-gd-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-s-mn ] > ]. set-uniagr-ga-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-s-mn ] > ]. set-uniagr-da-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-s-mn ] > ]. set-uniagr-n-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-s-mn ] > ]. set-uniagr-g-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-s-mn ] > ]. set-uniagr-d-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-s-mn ] > ]. set-uniagr-a-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-s-mn ] > ]. set-uniagr-ngd-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-p-mn ] > ]. set-uniagr-nga-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-p-mn ] > ]. set-uniagr-nda-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-p-mn ] > ]. set-uniagr-gda-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-p-mn ] > ]. set-uniagr-ng-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-p-mn ] > ]. set-uniagr-nd-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-p-mn ] > ]. set-uniagr-na-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-p-mn ] > ]. set-uniagr-gd-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-p-mn ] > ]. set-uniagr-ga-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-p-mn ] > ]. set-uniagr-da-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-p-mn ] > ]. set-uniagr-n-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-p-mn ] > ]. set-uniagr-g-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-p-mn ] > ]. set-uniagr-d-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-p-mn ] > ]. set-uniagr-a-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-p-mn ] > ]. set-uniagr-ngd-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-s-fn ] > ]. set-uniagr-nga-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-s-fn ] > ]. set-uniagr-nda-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-s-fn ] > ]. set-uniagr-gda-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-s-fn ] > ]. set-uniagr-ng-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-s-fn ] > ]. set-uniagr-nd-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-s-fn ] > ]. set-uniagr-na-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-s-fn ] > ]. set-uniagr-gd-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-s-fn ] > ]. set-uniagr-ga-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-s-fn ] > ]. set-uniagr-da-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-s-fn ] > ]. set-uniagr-n-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-s-fn ] > ]. set-uniagr-g-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-s-fn ] > ]. set-uniagr-d-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-s-fn ] > ]. set-uniagr-a-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-s-fn ] > ]. set-uniagr-ngd-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-p-fn ] > ]. set-uniagr-nga-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-p-fn ] > ]. set-uniagr-nda-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-p-fn ] > ]. set-uniagr-gda-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-p-fn ] > ]. set-uniagr-ng-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-p-fn ] > ]. set-uniagr-nd-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-p-fn ] > ]. set-uniagr-na-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-p-fn ] > ]. set-uniagr-gd-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-p-fn ] > ]. set-uniagr-ga-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-p-fn ] > ]. set-uniagr-da-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-p-fn ] > ]. set-uniagr-n-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-p-fn ] > ]. set-uniagr-g-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-p-fn ] > ]. set-uniagr-d-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-p-fn ] > ]. set-uniagr-a-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-p-fn ] > ]. set-uniagr-ngd-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-s-m ] > ]. set-uniagr-nga-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-s-m ] > ]. set-uniagr-nda-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-s-m ] > ]. set-uniagr-gda-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-s-m ] > ]. set-uniagr-ng-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-s-m ] > ]. set-uniagr-nd-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-s-m ] > ]. set-uniagr-na-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-s-m ] > ]. set-uniagr-gd-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-s-m ] > ]. set-uniagr-ga-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-s-m ] > ]. set-uniagr-da-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-s-m ] > ]. set-uniagr-n-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-s-m ] > ]. set-uniagr-g-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-s-m ] > ]. set-uniagr-d-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-s-m ] > ]. set-uniagr-a-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-s-m ] > ]. set-uniagr-ngd-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-p-m ] > ]. set-uniagr-nga-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-p-m ] > ]. set-uniagr-nda-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-p-m ] > ]. set-uniagr-gda-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-p-m ] > ]. set-uniagr-ng-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-p-m ] > ]. set-uniagr-nd-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-p-m ] > ]. set-uniagr-na-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-p-m ] > ]. set-uniagr-gd-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-p-m ] > ]. set-uniagr-ga-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-p-m ] > ]. set-uniagr-da-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-p-m ] > ]. set-uniagr-n-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-p-m ] > ]. set-uniagr-g-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-p-m ] > ]. set-uniagr-d-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-p-m ] > ]. set-uniagr-a-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-p-m ] > ]. set-uniagr-ngd-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-s-f ] > ]. set-uniagr-nga-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-s-f ] > ]. set-uniagr-nda-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-s-f ] > ]. set-uniagr-gda-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-s-f ] > ]. set-uniagr-ng-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-s-f ] > ]. set-uniagr-nd-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-s-f ] > ]. set-uniagr-na-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-s-f ] > ]. set-uniagr-gd-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-s-f ] > ]. set-uniagr-ga-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-s-f ] > ]. set-uniagr-da-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-s-f ] > ]. set-uniagr-n-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-s-f ] > ]. set-uniagr-g-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-s-f ] > ]. set-uniagr-d-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-s-f ] > ]. set-uniagr-a-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-s-f ] > ]. set-uniagr-ngd-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-p-f ] > ]. set-uniagr-nga-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-p-f ] > ]. set-uniagr-nda-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-p-f ] > ]. set-uniagr-gda-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-p-f ] > ]. set-uniagr-ng-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-p-f ] > ]. set-uniagr-nd-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-p-f ] > ]. set-uniagr-na-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-p-f ] > ]. set-uniagr-gd-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-p-f ] > ]. set-uniagr-ga-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-p-f ] > ]. set-uniagr-da-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-p-f ] > ]. set-uniagr-n-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-p-f ] > ]. set-uniagr-g-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-p-f ] > ]. set-uniagr-d-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-p-f ] > ]. set-uniagr-a-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-p-f ] > ]. set-uniagr-ngd-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-s-n ] > ]. set-uniagr-nga-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-s-n ] > ]. set-uniagr-nda-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-s-n ] > ]. set-uniagr-gda-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-s-n ] > ]. set-uniagr-ng-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-s-n ] > ]. set-uniagr-nd-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-s-n ] > ]. set-uniagr-na-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-s-n ] > ]. set-uniagr-gd-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-s-n ] > ]. set-uniagr-ga-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-s-n ] > ]. set-uniagr-da-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-s-n ] > ]. set-uniagr-n-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-s-n ] > ]. set-uniagr-g-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-s-n ] > ]. set-uniagr-d-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-s-n ] > ]. set-uniagr-a-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-s-n ] > ]. set-uniagr-ngd-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ngd-p-n ] > ]. set-uniagr-nga-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nga-p-n ] > ]. set-uniagr-nda-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat\|acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nda-p-n ] > ]. set-uniagr-gda-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat\|acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gda-p-n ] > ]. set-uniagr-ng-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ng-p-n ] > ]. set-uniagr-nd-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|dat .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR nd-p-n ] > ]. set-uniagr-na-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR na-p-n ] > ]. set-uniagr-gd-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|dat .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR gd-p-n ] > ]. set-uniagr-ga-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen\|acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR ga-p-n ] > ]. set-uniagr-da-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat\|acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR da-p-n ] > ]. set-uniagr-n-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR n-p-n ] > ]. set-uniagr-g-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=gen .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR g-p-n ] > ]. set-uniagr-d-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=dat .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR d-p-n ] > ]. set-uniagr-a-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR a-p-n ] > ]. set-uniagr-c-s-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-s-mn ] > ]. set-uniagr-c-s-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc\|fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-s-mf ] > ]. set-uniagr-c-s-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=fem\|neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-s-fn ] > ]. set-uniagr-c-s-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-s-m ] > ]. set-uniagr-c-s-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=fem number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-s-f ] > ]. set-uniagr-c-s-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=neutrum number=singular .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-s-n ] > ]. set-uniagr-c-p-mn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-p-mn ] > ]. set-uniagr-c-p-mf-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc\|fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-p-mf ] > ]. set-uniagr-c-p-fn-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=fem\|neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-p-fn ] > ]. set-uniagr-c-p-m-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=masc number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-p-m ] > ]. set-uniagr-c-p-f-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=fem number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-p-f ] > ]. set-uniagr-c-p-n-rule := inpmap-011-set-uniagr-noun-rule & [ +INPUT < [ +MORPH < [ +FEATURES "/case=nom\|gen\|dat\|acc .*?gender=neutrum number=plural .*/" ] > ] >, +OUTPUT < [ +UNIAGR c-p-n ] > ]. ; ================================================ ; native vs generic lookup ; ================================================ ; make every item for native lookup lower case (empty +MORPH list will prevent ; generic instantiation): lower-case-rule := inpmap-011-set-form-rule & [ +INPUT < [ +FORM "/(.*[A-ZÄÖÜ].*)/", +MORPH <> ] > , +OUTPUT < [ +FORM "${lc(I1:+FORM:1)}" ] > ]. ; mark every item for generic lookup with prefix '*' to prevent native lexical ; lookup ; TODO this is just a workaround for a missing generic/native le distinction ; in the grammar that works most of the time but not always (prefixes, etc.) deface-generic-rule := inpmap-011-set-form-rule & [ +INPUT < [ +FORM "/([^*].*)/", +MORPH < [] > ] > , +OUTPUT < [ +FORM "*${I1:+FORM:1}" ] > ].