|
From: <fri...@us...> - 2008-12-29 14:46:42
|
Revision: 9651
http://zaf.svn.sourceforge.net/zaf/?rev=9651&view=rev
Author: friedelwolff
Date: 2008-12-29 14:46:31 +0000 (Mon, 29 Dec 2008)
Log Message:
-----------
Only use simple_subjects as a continuation class for the positive future tenses. Otherwise we over-generate with negative subject morphemes and positive future indicative prefixes.
Modified Paths:
--------------
trunk/dict/zu/hunspell/zu_aff.py
Modified: trunk/dict/zu/hunspell/zu_aff.py
===================================================================
--- trunk/dict/zu/hunspell/zu_aff.py 2008-12-29 08:19:42 UTC (rev 9650)
+++ trunk/dict/zu/hunspell/zu_aff.py 2008-12-29 14:46:31 UTC (rev 9651)
@@ -28,6 +28,7 @@
# This currently only handles morphology for verbs. More to follow later.
#TODO: review class 1 exceptions
+#TODO: handle negative future circumfixes with vowel verbs better
#TODO: be- and se- verbs
#TODO: monosyllabic verbs
#TODO: statives
@@ -394,6 +395,7 @@
simple_subjects.add_rule(affix=morpheme)
# Indicative, present, negative with subject morpheme only
verb_rules(main_subjects, affix=add_semivowels("a"+morpheme), needaffix=True, circumfix=True, continuation_classes=[negative_indicative])
+
# We handle class 1 negative separately:
verb_rules(main_subjects, affix="aka", needaffix=True, circumfix=True, continuation_classes=[negative_indicative])
@@ -405,16 +407,16 @@
verb_rules(infixes, affix="nga", needaffix=True, morphology="POTEN", continuation_classes=[main_subjects])
#indicative future tenses
- verb_rules(infixes, affix="zo", condition="[^aeiou]", needaffix=True, morphology="NEAR_FUTURE_IND_SHORT", continuation_classes=[main_subjects])
- verb_rules(infixes, affix="zoku", needaffix=True, morphology="NEAR_FUTURE_IND_LONG", continuation_classes=[main_subjects])
- verb_rules(infixes, affix="yo", condition="[^aeiou]", needaffix=True, morphology="DISTANT_FUTURE_IND_SHORT", continuation_classes=[main_subjects])
- verb_rules(infixes, affix="yoku", needaffix=True, morphology="DISTANT_FUTURE_IND_LONG", continuation_classes=[main_subjects])
+ verb_rules(infixes, affix="zo", condition="[^aeiou]", needaffix=True, morphology="NEAR_FUTURE_IND_SHORT", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="zoku", needaffix=True, morphology="NEAR_FUTURE_IND_LONG", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="yo", condition="[^aeiou]", needaffix=True, morphology="DISTANT_FUTURE_IND_SHORT", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="yoku", needaffix=True, morphology="DISTANT_FUTURE_IND_LONG", continuation_classes=[simple_subjects])
#-sa- + indicative future tenses
- verb_rules(infixes, affix="sazo", condition="[^aeiou]", needaffix=True, morphology="PROG_NEAR_FUTURE_IND_SHORT", continuation_classes=[main_subjects])
- verb_rules(infixes, affix="sazoku", needaffix=True, morphology="PROG_NEAR_FUTURE_IND_LONG", continuation_classes=[main_subjects])
- verb_rules(infixes, affix="sayo", condition="[^aeiou]", needaffix=True, morphology="PROG_DISTANT_FUTURE_IND_SHORT", continuation_classes=[main_subjects])
- verb_rules(infixes, affix="sayoku", needaffix=True, morphology="PROG_DISTANT_FUTURE_IND_LONG", continuation_classes=[main_subjects])
+ verb_rules(infixes, affix="sazo", condition="[^aeiou]", needaffix=True, morphology="PROG_NEAR_FUTURE_IND_SHORT", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="sazoku", needaffix=True, morphology="PROG_NEAR_FUTURE_IND_LONG", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="sayo", condition="[^aeiou]", needaffix=True, morphology="PROG_DISTANT_FUTURE_IND_SHORT", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="sayoku", needaffix=True, morphology="PROG_DISTANT_FUTURE_IND_LONG", continuation_classes=[simple_subjects])
#infinitive
verb_rules(infixes, affix="uku", morphology="INFINITIVE", continuation_classes=[locative])
@@ -423,21 +425,25 @@
#TODO: infinitive, negative
for morpheme in object_morphemes:
+ #Although this makes sense, this causes rules from main_subjects with mandatory continuation classes to
+ #not need them anymore. See for example "angizosa" or "angizithanda"
verb_rules(infixes, affix=morpheme, needaffix=True, morphology="OBJ", continuation_classes=[main_subjects])
verb_rules(infixes, affix="ya"+morpheme, needaffix=True, morphology="PRESENT_IND_LONG_with_OBJ", continuation_classes=[simple_subjects])
+ #This also over-generates like teh rule above. This rule incorrectly satisfies the NEEDAFFIX specification
+ #of rules in main_subjects. See for example "angisathanda".
verb_rules(infixes, affix="sa"+morpheme, needaffix=True, morphology="PROG_with_OBJ", continuation_classes=[main_subjects])
verb_rules(infixes, affix="nga"+morpheme, needaffix=True, morphology="POTEN_with_OBJ", continuation_classes=[main_subjects])
#TODO: do we need to exclude the short forms with vowel verbs?
- verb_rules(infixes, affix="zo"+morpheme, needaffix=True, morphology="NEAR_FUTURE_IND_SHORT_with_OBJ", continuation_classes=[main_subjects])
- verb_rules(infixes, affix="zoku"+morpheme, needaffix=True, morphology="NEAR_FUTURE_IND_LONG_with_OBJ", continuation_classes=[main_subjects])
- verb_rules(infixes, affix="yo"+morpheme, needaffix=True, morphology="DISTANT_FUTURE_IND_SHORT_with_OBJ", continuation_classes=[main_subjects])
- verb_rules(infixes, affix="yoku"+morpheme, needaffix=True, morphology="DISTANT_FUTURE_IND_LONG_with_OBJ", continuation_classes=[main_subjects])
+ verb_rules(infixes, affix="zo"+morpheme, needaffix=True, morphology="NEAR_FUTURE_IND_SHORT_with_OBJ", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="zoku"+morpheme, needaffix=True, morphology="NEAR_FUTURE_IND_LONG_with_OBJ", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="yo"+morpheme, needaffix=True, morphology="DISTANT_FUTURE_IND_SHORT_with_OBJ", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="yoku"+morpheme, needaffix=True, morphology="DISTANT_FUTURE_IND_LONG_with_OBJ", continuation_classes=[simple_subjects])
- verb_rules(infixes, affix="sazo"+morpheme, needaffix=True, morphology="PROG_NEAR_FUTURE_IND_SHORT_with_OBJ", continuation_classes=[main_subjects])
- verb_rules(infixes, affix="sazoku"+morpheme, needaffix=True, morphology="PROG_NEAR_FUTURE_IND_LONG_with_OBJ", continuation_classes=[main_subjects])
- verb_rules(infixes, affix="sayo"+morpheme, needaffix=True, morphology="PROG_DISTANT_FUTURE_IND_SHORT_with_OBJ", continuation_classes=[main_subjects])
- verb_rules(infixes, affix="sayoku"+morpheme, needaffix=True, morphology="PROG_DISTANT_FUTURE_IND_LONG_with_OBJ", continuation_classes=[main_subjects])
+ verb_rules(infixes, affix="sazo"+morpheme, needaffix=True, morphology="PROG_NEAR_FUTURE_IND_SHORT_with_OBJ", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="sazoku"+morpheme, needaffix=True, morphology="PROG_NEAR_FUTURE_IND_LONG_with_OBJ", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="sayo"+morpheme, needaffix=True, morphology="PROG_DISTANT_FUTURE_IND_SHORT_with_OBJ", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="sayoku"+morpheme, needaffix=True, morphology="PROG_DISTANT_FUTURE_IND_LONG_with_OBJ", continuation_classes=[simple_subjects])
#infinitive with object morpheme
verb_rules(infixes, affix="uku"+morpheme, morphology="INFINITIVE_with_OBJ", continuation_classes=[locative])
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|