|
From: <fri...@us...> - 2009-02-24 09:52:12
|
Revision: 9673
http://zaf.svn.sourceforge.net/zaf/?rev=9673&view=rev
Author: friedelwolff
Date: 2009-02-24 09:52:02 +0000 (Tue, 24 Feb 2009)
Log Message:
-----------
Apply noun rules as a continuation class for infinitive verbs. This has some consequences, mostly positive. Several are mentioned in comments.
Modified Paths:
--------------
trunk/dict/zu/hunspell/zu_aff.py
Modified: trunk/dict/zu/hunspell/zu_aff.py
===================================================================
--- trunk/dict/zu/hunspell/zu_aff.py 2009-02-24 09:01:40 UTC (rev 9672)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-24 09:52:02 UTC (rev 9673)
@@ -424,6 +424,9 @@
locative_sfx = aff.add_group(suffix=True, flag="m")
# This group will contain rules for locative suffixes
+ noun = aff.add_group(suffix=False, flag="N")
+ # This group will contain most prefixes for nouns
+
for morpheme in subject_morphemes:
# Indicative short form, present, positive with subject morpheme only
verb_rules(main_subjects, affix=morpheme, continuation_classes=[past_indicative, question])
@@ -473,7 +476,27 @@
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])
+ verb_rules(infixes, affix="uku", morphology="INFINITIVE", continuation_classes=[locative, noun])
+ # Infinitive forms are by defintion also class 15 nouns, and should
+ # therefore be handled as nouns. Therefore the noun rules are added as a
+ # continuation class. This allows us to recognise forms such as
+ # "nokuthanda", "ngukuthanda", etc.
+ #
+ # Using the noun continuation class is problematic since the it generates
+ # incorrect forms for noun rules with needsaffix=True, since the needed
+ # extra (third) affix is not supported by hunspell. Consequently incorrect
+ # forms like "nakuthanda" is accepted as an infinitive noun with negative
+ # associative copulative, even though it still needed a negative subject
+ # morpheme like "angi-" or "azi-". Luckily "nakuthanda" is a valid word for
+ # another reason ("You(pl) loved it long ago").
+ #
+ # Several correct forms are not recognised, such as "ungukuthanda", since
+ # the 'u-' as third prefix is not supported. These forms shouldn't be too
+ # frequent.
+ #
+ # This can probably be solved by applying some or all of the noun rules
+ # directly to the verb stem along with the infinitive prefix.
+
#infinitive + -sa- progressive aspectual morpheme
verb_rules(infixes, affix="ukusa", morphology="INFINITIVE_PROG", continuation_classes=[locative])
#infinitive, negative
@@ -545,9 +568,6 @@
### Nouns ###
- noun = aff.add_group(suffix=False, flag="N")
- # This group will contain most prefixes for nouns
-
for morpheme in possesive_morphemes:
noun_rules(noun, affix=morpheme, morphology="POSSESSIVE")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|