You can subscribe to this list here.
| 2007 |
Jan
(6) |
Feb
(19) |
Mar
(14) |
Apr
(32) |
May
(19) |
Jun
(15) |
Jul
(9) |
Aug
(34) |
Sep
|
Oct
(104) |
Nov
(10) |
Dec
(26) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(26) |
Feb
(3) |
Mar
(163) |
Apr
(45) |
May
|
Jun
(1) |
Jul
(1) |
Aug
(1) |
Sep
(8) |
Oct
(1) |
Nov
(5) |
Dec
(43) |
| 2009 |
Jan
(11) |
Feb
(21) |
Mar
(23) |
Apr
(18) |
May
(68) |
Jun
(20) |
Jul
(6) |
Aug
(17) |
Sep
(29) |
Oct
(20) |
Nov
(61) |
Dec
(52) |
| 2010 |
Jan
(36) |
Feb
(25) |
Mar
(11) |
Apr
(3) |
May
(21) |
Jun
(1) |
Jul
(1) |
Aug
(25) |
Sep
(25) |
Oct
(19) |
Nov
(1) |
Dec
|
| 2011 |
Jan
(23) |
Feb
(34) |
Mar
(81) |
Apr
(5) |
May
(38) |
Jun
(14) |
Jul
(5) |
Aug
(87) |
Sep
(41) |
Oct
(49) |
Nov
(24) |
Dec
(25) |
| 2012 |
Jan
(23) |
Feb
(19) |
Mar
(37) |
Apr
(93) |
May
(17) |
Jun
(128) |
Jul
(119) |
Aug
(96) |
Sep
(32) |
Oct
(26) |
Nov
(52) |
Dec
(25) |
| 2013 |
Jan
(20) |
Feb
(92) |
Mar
(98) |
Apr
(6) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2015 |
Jan
|
Feb
(40) |
Mar
(12) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(8) |
Oct
(1) |
Nov
(1) |
Dec
(3) |
| 2016 |
Jan
|
Feb
|
Mar
(5) |
Apr
(2) |
May
|
Jun
|
Jul
(9) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2017 |
Jan
(9) |
Feb
|
Mar
|
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <fri...@us...> - 2009-03-03 09:37:49
|
Revision: 9690
http://zaf.svn.sourceforge.net/zaf/?rev=9690&view=rev
Author: friedelwolff
Date: 2009-03-03 09:37:37 +0000 (Tue, 03 Mar 2009)
Log Message:
-----------
Initial support for relative 'be' tenses. So far only positive forms are supported, and combinations with copulatives are not yet implemented
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-27 15:34:23 UTC (rev 9689)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-03-03 09:37:37 UTC (rev 9690)
@@ -54,6 +54,12 @@
remote_past_subject_morphemes = ["nga", "wa", "sa", "na", "wa", "ba", "ya", "la", "a", "sa", "za", "lwa", "ba", "kwa"]
qualificative_prefixes = ["engi", "esi", "eni", "o", "aba", "e", "eli", "a", "esi", "ezi", "olu", "obu", "oku"]
remote_past_qualificative_prefixes = ["enga", "esa", "ena", "owa", "aba", "eya", "ela", "a", "esa", "eza", "olwa", "oba", "okwa"]
+relative_be_prefixes = ["bengi", "besi", "bewu", "ubu", "beni", "ube", "bebe", "beyi", "ibi", "beli", "abe", "aye", "bezi", "belu", "bebu", "beku"]
+relative_be_prefixes_remote_past = ["ngangi", "sasi", "wawu", "nani", "waye", "babe", "yayi", "yayi", "lali", "aye", "sasi", "zazi", "lwalu", "babu", "kwaku"]
+relative_be_prefixes_future = ["wobu", "wobe", "yobi", "obe"]
+# This only lists the ones that actually cause interesting morphology by
+# joining directly as one written word onto the verb
+
situative_prefixes = ["e", "be"]
concords = subject_morphemes + qualificative_prefixes + situative_prefixes
object_morphemes = ["ngi", "ku", "si", "ni", "m", "ba", "wu", "yi", "li", "wa", "zi", "lu", "bu"]
@@ -414,6 +420,15 @@
for morpheme in remote_past_qualificative_prefixes:
verb_rules(main_subjects, affix=morpheme, morphology="REMOTE_FUTURE_RELATIVE/QUALIFICATIVE")
+ #relative times with be
+ for morpheme in relative_be_prefixes:
+ verb_rules(main_subjects, affix=morpheme, morphology="RELATIVE_be", continuation_classes=[question])
+ for morpheme in relative_be_prefixes_remote_past:
+ verb_rules(main_subjects, affix=morpheme, morphology="RELATIVE_be_REMOTE_PAST", continuation_classes=[question])
+ for morpheme in relative_be_prefixes_future:
+ verb_rules(main_subjects, affix=morpheme, morphology="RELATIVE_be_FUTURE", continuation_classes=[question])
+
+
#indicative long form, present, positive
verb_rules(infixes, affix="ya", needaffix=True, morphology="PRESENT_IND_LONG", continuation_classes=[simple_subjects])
#progressive aspectual morpheme
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-27 15:34:26
|
Revision: 9689
http://zaf.svn.sourceforge.net/zaf/?rev=9689&view=rev
Author: friedelwolff
Date: 2009-02-27 15:34:23 +0000 (Fri, 27 Feb 2009)
Log Message:
-----------
Remove some stale comments and unused code
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-27 13:49:13 UTC (rev 9688)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-27 15:34:23 UTC (rev 9689)
@@ -30,7 +30,7 @@
#TODO: review class 1 exceptions
#TODO: handle negative future circumfixes with vowel verbs better
#TODO: be- and se- verbs
-#TODO: non-indicative modes, positive and negative (qualificative mostly done)
+#TODO: non-indicative modes, positive and negative
#TODO: aspectual morphemes with non-indicative modes (+/-)
#TODO: exclusive aspectual morpheme (ka) with object morpheme?
#TODO: monosyllabic verbs
@@ -39,7 +39,6 @@
#TODO: consider avoiding illegal reflexives
#TODO: hortative particle words
#TODO: noun continuation class for infinitive+obj and negative infinitives?
-#TODO: negative qualificatives
#TODO: passives and all their consequences
#TODO: consider doing -eka -ela -ana with rules
@@ -70,15 +69,6 @@
qualificative_adjective_prefixes_neg = ["engingem", "esingeba", "ningeba", "angeba", "ongem", "engemi", "elingeli", "angema", "esingesi", "ezingezin", "engen", "olungelu", "obungebu", "okungeku"]
#TODO: class 1 with monosyllabic stems: "ongemu" vs. "ongem", "engingemu" vs. "engingem"
-a_rules = [["a", "Y", "PFX"]]
-"""prefixes only applicable to verbs ending on -a"""
-A_rules = [["A", "Y", "PFX"]]
-"""prefixes for almost all positive verbs and future negatives"""
-V_rules = [["V", "Y", "SFX"]]
-"""common suffixes for verbs ending on -a"""
-rules = [a_rules, A_rules, V_rules]
-"""all rules"""
-
#These regular expressions will be used to do search-replace palatalisation. It
#is defined outside the function so that it only needs to be done once. It is
#crucial that the palatalisations starting on 'm' be listed first. Otherwise
@@ -290,106 +280,14 @@
################################################################################
-for i in concords:
-#TODO: look at these rules for non-indicative subject morphemes
-# A_rules.extend(verb_rules(i)) #XXX:DONE
+# old comments that might still be useful:
+#V_rules.append(['a', 'wa', '[^w]a']) ##?
+##The above can create problems with monosyllabic verbs
+#V_rules.append(['a', 'wani', '[^w]a'])
+#V_rules.append(['a', 'waphi', '[^w]a'])
+##The above can also be used with negatives, can't they? As in: Igama alipelwa.
-# A_rules.extend(verb_rules(i+"nga")) #XXX:DONE
-# A_rules.extend(verb_rules(i+"sa")) #XXX:DONE
- #Future tenses:
-# a_rules.extend(verb_rules(i+"zo")) #XXX:DONE
-# a_rules.extend(verb_rules(i+"zoku")) #XXX:DONE
-# a_rules.extend(verb_rules(i+"yo")) #XXX:DONE
-# a_rules.extend(verb_rules(i+"yoku")) #XXX:DONE
-
- #-sa- + future tenses:
-# a_rules.extend(verb_rules(i+"sazo")) #XXX:DONE
-# a_rules.extend(verb_rules(i+"sazoku")) #XXX:DONE
-# a_rules.extend(verb_rules(i+"sayo")) #XXX:DONE
-# a_rules.extend(verb_rules(i+"sayoku")) #XXX:DONE
-
- for j in object_morphemes:
- if illegal_reflexive(i, j):
- continue
-# A_rules.extend(verb_rules(i+j)) #XXX:DONE
-# A_rules.extend(verb_rules(i+"nga"+j)) #confusable with negatives #XXX:DONE
-# A_rules.extend(verb_rules(i+"sa"+j)) #XXX:DONE
-
- #Future tenses:
-# a_rules.extend(verb_rules(i+"zo"+j)) #XXX:DONE
-# a_rules.extend(verb_rules(i+"zoku"+j)) #XXX:DONE
-# a_rules.extend(verb_rules(i+"yo"+j)) #XXX:DONE
-# a_rules.extend(verb_rules(i+"yoku"+j)) #XXX:DONE
-
- #-sa- + future tenses:
-# a_rules.extend(verb_rules(i+"sazo"+j)) #XXX:DONE
-# a_rules.extend(verb_rules(i+"sazoku"+j)) #XXX:DONE
-# a_rules.extend(verb_rules(i+"sayo"+j)) #XXX:DONE
-# a_rules.extend(verb_rules(i+"sayoku"+j)) #XXX:DONE
-
-#Mode specific ones:
-for i in subject_morphemes:
-# a_rules.extend(verb_rules(i+"ya")) #XXX:DONE
- #TODO: be- and se- forms
-
- #Negative future tenses:
-# a_rules.extend(verb_rules(add_semivowels("a"+ i) +"zu")) #XXX:DONE
-# a_rules.extend(verb_rules(add_semivowels("a"+ i) +"zuku")) #XXX:DONE
-# a_rules.extend(verb_rules(add_semivowels("a"+ i) +"yu")) #XXX:DONE
-# a_rules.extend(verb_rules(add_semivowels("a"+ i) +"yuku")) #XXX:DONE
-
- #Remote past tense:
-# a_rules.extend(verb_rules(contract(i+"a"))) #XXX:DONE
-
- for j in object_morphemes:
- if illegal_reflexive(i, j):
- continue
- #Indicative:
-# a_rules.extend(verb_rules(i + "ya" + j)) #XXX:DONE
- #Infinitive
-# a_rules.extend(verb_rules("uku" + j)) #XXX:DONE
-
- #Negative future tenses:
-# a_rules.extend(verb_rules(add_semivowels("a"+ i) +"zu"+j)) #XXX:DONE
-# a_rules.extend(verb_rules(add_semivowels("a"+ i) +"zuku"+j)) #XXX:DONE
-# a_rules.extend(verb_rules(add_semivowels("a"+ i) +"yu"+j)) #XXX:DONE
-# a_rules.extend(verb_rules(add_semivowels("a"+ i) +"yuku"+j)) #XXX:DONE
-
- #TODO: be- and se- forms
-
- #Remote past tense:
-# a_rules.extend(verb_rules(contract(i+"a")+j)) #XXX:DONE
-
-
-a_rules.extend(verb_rules("loku"))
-a_rules.extend(verb_rules("ngoku"))
-a_rules.extend(verb_rules("noku"))
-
-#Lines below indicated with hashes will cause incorect imperatives
-#Lines below indicated with two hashes will probably be better handled
-#lexically (by just adding their stems to the dictionary)
-V_rules.append(['a', 'ela', 'a'])
-V_rules.append(['a', 'elani', 'a']) #XXX:DONE
-V_rules.append(['a', 'elaphi', 'a']) #
-V_rules.append(['a', 'eka', 'a']) ##
-V_rules.append(['a', 'ekana', 'a'])
-V_rules.append(['a', 'ekani', 'a'])
-V_rules.append(['a', 'ekaphi', 'a']) #
-V_rules.append(['a', 'isa', 'a']) ##
-V_rules.append(['a', 'isana', 'a'])
-V_rules.append(['a', 'isani', 'a'])
-V_rules.append(['a', 'isaphi', 'a']) #
-V_rules.append(['0', 'na', 'a'])
-V_rules.append(['0', 'ni', 'a']) #XXX:DONE
-V_rules.append(['0', 'phi', 'a']) #XXX:DONE #
-V_rules.append(['a', 'wa', '[^w]a']) ##?
-#The above can create problems with monosyllabic verbs
-V_rules.append(['a', 'wani', '[^w]a'])
-V_rules.append(['a', 'waphi', '[^w]a'])
-#The above can also be used with negatives, can't they? As in: Igama alipelwa.
-
-
if __name__ == '__main__':
aff = HunspellOptions()
aff.header = "Automatically generated by zu_aff.py. For copyright information, see zu_aff.py"
@@ -400,17 +298,6 @@
aff.needaffix = "Y"
aff.complexprefixes = True
-# for rule_set in rules:
-# flag, cross_product, type = rule_set[0]
-# group = aff.add_group(suffix=type=="SFX", cross_product=cross_product, flag=flag)
-# for rule in rule_set[1:]:
-# if isinstance(rule, Affix):
-# group.add_rule(rule)
-# else:
-# strip, affix, condition = rule
-# group.add_rule(strip=strip, affix=affix, condition=condition)
-# print aff.hunspell()
-# exit()
main_subjects = aff.add_group(suffix=False, flag="B")
# This group will contain all the major subject morphemes
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-27 13:49:31
|
Revision: 9688
http://zaf.svn.sourceforge.net/zaf/?rev=9688&view=rev
Author: friedelwolff
Date: 2009-02-27 13:49:13 +0000 (Fri, 27 Feb 2009)
Log Message:
-----------
Remove incorrect needaffix specifier (along with the circumfix that was removed in the previous commit). The complete morpheme is specified in this rule.
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-27 13:46:06 UTC (rev 9687)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-27 13:49:13 UTC (rev 9688)
@@ -522,8 +522,8 @@
verb_rules(main_subjects, affix=morpheme+"zo", morphology="FUTURE_RELATIVE/QUALIFICATIVE")
verb_rules(main_subjects, affix=morpheme+"yo", morphology="FUTURE_RELATIVE/QUALIFICATIVE")
verb_rules(main_subjects, affix=morpheme+"nga", needaffix=True, circumfix=True, morphology="RELATIVE/QUALIFICATIVE_NEG", continuation_classes=[qualificative_sfx_neg])
- verb_rules(main_subjects, affix=morpheme+"ngazuku", needaffix=True, morphology="NEAR_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
- verb_rules(main_subjects, affix=morpheme+"ngayuku", needaffix=True, morphology="REMOTE_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
+ verb_rules(main_subjects, affix=morpheme+"ngazuku", morphology="NEAR_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
+ verb_rules(main_subjects, affix=morpheme+"ngayuku", morphology="REMOTE_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
for morpheme in remote_past_qualificative_prefixes:
verb_rules(main_subjects, affix=morpheme, morphology="REMOTE_FUTURE_RELATIVE/QUALIFICATIVE")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-27 13:46:17
|
Revision: 9687
http://zaf.svn.sourceforge.net/zaf/?rev=9687&view=rev
Author: friedelwolff
Date: 2009-02-27 13:46:06 +0000 (Fri, 27 Feb 2009)
Log Message:
-----------
Remove rule that was duplicated by accident
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-27 13:40:57 UTC (rev 9686)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-27 13:46:06 UTC (rev 9687)
@@ -521,10 +521,9 @@
verb_rules(main_subjects, affix=morpheme, morphology="RELATIVE/QUALIFICATIVE", continuation_classes=[question, qualificative_sfx])
verb_rules(main_subjects, affix=morpheme+"zo", morphology="FUTURE_RELATIVE/QUALIFICATIVE")
verb_rules(main_subjects, affix=morpheme+"yo", morphology="FUTURE_RELATIVE/QUALIFICATIVE")
- verb_rules(main_subjects, affix=morpheme, morphology="FUTURE_RELATIVE/QUALIFICATIVE")
verb_rules(main_subjects, affix=morpheme+"nga", needaffix=True, circumfix=True, morphology="RELATIVE/QUALIFICATIVE_NEG", continuation_classes=[qualificative_sfx_neg])
- verb_rules(main_subjects, affix=morpheme+"ngazuku", needaffix=True, circumfix=True, morphology="NEAR_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
- verb_rules(main_subjects, affix=morpheme+"ngayuku", needaffix=True, circumfix=True, morphology="REMOTE_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
+ verb_rules(main_subjects, affix=morpheme+"ngazuku", needaffix=True, morphology="NEAR_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
+ verb_rules(main_subjects, affix=morpheme+"ngayuku", needaffix=True, morphology="REMOTE_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
for morpheme in remote_past_qualificative_prefixes:
verb_rules(main_subjects, affix=morpheme, morphology="REMOTE_FUTURE_RELATIVE/QUALIFICATIVE")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-27 13:41:04
|
Revision: 9686
http://zaf.svn.sourceforge.net/zaf/?rev=9686&view=rev
Author: friedelwolff
Date: 2009-02-27 13:40:57 +0000 (Fri, 27 Feb 2009)
Log Message:
-----------
Remote past of the qualificative (relative) mode
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-27 13:34:55 UTC (rev 9685)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-27 13:40:57 UTC (rev 9686)
@@ -40,7 +40,6 @@
#TODO: hortative particle words
#TODO: noun continuation class for infinitive+obj and negative infinitives?
#TODO: negative qualificatives
-#TODO: qualificatives of remote past
#TODO: passives and all their consequences
#TODO: consider doing -eka -ela -ana with rules
@@ -55,7 +54,7 @@
subject_morphemes = ["ngi", "u", "si", "ni", "u", "ba", "i", "li", "a", "si", "zi", "lu", "bu", "ku"]
remote_past_subject_morphemes = ["nga", "wa", "sa", "na", "wa", "ba", "ya", "la", "a", "sa", "za", "lwa", "ba", "kwa"]
qualificative_prefixes = ["engi", "esi", "eni", "o", "aba", "e", "eli", "a", "esi", "ezi", "olu", "obu", "oku"]
-remote_past_qualificative_prefixes = ["engi", "esi", "eni", "o", "aba", "e", "eli", "a", "esi", "ezi", "olu", "obu", "oku"]
+remote_past_qualificative_prefixes = ["enga", "esa", "ena", "owa", "aba", "eya", "ela", "a", "esa", "eza", "olwa", "oba", "okwa"]
situative_prefixes = ["e", "be"]
concords = subject_morphemes + qualificative_prefixes + situative_prefixes
object_morphemes = ["ngi", "ku", "si", "ni", "m", "ba", "wu", "yi", "li", "wa", "zi", "lu", "bu"]
@@ -526,6 +525,8 @@
verb_rules(main_subjects, affix=morpheme+"nga", needaffix=True, circumfix=True, morphology="RELATIVE/QUALIFICATIVE_NEG", continuation_classes=[qualificative_sfx_neg])
verb_rules(main_subjects, affix=morpheme+"ngazuku", needaffix=True, circumfix=True, morphology="NEAR_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
verb_rules(main_subjects, affix=morpheme+"ngayuku", needaffix=True, circumfix=True, morphology="REMOTE_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
+ for morpheme in remote_past_qualificative_prefixes:
+ verb_rules(main_subjects, affix=morpheme, morphology="REMOTE_FUTURE_RELATIVE/QUALIFICATIVE")
#indicative long form, present, positive
verb_rules(infixes, affix="ya", needaffix=True, morphology="PRESENT_IND_LONG", continuation_classes=[simple_subjects])
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-27 13:35:09
|
Revision: 9685
http://zaf.svn.sourceforge.net/zaf/?rev=9685&view=rev
Author: friedelwolff
Date: 2009-02-27 13:34:55 +0000 (Fri, 27 Feb 2009)
Log Message:
-----------
Rename distant -> remote
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-27 13:28:48 UTC (rev 9684)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-27 13:34:55 UTC (rev 9685)
@@ -40,7 +40,7 @@
#TODO: hortative particle words
#TODO: noun continuation class for infinitive+obj and negative infinitives?
#TODO: negative qualificatives
-#TODO: qualificatives of distant past
+#TODO: qualificatives of remote past
#TODO: passives and all their consequences
#TODO: consider doing -eka -ela -ana with rules
@@ -55,6 +55,7 @@
subject_morphemes = ["ngi", "u", "si", "ni", "u", "ba", "i", "li", "a", "si", "zi", "lu", "bu", "ku"]
remote_past_subject_morphemes = ["nga", "wa", "sa", "na", "wa", "ba", "ya", "la", "a", "sa", "za", "lwa", "ba", "kwa"]
qualificative_prefixes = ["engi", "esi", "eni", "o", "aba", "e", "eli", "a", "esi", "ezi", "olu", "obu", "oku"]
+remote_past_qualificative_prefixes = ["engi", "esi", "eni", "o", "aba", "e", "eli", "a", "esi", "ezi", "olu", "obu", "oku"]
situative_prefixes = ["e", "be"]
concords = subject_morphemes + qualificative_prefixes + situative_prefixes
object_morphemes = ["ngi", "ku", "si", "ni", "m", "ba", "wu", "yi", "li", "wa", "zi", "lu", "bu"]
@@ -524,7 +525,7 @@
verb_rules(main_subjects, affix=morpheme, morphology="FUTURE_RELATIVE/QUALIFICATIVE")
verb_rules(main_subjects, affix=morpheme+"nga", needaffix=True, circumfix=True, morphology="RELATIVE/QUALIFICATIVE_NEG", continuation_classes=[qualificative_sfx_neg])
verb_rules(main_subjects, affix=morpheme+"ngazuku", needaffix=True, circumfix=True, morphology="NEAR_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
- verb_rules(main_subjects, affix=morpheme+"ngayuku", needaffix=True, circumfix=True, morphology="DISTANT_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
+ verb_rules(main_subjects, affix=morpheme+"ngayuku", needaffix=True, circumfix=True, morphology="REMOTE_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
#indicative long form, present, positive
verb_rules(infixes, affix="ya", needaffix=True, morphology="PRESENT_IND_LONG", continuation_classes=[simple_subjects])
@@ -537,20 +538,20 @@
#indicative future tenses
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])
+ verb_rules(infixes, affix="yo", condition="[^aeiou]", needaffix=True, morphology="REMOTE_FUTURE_IND_SHORT", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="yoku", needaffix=True, morphology="REMOTE_FUTURE_IND_LONG", continuation_classes=[simple_subjects])
#indicative future tenses, negative
verb_rules(infixes, affix="zu", condition="[^aeiou]", needaffix=True, morphology="NEAR_FUTURE_IND_SHORT_NEG", continuation_classes=[simple_subjects_neg])
verb_rules(infixes, affix="zuku", needaffix=True, morphology="NEAR_FUTURE_IND_LONG_NEG", continuation_classes=[simple_subjects_neg])
- verb_rules(infixes, affix="yu", condition="[^aeiou]", needaffix=True, morphology="DISTANT_FUTURE_IND_SHORT_NEG", continuation_classes=[simple_subjects_neg])
- verb_rules(infixes, affix="yuku", needaffix=True, morphology="DISTANT_FUTURE_IND_LONG_NEG", continuation_classes=[simple_subjects_neg])
+ verb_rules(infixes, affix="yu", condition="[^aeiou]", needaffix=True, morphology="REMOTE_FUTURE_IND_SHORT_NEG", continuation_classes=[simple_subjects_neg])
+ verb_rules(infixes, affix="yuku", needaffix=True, morphology="REMOTE_FUTURE_IND_LONG_NEG", continuation_classes=[simple_subjects_neg])
#-sa- + indicative future tenses (progressive aspectual morpheme)
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])
+ verb_rules(infixes, affix="sayo", condition="[^aeiou]", needaffix=True, morphology="PROG_REMOTE_FUTURE_IND_SHORT", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="sayoku", needaffix=True, morphology="PROG_REMOTE_FUTURE_IND_LONG", continuation_classes=[simple_subjects])
#infinitive
verb_rules(infixes, affix="uku", morphology="INFINITIVE", continuation_classes=[noun])
@@ -597,26 +598,26 @@
#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=[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="yo"+morpheme, needaffix=True, morphology="REMOTE_FUTURE_IND_SHORT_with_OBJ", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="yoku"+morpheme, needaffix=True, morphology="REMOTE_FUTURE_IND_LONG_with_OBJ", continuation_classes=[simple_subjects])
#indicative future tenses, negative
verb_rules(infixes, affix="zu"+morpheme, condition="[^aeiou]", needaffix=True, morphology="NEAR_FUTURE_IND_SHORT_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
verb_rules(infixes, affix="zuku"+morpheme, needaffix=True, morphology="NEAR_FUTURE_IND_LONG_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
- verb_rules(infixes, affix="yu"+morpheme, condition="[^aeiou]", needaffix=True, morphology="DISTANT_FUTURE_IND_SHORT_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
- verb_rules(infixes, affix="yuku"+morpheme, needaffix=True, morphology="DISTANT_FUTURE_IND_LONG_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
+ verb_rules(infixes, affix="yu"+morpheme, condition="[^aeiou]", needaffix=True, morphology="REMOTE_FUTURE_IND_SHORT_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
+ verb_rules(infixes, affix="yuku"+morpheme, needaffix=True, morphology="REMOTE_FUTURE_IND_LONG_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
#-sa- + future indicative, positive (progressive aspectual morpheme)
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])
+ verb_rules(infixes, affix="sayo"+morpheme, needaffix=True, morphology="PROG_REMOTE_FUTURE_IND_SHORT_with_OBJ", continuation_classes=[simple_subjects])
+ verb_rules(infixes, affix="sayoku"+morpheme, needaffix=True, morphology="PROG_REMOTE_FUTURE_IND_LONG_with_OBJ", continuation_classes=[simple_subjects])
#-sa- + indicative future tenses, negative
verb_rules(infixes, affix="sazu"+morpheme, condition="[^aeiou]", needaffix=True, morphology="PROG_NEAR_FUTURE_IND_SHORT_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
verb_rules(infixes, affix="sazuku"+morpheme, needaffix=True, morphology="PROG_NEAR_FUTURE_IND_LONG_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
- verb_rules(infixes, affix="sayu"+morpheme, condition="[^aeiou]", needaffix=True, morphology="PROG_DISTANT_FUTURE_IND_SHORT_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
- verb_rules(infixes, affix="sayuku"+morpheme, needaffix=True, morphology="PROG_DISTANT_FUTURE_IND_LONG_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
+ verb_rules(infixes, affix="sayu"+morpheme, condition="[^aeiou]", needaffix=True, morphology="PROG_REMOTE_FUTURE_IND_SHORT_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
+ verb_rules(infixes, affix="sayuku"+morpheme, needaffix=True, morphology="PROG_REMOTE_FUTURE_IND_LONG_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
#infinitive with object morpheme
verb_rules(infixes, affix="uku"+morpheme, morphology="INFINITIVE_with_OBJ", continuation_classes=[locative_e_ini, noun])
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-27 13:29:02
|
Revision: 9684
http://zaf.svn.sourceforge.net/zaf/?rev=9684&view=rev
Author: friedelwolff
Date: 2009-02-27 13:28:48 +0000 (Fri, 27 Feb 2009)
Log Message:
-----------
Also implement the exclusive aspectual morpheme (-ka-) for class 1 nouns
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-27 13:25:08 UTC (rev 9683)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-27 13:28:48 UTC (rev 9684)
@@ -502,13 +502,14 @@
verb_rules(main_subjects, affix=add_semivowels("a"+morpheme), needaffix=True, circumfix=True, continuation_classes=[negative_i, negative_anga])
# Indicative, present, negative with subject morpheme and exclusive aspectual morpheme (-ka-)
#TODO: will verb_rules do the right thing here to elide the 'a' of 'ka' for vowel verbs?
- verb_rules(main_subjects, affix=add_semivowels("a"+morpheme)+"ka", needaffix=True, circumfix=True, continuation_classes=[negative_i])
+ verb_rules(main_subjects, affix=add_semivowels("a"+morpheme)+"ka", needaffix=True, circumfix=True, morphology="PRESENT_IND_NEG+EXCLUSIVE", continuation_classes=[negative_i])
#Negative future tenses
verb_rules(simple_subjects_neg, affix=(add_semivowels("a" + morpheme)))
# We handle class 1 negative separately:
verb_rules(main_subjects, affix="aka", needaffix=True, circumfix=True, continuation_classes=[negative_i, negative_anga])
+ verb_rules(main_subjects, affix="akaka", needaffix=True, circumfix=True, morphology="PRESENT_IND_NEG_class1+EXCLUSIVE", continuation_classes=[negative_i])
simple_subjects_neg.add_rule(affix=add_semivowels("aka"))
#Remote past tense
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-27 13:25:25
|
Revision: 9683
http://zaf.svn.sourceforge.net/zaf/?rev=9683&view=rev
Author: friedelwolff
Date: 2009-02-27 13:25:08 +0000 (Fri, 27 Feb 2009)
Log Message:
-----------
Mostly copmlete implementation of qualificative (relative) mode. Distant past still to be done.
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-27 12:56:57 UTC (rev 9682)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-27 13:25:08 UTC (rev 9683)
@@ -30,7 +30,7 @@
#TODO: review class 1 exceptions
#TODO: handle negative future circumfixes with vowel verbs better
#TODO: be- and se- verbs
-#TODO: non-indicative modes, positive and negative (qualificative started)
+#TODO: non-indicative modes, positive and negative (qualificative mostly done)
#TODO: aspectual morphemes with non-indicative modes (+/-)
#TODO: exclusive aspectual morpheme (ka) with object morpheme?
#TODO: monosyllabic verbs
@@ -40,7 +40,7 @@
#TODO: hortative particle words
#TODO: noun continuation class for infinitive+obj and negative infinitives?
#TODO: negative qualificatives
-#TODO: qualificatives of non-present tenses
+#TODO: qualificatives of distant past
#TODO: passives and all their consequences
#TODO: consider doing -eka -ela -ana with rules
@@ -446,7 +446,8 @@
question = aff.add_group(suffix=True, flag="i")
# This group contains rules for forming question words
- qualificative_yo = aff.add_group(suffix=True, flag="y")
+ qualificative_sfx = aff.add_group(suffix=True, flag="y")
+ qualificative_sfx_neg = aff.add_group(suffix=True, flag="z")
# This group contains rules for the qualificative -yo suffix
noun = aff.add_group(suffix=False, flag="N")
@@ -516,7 +517,13 @@
#qualificative mode (relative mode)
for morpheme in qualificative_prefixes:
- verb_rules(main_subjects, affix=morpheme, morphology="RELATIVE/QUALIFICATIVE", continuation_classes=[question, qualificative_yo])
+ verb_rules(main_subjects, affix=morpheme, morphology="RELATIVE/QUALIFICATIVE", continuation_classes=[question, qualificative_sfx])
+ verb_rules(main_subjects, affix=morpheme+"zo", morphology="FUTURE_RELATIVE/QUALIFICATIVE")
+ verb_rules(main_subjects, affix=morpheme+"yo", morphology="FUTURE_RELATIVE/QUALIFICATIVE")
+ verb_rules(main_subjects, affix=morpheme, morphology="FUTURE_RELATIVE/QUALIFICATIVE")
+ verb_rules(main_subjects, affix=morpheme+"nga", needaffix=True, circumfix=True, morphology="RELATIVE/QUALIFICATIVE_NEG", continuation_classes=[qualificative_sfx_neg])
+ verb_rules(main_subjects, affix=morpheme+"ngazuku", needaffix=True, circumfix=True, morphology="NEAR_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
+ verb_rules(main_subjects, affix=morpheme+"ngayuku", needaffix=True, circumfix=True, morphology="DISTANT_FUTURE_RELATIVE/QUALIFICATIVE_NEG")
#indicative long form, present, positive
verb_rules(infixes, affix="ya", needaffix=True, morphology="PRESENT_IND_LONG", continuation_classes=[simple_subjects])
@@ -633,7 +640,16 @@
question.add_rule(affix="elani", strip="a", condition="a", morphology="Q_PRESENT_why")
question.add_rule(affix="eleni", strip="a", condition="a", morphology="Q_PAST_why")
- qualificative_yo.add_rule(affix="yo", morphology="QUALIFICATIVE_sfx")
+ qualificative_sfx.add_rule(affix="yo", morphology="QUALIFICATIVE_sfx")
+ qualificative_sfx.add_rule(affix="ile", strip="a", morphology="NEAR_PAST_QUALIFICATIVE_sfx")
+ qualificative_sfx.add_rule(affix="ileyo", strip="a", morphology="NEAR_PAST_QUALIFICATIVE_sfx")
+ qualificative_sfx.add_rule(affix="e", strip="a", morphology="NEAR_PAST_QUALIFICATIVE_sfx")
+ qualificative_sfx_neg.add_rule(affix="i", strip="a", circumfix=True, morphology="QUALIFICATIVE_sfx_NEG_SHORT")
+ qualificative_sfx_neg.add_rule(affix="iyo", strip="a", circumfix=True, morphology="QUALIFICATIVE_sfx_NEG_LONG")
+ qualificative_sfx_neg.add_rule(affix="ile", strip="a", circumfix=True, morphology="PAST_QUALIFICATIVE_sfx_NEG_SHORT")
+ # TODO: should only be for statives
+ qualificative_sfx_neg.add_rule(affix="ileyo", strip="a", circumfix=True, morphology="PAST_QUALIFICATIVE_sfx_NEG_LONG")
+ qualificative_sfx_neg.add_rule(affix="nga", circumfix=True, morphology="PAST_QUALIFICATIVE_sfx_NEG")
### Locatives ###
for prefix, morphology in [
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-27 12:57:07
|
Revision: 9682
http://zaf.svn.sourceforge.net/zaf/?rev=9682&view=rev
Author: friedelwolff
Date: 2009-02-27 12:56:57 +0000 (Fri, 27 Feb 2009)
Log Message:
-----------
Some error checking to make sure we don't try to add a group with an existing flag
Modified Paths:
--------------
trunk/dict/zu/hunspell/hunspell_format.py
Modified: trunk/dict/zu/hunspell/hunspell_format.py
===================================================================
--- trunk/dict/zu/hunspell/hunspell_format.py 2009-02-27 11:09:03 UTC (rev 9681)
+++ trunk/dict/zu/hunspell/hunspell_format.py 2009-02-27 12:56:57 UTC (rev 9682)
@@ -82,6 +82,9 @@
def add_group(self, group=None, **kwargs):
"""Adds a new group to the file"""
+ same_flag = [egroup for egroup in self.groups if egroup.flag == kwargs["flag"]]
+ if len(same_flag):
+ raise ValueError("There is already a group with the flag '%s'.", kwargs["flag"])
new_group = group or AffixGroup(**kwargs)
self.groups.append(new_group)
return new_group
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dwa...@us...> - 2009-02-27 11:09:13
|
Revision: 9681
http://zaf.svn.sourceforge.net/zaf/?rev=9681&view=rev
Author: dwaynebailey
Date: 2009-02-27 11:09:03 +0000 (Fri, 27 Feb 2009)
Log Message:
-----------
dd a new REP rule
Modified Paths:
--------------
trunk/dict/en_ZA/myspell/en_ZA.aff
Modified: trunk/dict/en_ZA/myspell/en_ZA.aff
===================================================================
--- trunk/dict/en_ZA/myspell/en_ZA.aff 2009-02-27 09:52:16 UTC (rev 9680)
+++ trunk/dict/en_ZA/myspell/en_ZA.aff 2009-02-27 11:09:03 UTC (rev 9681)
@@ -6,7 +6,7 @@
# R 1.18, 11/04/05
SET ISO8859-1
TRY esia\xE9nrtolcdugmfphbyvkw-'.zqjxSNRTLCGDMFPHBEAUYOIVKW\xF3\xF6\xE2\xF4ZQJX\xC5\xE7\xE8\xEE\xEA\xE0\xEF\xFC\xE4\xF1
-REP 35
+REP 36
REP f ph
REP ph f
REP f gh
@@ -42,6 +42,7 @@
REP y ie
REP ll l
REP l ll
+REP ua ue
PFX A Y 2
PFX A 0 re [^e]
PFX A 0 re- e
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-27 09:52:19
|
Revision: 9680
http://zaf.svn.sourceforge.net/zaf/?rev=9680&view=rev
Author: friedelwolff
Date: 2009-02-27 09:52:16 +0000 (Fri, 27 Feb 2009)
Log Message:
-----------
Ensure that we avoid the illegal 'kwo-' and 'lwo-' combinations
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-27 09:19:59 UTC (rev 9679)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-27 09:52:16 UTC (rev 9680)
@@ -259,7 +259,11 @@
# amamanzi (a)amadoda
group.add_rule(affix=prefix, condition="a", **kwargs)
group.add_rule(affix=prefix+'e', condition="i", strip="i", **kwargs)
- group.add_rule(affix=prefix+'o', condition="u", strip="u", **kwargs)
+ if prefix[-1] == "w" and len(prefix) > 1:
+ # avoid kwo- and lwo- that is changed to ko- and lo-
+ group.add_rule(affix=prefix[:-1]+'o', condition="u", strip="u", **kwargs)
+ else:
+ group.add_rule(affix=prefix+'o', condition="u", strip="u", **kwargs)
return group.rules
if prefix[-1] == 'u':
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-27 09:20:14
|
Revision: 9679
http://zaf.svn.sourceforge.net/zaf/?rev=9679&view=rev
Author: friedelwolff
Date: 2009-02-27 09:19:59 +0000 (Fri, 27 Feb 2009)
Log Message:
-----------
Make infinitives with object morphemes, negative morpheme, or progressive morpheme accept the noun rules as continuation classes. This causes these infinitives to inherit things like possessives, copulatives, associative copulatives.
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-27 09:02:55 UTC (rev 9678)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-27 09:19:59 UTC (rev 9679)
@@ -520,6 +520,7 @@
verb_rules(infixes, affix="sa", needaffix=True, morphology="PROG", continuation_classes=[main_subjects])
#potensial aspectual morpheme
verb_rules(infixes, affix="nga", needaffix=True, morphology="POTEN", continuation_classes=[main_subjects])
+ #TODO: verify whether the potential morpheme can be used in other modes like the qualificative
#indicative future tenses
verb_rules(infixes, affix="zo", condition="[^aeiou]", needaffix=True, morphology="NEAR_FUTURE_IND_SHORT", continuation_classes=[simple_subjects])
@@ -564,11 +565,12 @@
# locatives with infinitives are done below with the other locatives.
#infinitive + -sa- progressive aspectual morpheme
- verb_rules(infixes, affix="ukusa", morphology="INFINITIVE_PROG", continuation_classes=[locative_e_ini])
+ verb_rules(infixes, affix="ukusa", morphology="INFINITIVE_PROG", continuation_classes=[locative_e_ini, noun])
#infinitive, negative
- verb_rules(infixes, affix="ukunga", needaffix=True, circumfix=True, morphology="INFINITIVE_NEG", continuation_classes=[negative_i])#XXX
+ verb_rules(infixes, affix="ukunga", needaffix=True, circumfix=True, morphology="INFINITIVE_NEG", continuation_classes=[negative_i, noun])#XXX
#infinitive, negative, with -ka- exclusive aspectual morpheme
verb_rules(infixes, affix="ukungaka", needaffix=True, circumfix=True, morphology="INFINITIVE_NEG_EXCL", continuation_classes=[negative_i])#XXX
+ #TODO: should this also have the noun rules as continuation class?
for morpheme in object_morphemes:
#Although this makes sense, this causes rules from main_subjects with mandatory continuation classes to
@@ -605,11 +607,11 @@
verb_rules(infixes, affix="sayuku"+morpheme, needaffix=True, morphology="PROG_DISTANT_FUTURE_IND_LONG_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
#infinitive with object morpheme
- verb_rules(infixes, affix="uku"+morpheme, morphology="INFINITIVE_with_OBJ", continuation_classes=[locative_e_ini])
+ verb_rules(infixes, affix="uku"+morpheme, morphology="INFINITIVE_with_OBJ", continuation_classes=[locative_e_ini, noun])
#negative infinitive with object morpheme
- verb_rules(infixes, affix="ukunga"+morpheme, needaffix=True, circumfix=True, morphology="INFINITIVE_NEG_with_OBJ", continuation_classes=[negative_i])
+ verb_rules(infixes, affix="ukunga"+morpheme, needaffix=True, circumfix=True, morphology="INFINITIVE_NEG_with_OBJ", continuation_classes=[negative_i, noun])
#infinitive + -sa- progressive aspectual morpheme
- verb_rules(infixes, affix="ukusa"+morpheme, morphology="INFINITIVE_PROG_with_OBJ", continuation_classes=[locative_e_ini])
+ verb_rules(infixes, affix="ukusa"+morpheme, morphology="INFINITIVE_PROG_with_OBJ", continuation_classes=[locative_e_ini, noun])
infixes.add_rule(affix="", condition="[^aeiou]", morphology="IMPERATIVE", continuation_classes=[imperative])
infixes.add_rule(affix="y", condition="[aeiou]", morphology="IMPERATIVE", continuation_classes=[imperative])
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-27 09:03:00
|
Revision: 9678
http://zaf.svn.sourceforge.net/zaf/?rev=9678&view=rev
Author: friedelwolff
Date: 2009-02-27 09:02:55 +0000 (Fri, 27 Feb 2009)
Log Message:
-----------
Initial support for the qualificative (relative) mode. Still need to do all non-present tenses, but at least object morphemes, the progressive and potential morpheme is supported. Still need to verify that the potential morpheme can be used in the qualificative.
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-26 11:09:53 UTC (rev 9677)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-27 09:02:55 UTC (rev 9678)
@@ -30,7 +30,7 @@
#TODO: review class 1 exceptions
#TODO: handle negative future circumfixes with vowel verbs better
#TODO: be- and se- verbs
-#TODO: non-indicative modes, positive and negative
+#TODO: non-indicative modes, positive and negative (qualificative started)
#TODO: aspectual morphemes with non-indicative modes (+/-)
#TODO: exclusive aspectual morpheme (ka) with object morpheme?
#TODO: monosyllabic verbs
@@ -39,6 +39,10 @@
#TODO: consider avoiding illegal reflexives
#TODO: hortative particle words
#TODO: noun continuation class for infinitive+obj and negative infinitives?
+#TODO: negative qualificatives
+#TODO: qualificatives of non-present tenses
+#TODO: passives and all their consequences
+#TODO: consider doing -eka -ela -ana with rules
#NOUNS:
#TODO: possessive of class 1
@@ -50,9 +54,9 @@
subject_morphemes = ["ngi", "u", "si", "ni", "u", "ba", "i", "li", "a", "si", "zi", "lu", "bu", "ku"]
remote_past_subject_morphemes = ["nga", "wa", "sa", "na", "wa", "ba", "ya", "la", "a", "sa", "za", "lwa", "ba", "kwa"]
-relative_prefixes = ["engi", "esi", "eni", "o", "aba", "e", "eli", "a", "esi", "ezi", "olu", "obu", "oku"]
+qualificative_prefixes = ["engi", "esi", "eni", "o", "aba", "e", "eli", "a", "esi", "ezi", "olu", "obu", "oku"]
situative_prefixes = ["e", "be"]
-concords = subject_morphemes + relative_prefixes + situative_prefixes
+concords = subject_morphemes + qualificative_prefixes + situative_prefixes
object_morphemes = ["ngi", "ku", "si", "ni", "m", "ba", "wu", "yi", "li", "wa", "zi", "lu", "bu"]
possesive_morphemes = ["wa", "ba", "ya", "la", "sa", "za", "lwa", "kwa"]
#bu -> ba
@@ -438,6 +442,9 @@
question = aff.add_group(suffix=True, flag="i")
# This group contains rules for forming question words
+ qualificative_yo = aff.add_group(suffix=True, flag="y")
+ # This group contains rules for the qualificative -yo suffix
+
noun = aff.add_group(suffix=False, flag="N")
# This group will contain most prefixes for nouns
@@ -503,6 +510,10 @@
for morpheme in remote_past_subject_morphemes:
verb_rules(main_subjects, affix=morpheme, morphology="REMOTE_PAST_IND", continuation_classes=[question])
+ #qualificative mode (relative mode)
+ for morpheme in qualificative_prefixes:
+ verb_rules(main_subjects, affix=morpheme, morphology="RELATIVE/QUALIFICATIVE", continuation_classes=[question, qualificative_yo])
+
#indicative long form, present, positive
verb_rules(infixes, affix="ya", needaffix=True, morphology="PRESENT_IND_LONG", continuation_classes=[simple_subjects])
#progressive aspectual morpheme
@@ -616,6 +627,8 @@
question.add_rule(affix="elani", strip="a", condition="a", morphology="Q_PRESENT_why")
question.add_rule(affix="eleni", strip="a", condition="a", morphology="Q_PAST_why")
+ qualificative_yo.add_rule(affix="yo", morphology="QUALIFICATIVE_sfx")
+
### Locatives ###
for prefix, morphology in [
("e", "LOC_pfx"),
@@ -703,7 +716,7 @@
relative.add_rule(affix=morpheme, morphology="COPULATIVE")
relative.add_rule(affix=add_semivowels("a"+morpheme), morphology="NEG_COPULATIVE")
relative.add_rule(affix="aka", morphology="NEG_COPULATIVE")
- for morpheme in relative_prefixes:
+ for morpheme in qualificative_prefixes:
relative.add_rule(affix=morpheme, morphology="RELATIVE/QUALIFICATIVE")
relative.add_rule(affix=morpheme+"nge", morphology="NEG_RELATIVE/QUALIFICATIVE")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-26 11:10:03
|
Revision: 9677
http://zaf.svn.sourceforge.net/zaf/?rev=9677&view=rev
Author: friedelwolff
Date: 2009-02-26 11:09:53 +0000 (Thu, 26 Feb 2009)
Log Message:
-----------
A fairly complete implementation of relatives (qualificative nouns with a fossilised noun class prefix) and adjectives (qualificative nouns with a alternating noun class prefix). This covers several cases that doesn't even occur in the currently available corpus. This still needs review but is usable for now.
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-26 08:31:08 UTC (rev 9676)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-26 11:09:53 UTC (rev 9677)
@@ -57,6 +57,15 @@
possesive_morphemes = ["wa", "ba", "ya", "la", "sa", "za", "lwa", "kwa"]
#bu -> ba
+#TODO: review all these adjective things
+adjective_prefixes = ["ngim", "siba", "um", "niba", "ba", "mu", "mi", "li", "ma", "si", "zin", "in", "lu", "bu", "ku"]
+#TODO: class 1 with monosyllabic stems: "mu" vs. "m", "ngimu" vs. "ngim"
+adjective_prefixes_neg = ["angim", "asiba", "awum", "aniba", "ababa", "awumu", "ayimi", "alili", "awama", "asisi", "azizin", "ayin", "alulu", "abubu", "akuku"]
+#TODO: class 1 with monosyllabic stems: "akamu" vs. "akam", "angimu" vss "angim"
+qualificative_adjective_prefixes = ["engim", "esiba", "niba", "aba", "om", "emi", "eli", "ama", "esi", "ezin", "en", "olu", "obu", "oku"]
+qualificative_adjective_prefixes_neg = ["engingem", "esingeba", "ningeba", "angeba", "ongem", "engemi", "elingeli", "angema", "esingesi", "ezingezin", "engen", "olungelu", "obungebu", "okungeku"]
+#TODO: class 1 with monosyllabic stems: "ongemu" vs. "ongem", "engingemu" vs. "engingem"
+
a_rules = [["a", "Y", "PFX"]]
"""prefixes only applicable to verbs ending on -a"""
A_rules = [["A", "Y", "PFX"]]
@@ -463,6 +472,14 @@
locative_sfx_ini = aff.add_group(suffix=True, flag="m")
# This group will contain rules for locative suffixes
+ relative = aff.add_group(suffix=False, flag="V")
+ # This group will contain rules for the relatives, also known as the
+ # qualificative noun with a fossilised noun class prefix
+
+ adjective = aff.add_group(suffix=False, flag="W")
+ # This group will contain rules for the adjectives, also known as the
+ # qualificative noun with a alternating noun class prefix
+
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])
@@ -671,4 +688,23 @@
noun_rules(noun, affix="nga", morphology="INSTRUMENTAL/REFERENTIAL_PARTICLE")
+ ### Adjectives and relatives ###
+
+ for morpheme in adjective_prefixes:
+ adjective.add_rule(affix=morpheme, morphology="COPULATIVE")
+ for morpheme in adjective_prefixes_neg:
+ adjective.add_rule(affix=morpheme, morphology="NEG_COPULATIVE")
+ for morpheme in qualificative_adjective_prefixes:
+ adjective.add_rule(affix=morpheme, morphology="RELATIVE/QUALIFICATIVE")
+ for morpheme in qualificative_adjective_prefixes_neg:
+ adjective.add_rule(affix=morpheme, morphology="NEG_RELATIVE/QUALIFICATIVE")
+
+ for morpheme in subject_morphemes:
+ relative.add_rule(affix=morpheme, morphology="COPULATIVE")
+ relative.add_rule(affix=add_semivowels("a"+morpheme), morphology="NEG_COPULATIVE")
+ relative.add_rule(affix="aka", morphology="NEG_COPULATIVE")
+ for morpheme in relative_prefixes:
+ relative.add_rule(affix=morpheme, morphology="RELATIVE/QUALIFICATIVE")
+ relative.add_rule(affix=morpheme+"nge", morphology="NEG_RELATIVE/QUALIFICATIVE")
+
print aff.hunspell()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-26 08:31:14
|
Revision: 9676
http://zaf.svn.sourceforge.net/zaf/?rev=9676&view=rev
Author: friedelwolff
Date: 2009-02-26 08:31:08 +0000 (Thu, 26 Feb 2009)
Log Message:
-----------
Handle locatives for infinitive verbs more completely. This support can still be extended for infinitives with object morphemes or progressive particles, but these don't seem to actually occur much, so leaving it for now.
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-26 08:09:35 UTC (rev 9675)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-26 08:31:08 UTC (rev 9676)
@@ -512,7 +512,7 @@
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_e_ini, noun])
+ verb_rules(infixes, affix="uku", morphology="INFINITIVE", continuation_classes=[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
@@ -533,6 +533,8 @@
# This can probably be solved by applying some or all of the noun rules
# directly to the verb stem along with the infinitive prefix.
+ # locatives with infinitives are done below with the other locatives.
+
#infinitive + -sa- progressive aspectual morpheme
verb_rules(infixes, affix="ukusa", morphology="INFINITIVE_PROG", continuation_classes=[locative_e_ini])
#infinitive, negative
@@ -597,6 +599,7 @@
question.add_rule(affix="elani", strip="a", condition="a", morphology="Q_PRESENT_why")
question.add_rule(affix="eleni", strip="a", condition="a", morphology="Q_PAST_why")
+ ### Locatives ###
for prefix, morphology in [
("e", "LOC_pfx"),
("nase", "ASSOCIATIVE_COPULATIVE+LOC_pfx"),
@@ -605,14 +608,17 @@
]:
locative_rules(locative_e, affix=prefix, morphology=morphology)
locative_rules(locative_e_ini, affix=prefix, morphology=morphology, circumfix=True, continuation_classes=[locative_sfx_ini])
+ verb_rules(infixes, affix=prefix+"ku", morphology=morphology+"+INFINITIVE", circumfix=True, continuation_classes=[locative_sfx_ini])
for prefix in [morpheme + "se" for morpheme in subject_morphemes]:
locative_rules(locative_e, affix=prefix, morphology="COPULATIVE+LOC_pfx")
locative_rules(locative_e_ini, affix=prefix, morphology="COPULATIVE+LOC_pfx", circumfix=True, continuation_classes=[locative_sfx_ini])
+ verb_rules(infixes, affix=prefix+"ku", morphology="COPULATIVE+LOC_pfx+INFINITIVE", circumfix=True, continuation_classes=[locative_sfx_ini])
for prefix in [morpheme + "se" for morpheme in possesive_morphemes]:
locative_rules(locative_e, affix=prefix, morphology="POSSESSIVE+LOC_pfx")
locative_rules(locative_e_ini, affix=prefix, morphology="POSSESSIVE+LOC_pfx", circumfix=True, continuation_classes=[locative_sfx_ini])
+ verb_rules(infixes, affix=prefix+"ku", morphology="POSSESSIVE+LOC_pfx+INFINITIVE", circumfix=True, continuation_classes=[locative_sfx_ini])
locative_o_ini.add_rule(affix="o", strip="u", morphology="LOC_pfx", circumfix=True, continuation_classes=[locative_sfx_ini])
locative_ku.add_rule(affix="ku", strip="a", morphology="LOC_pfx")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-26 08:09:38
|
Revision: 9675
http://zaf.svn.sourceforge.net/zaf/?rev=9675&view=rev
Author: friedelwolff
Date: 2009-02-26 08:09:35 +0000 (Thu, 26 Feb 2009)
Log Message:
-----------
Far more complete implementation of locatives with better comments. Now there is support for e-, nase-, ngase-, njengase- prefixes, as well as copulatives before the locatives (such as usekhaya), and possessives with locatives (such as sasekhaya)
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-25 07:31:56 UTC (rev 9674)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-26 08:09:35 UTC (rev 9675)
@@ -41,8 +41,6 @@
#TODO: noun continuation class for infinitive+obj and negative infinitives?
#NOUNS:
-#TODO: locatives
-#TODO: locatives of class 1
#TODO: possessive of class 1
#TODO: review possessive of class 2a
@@ -261,6 +259,18 @@
print >> sys.stderr, "got an unexpected noun prefix:", prefix
return group.rules
+def locative_rules(group, **kwargs):
+ """Generate the necessary rules to prepend the given prefix to a noun as
+ part of forming a locative.
+
+ This is really only for the very common cases with locative prefixes
+ ending with e-."""
+ prefix = kwargs.pop('affix')
+ group.add_rule(affix=prefix, strip="a", **kwargs)
+ group.add_rule(affix=prefix, strip="i", **kwargs)
+ group.add_rule(affix=prefix, strip="u", **kwargs)
+ return group.rules
+
################################################################################
for i in concords:
@@ -422,17 +432,33 @@
noun = aff.add_group(suffix=False, flag="N")
# This group will contain most prefixes for nouns
- locative_e_ini = aff.add_group(suffix=False, flag="M")
+ locative_e = aff.add_group(suffix=False, flag="O")
+ # This group will contain rules for locative prefixes in the form e- (no -ini)
+ # This is used for some nouns, especially loan words. Examples: ikhaya,
+ # iGoli
+
+ locative_e_ini = aff.add_group(suffix=False, flag="P")
# This group will contain rules for locative prefixes in the form e...ini
+ # This is used for most nouns, such as amanzi, ukuqala
- locative_o_ini = aff.add_group(suffix=False, flag="O")
+ locative_o_ini = aff.add_group(suffix=False, flag="Q")
# This group will contain rules for locative prefixes in the form o...ini
+ # This can be used for class 11 nouns, and for a few words in class 14,
+ # such as utshani and utshwala
- locative_ku = aff.add_group(suffix=False, flag="P")
- # This group will contain rules for locative prefixes with the prefix ku- and kwa-
+ locative_ku = aff.add_group(suffix=False, flag="R")
+ # This group will contain rules for locative prefixes with the prefix ku-
+ # This is needed for class 1, 1a, 2, 2a, and some groups of class 6, like
+ # amaXhosa
- locative_kwi = aff.add_group(suffix=False, flag="Q")
+ locative_kwa = aff.add_group(suffix=False, flag="S")
+ # This group will contain rules for locative prefixes with the prefix kwa-
+ # This can apply to several nouns, but is indistinguishable from the
+ # possessive of class 15 (ku+a+...)
+
+ locative_kwi = aff.add_group(suffix=False, flag="T")
# This group will contain rules for locative prefixes with the prefix kwi-
+ # This is used acronymns, proper names of organisations, loan words
locative_sfx_ini = aff.add_group(suffix=True, flag="m")
# This group will contain rules for locative suffixes
@@ -571,9 +597,36 @@
question.add_rule(affix="elani", strip="a", condition="a", morphology="Q_PRESENT_why")
question.add_rule(affix="eleni", strip="a", condition="a", morphology="Q_PAST_why")
- locative_e_ini.add_rule(affix="e", strip="u", morphology="LOC_pfx", circumfix=True, continuation_classes=[locative_sfx_ini])
+ for prefix, morphology in [
+ ("e", "LOC_pfx"),
+ ("nase", "ASSOCIATIVE_COPULATIVE+LOC_pfx"),
+ ("ngase", "INSTRUMENTAL/REFERENTIAL_PARTICLE+LOC_pfx"),
+ ("njengase", "COMPARATIVE_PARTICLE+LOC_pfx"), #rare
+ ]:
+ locative_rules(locative_e, affix=prefix, morphology=morphology)
+ locative_rules(locative_e_ini, affix=prefix, morphology=morphology, circumfix=True, continuation_classes=[locative_sfx_ini])
+ for prefix in [morpheme + "se" for morpheme in subject_morphemes]:
+ locative_rules(locative_e, affix=prefix, morphology="COPULATIVE+LOC_pfx")
+ locative_rules(locative_e_ini, affix=prefix, morphology="COPULATIVE+LOC_pfx", circumfix=True, continuation_classes=[locative_sfx_ini])
+
+ for prefix in [morpheme + "se" for morpheme in possesive_morphemes]:
+ locative_rules(locative_e, affix=prefix, morphology="POSSESSIVE+LOC_pfx")
+ locative_rules(locative_e_ini, affix=prefix, morphology="POSSESSIVE+LOC_pfx", circumfix=True, continuation_classes=[locative_sfx_ini])
+
+ locative_o_ini.add_rule(affix="o", strip="u", morphology="LOC_pfx", circumfix=True, continuation_classes=[locative_sfx_ini])
+ locative_ku.add_rule(affix="ku", strip="a", morphology="LOC_pfx")
+ locative_ku.add_rule(affix="ku", strip="u", morphology="LOC_pfx")
+ locative_ku.add_rule(affix="ko", condition="o", morphology="LOC_pfx")
+ locative_kwa.add_rule(affix="kwa", strip="a", morphology="LOC_pfx")
+ locative_kwa.add_rule(affix="kwa", strip="u", morphology="LOC_pfx")
+ locative_kwi.add_rule(affix="kw", condition="i", morphology="LOC_pfx")
+
+ locative_sfx_ini.add_rule(affix="ni", condition="i", circumfix=True, morphology="LOC_sfx")
+ locative_sfx_ini.add_rule(affix="eni", strip="e", circumfix=True, morphology="LOC_sfx")
locative_sfx_ini.add_rule(affix="eni", strip="a", circumfix=True, morphology="LOC_sfx")
+ locative_sfx_ini.add_rule(affix="weni", strip="o", circumfix=True, morphology="LOC_sfx")
+ locative_sfx_ini.add_rule(affix="wini", strip="u", circumfix=True, morphology="LOC_sfx")
### Nouns ###
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-02-25 07:32:18
|
Revision: 9674
http://zaf.svn.sourceforge.net/zaf/?rev=9674&view=rev
Author: friedelwolff
Date: 2009-02-25 07:31:56 +0000 (Wed, 25 Feb 2009)
Log Message:
-----------
Change some class flags to reflect their public (capital) / private (small) nature. Add classes for more proper locative handling.
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:52:02 UTC (rev 9673)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-25 07:31:56 UTC (rev 9674)
@@ -38,6 +38,7 @@
#TODO: auxilary verbs
#TODO: consider avoiding illegal reflexives
#TODO: hortative particle words
+#TODO: noun continuation class for infinitive+obj and negative infinitives?
#NOUNS:
#TODO: locatives
@@ -412,21 +413,30 @@
negative_anga = aff.add_group(suffix=True, flag="f")
# This groups contains the suffixes for the negative indicative (past)
- imperative = aff.add_group(suffix=True, flag="F")
+ imperative = aff.add_group(suffix=True, flag="g")
# This contains suffixes for imperative mode
- question = aff.add_group(suffix=True, flag="I")
+ question = aff.add_group(suffix=True, flag="i")
# This group contains rules for forming question words
- locative = aff.add_group(suffix=False, flag="n")
- # This group will contain rules for locative prefixes
+ noun = aff.add_group(suffix=False, flag="N")
+ # This group will contain most prefixes for nouns
- locative_sfx = aff.add_group(suffix=True, flag="m")
+ locative_e_ini = aff.add_group(suffix=False, flag="M")
+ # This group will contain rules for locative prefixes in the form e...ini
+
+ locative_o_ini = aff.add_group(suffix=False, flag="O")
+ # This group will contain rules for locative prefixes in the form o...ini
+
+ locative_ku = aff.add_group(suffix=False, flag="P")
+ # This group will contain rules for locative prefixes with the prefix ku- and kwa-
+
+ locative_kwi = aff.add_group(suffix=False, flag="Q")
+ # This group will contain rules for locative prefixes with the prefix kwi-
+
+ locative_sfx_ini = 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])
@@ -476,7 +486,7 @@
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, noun])
+ verb_rules(infixes, affix="uku", morphology="INFINITIVE", continuation_classes=[locative_e_ini, 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
@@ -498,7 +508,7 @@
# 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])
+ verb_rules(infixes, affix="ukusa", morphology="INFINITIVE_PROG", continuation_classes=[locative_e_ini])
#infinitive, negative
verb_rules(infixes, affix="ukunga", needaffix=True, circumfix=True, morphology="INFINITIVE_NEG", continuation_classes=[negative_i])#XXX
#infinitive, negative, with -ka- exclusive aspectual morpheme
@@ -539,11 +549,11 @@
verb_rules(infixes, affix="sayuku"+morpheme, needaffix=True, morphology="PROG_DISTANT_FUTURE_IND_LONG_NEG_with_OBJ", continuation_classes=[simple_subjects_neg])
#infinitive with object morpheme
- verb_rules(infixes, affix="uku"+morpheme, morphology="INFINITIVE_with_OBJ", continuation_classes=[locative])
+ verb_rules(infixes, affix="uku"+morpheme, morphology="INFINITIVE_with_OBJ", continuation_classes=[locative_e_ini])
#negative infinitive with object morpheme
verb_rules(infixes, affix="ukunga"+morpheme, needaffix=True, circumfix=True, morphology="INFINITIVE_NEG_with_OBJ", continuation_classes=[negative_i])
#infinitive + -sa- progressive aspectual morpheme
- verb_rules(infixes, affix="ukusa"+morpheme, morphology="INFINITIVE_PROG_with_OBJ", continuation_classes=[locative])
+ verb_rules(infixes, affix="ukusa"+morpheme, morphology="INFINITIVE_PROG_with_OBJ", continuation_classes=[locative_e_ini])
infixes.add_rule(affix="", condition="[^aeiou]", morphology="IMPERATIVE", continuation_classes=[imperative])
infixes.add_rule(affix="y", condition="[aeiou]", morphology="IMPERATIVE", continuation_classes=[imperative])
@@ -561,9 +571,9 @@
question.add_rule(affix="elani", strip="a", condition="a", morphology="Q_PRESENT_why")
question.add_rule(affix="eleni", strip="a", condition="a", morphology="Q_PAST_why")
- locative.add_rule(affix="e", strip="u", morphology="LOC_pfx", circumfix=True, continuation_classes=[locative_sfx])
+ locative_e_ini.add_rule(affix="e", strip="u", morphology="LOC_pfx", circumfix=True, continuation_classes=[locative_sfx_ini])
- locative_sfx.add_rule(affix="eni", strip="a", circumfix=True, morphology="LOC_sfx")
+ locative_sfx_ini.add_rule(affix="eni", strip="a", circumfix=True, morphology="LOC_sfx")
### Nouns ###
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
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.
|
|
From: <fri...@us...> - 2009-02-24 09:01:56
|
Revision: 9672
http://zaf.svn.sourceforge.net/zaf/?rev=9672&view=rev
Author: friedelwolff
Date: 2009-02-24 09:01:40 +0000 (Tue, 24 Feb 2009)
Log Message:
-----------
-Typo. Rewrite identificative copulatives to handle all nouns correctly
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-10 05:23:11 UTC (rev 9671)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-02-24 09:01:40 UTC (rev 9672)
@@ -37,6 +37,7 @@
#TODO: statives
#TODO: auxilary verbs
#TODO: consider avoiding illegal reflexives
+#TODO: hortative particle words
#NOUNS:
#TODO: locatives
@@ -251,7 +252,8 @@
if prefix[-1] == 'u':
prefix = prefix[0:-1]
- # Any prefixes except the identifying copulative "ngu"/"wu"
+ # Any prefixes except the identifying copulative "ngu"/"wu" in front of
+ # vowels starting with 'u'? (that is why there are no other rules here)
group.add_rule(affix=prefix, condition="[ou]", **kwargs)
return group.rules
@@ -560,11 +562,13 @@
# identificative copulative particle words
noun.add_rule(affix="y", condition="i", morphology="IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects])
- noun.add_rule(affix="y", contition="i", needaffix=True, morphology="NEG_IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects_neg])
- noun_rules(noun, affix="ngu", contition="[ou]", morphology="IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects])
- noun_rules(noun, affix="ngu", contition="[ou]", needaffix=True, morphology="NEG_IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects_neg])
- noun_rules(noun, affix="wu", contition="[ou]", morphology="IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects])
- noun_rules(noun, affix="wu", contition="[ou]", needaffix=True, morphology="NEG_IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects_neg])
+ noun.add_rule(affix="y", condition="i", needaffix=True, morphology="NEG_IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects_neg])
+ noun.add_rule(affix="ng", condition="a", morphology="IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects])
+ noun.add_rule(affix="ng", condition="a", needaffix=True, morphology="NEG_IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects_neg])
+ noun_rules(noun, affix="ngu", morphology="IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects])
+ noun_rules(noun, affix="ngu", needaffix=True, morphology="NEG_IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects_neg])
+ noun_rules(noun, affix="wu", morphology="IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects])
+ noun_rules(noun, affix="wu", needaffix=True, morphology="NEG_IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects_neg])
# comparative particle words
noun_rules(noun, affix="njenga", morphology="COMPARATIVE_PARTICLE")
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dwa...@us...> - 2009-02-10 05:23:15
|
Revision: 9671
http://zaf.svn.sourceforge.net/zaf/?rev=9671&view=rev
Author: dwaynebailey
Date: 2009-02-10 05:23:11 +0000 (Tue, 10 Feb 2009)
Log Message:
-----------
Add: rooi*, red*, some possesives.
Modified Paths:
--------------
trunk/dict/en_ZA/wordlists/wordlist.southafrican-english.in
Modified: trunk/dict/en_ZA/wordlists/wordlist.southafrican-english.in
===================================================================
--- trunk/dict/en_ZA/wordlists/wordlist.southafrican-english.in 2009-02-09 17:31:38 UTC (rev 9670)
+++ trunk/dict/en_ZA/wordlists/wordlist.southafrican-english.in 2009-02-10 05:23:11 UTC (rev 9671)
@@ -439,14 +439,21 @@
putu
quagga
quaggas
+quagga's
R1
R1s
+R1's
R4
R4s
+R4's
rand
rands
Rapportryers
+ratel
+ratels
redbait
+redgrass
+redwater
reebok
regmaker
regmakers
@@ -456,6 +463,7 @@
ridgebacks
riempie
riempies
+rietbok
rinderpest
rinkhals
roker
@@ -465,11 +473,14 @@
rooibok
rooibos
rooigevaar
+rooigras
+rooihout
rooikat
rooikrans
rooinek
rooinekke
rooineks
+rooinek's
roti
rotis
ruggerbugger
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dwa...@us...> - 2009-02-09 17:31:45
|
Revision: 9670
http://zaf.svn.sourceforge.net/zaf/?rev=9670&view=rev
Author: dwaynebailey
Date: 2009-02-09 17:31:38 +0000 (Mon, 09 Feb 2009)
Log Message:
-----------
Correct: writeable -> writable
Modified Paths:
--------------
trunk/dict/en_ZA/wordlists/notlist.en_GB.in
trunk/dict/en_ZA/wordlists/wordlist.en_GB.in
Modified: trunk/dict/en_ZA/wordlists/notlist.en_GB.in
===================================================================
--- trunk/dict/en_ZA/wordlists/notlist.en_GB.in 2009-02-09 13:54:00 UTC (rev 9669)
+++ trunk/dict/en_ZA/wordlists/notlist.en_GB.in 2009-02-09 17:31:38 UTC (rev 9670)
@@ -52,5 +52,6 @@
air-conditioner
mindbogglingly
# Misspellings
+writeable
# Should be written apart
honeylocust
Modified: trunk/dict/en_ZA/wordlists/wordlist.en_GB.in
===================================================================
--- trunk/dict/en_ZA/wordlists/wordlist.en_GB.in 2009-02-09 13:54:00 UTC (rev 9669)
+++ trunk/dict/en_ZA/wordlists/wordlist.en_GB.in 2009-02-09 17:31:38 UTC (rev 9670)
@@ -126651,8 +126651,8 @@
wristwatches
wristwatch's
writ
+writable
write
-writeable
write-off
write-offs
writer
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dwa...@us...> - 2009-02-09 13:54:10
|
Revision: 9669
http://zaf.svn.sourceforge.net/zaf/?rev=9669&view=rev
Author: dwaynebailey
Date: 2009-02-09 13:54:00 +0000 (Mon, 09 Feb 2009)
Log Message:
-----------
+antiretroviral
Modified Paths:
--------------
trunk/dict/en_ZA/wordlists/wordlist.en_GB.missing.in
Modified: trunk/dict/en_ZA/wordlists/wordlist.en_GB.missing.in
===================================================================
--- trunk/dict/en_ZA/wordlists/wordlist.en_GB.missing.in 2009-01-30 09:58:46 UTC (rev 9668)
+++ trunk/dict/en_ZA/wordlists/wordlist.en_GB.missing.in 2009-02-09 13:54:00 UTC (rev 9669)
@@ -43,6 +43,7 @@
Afrocentrist
Afro-pessimism
Afrotropical
+antiretroviral
Apgar
autorotation
autosave
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <dwa...@us...> - 2009-01-30 09:58:50
|
Revision: 9668
http://zaf.svn.sourceforge.net/zaf/?rev=9668&view=rev
Author: dwaynebailey
Date: 2009-01-30 09:58:46 +0000 (Fri, 30 Jan 2009)
Log Message:
-----------
+tesourus
Modified Paths:
--------------
trunk/dict/af/wordlists/wordlist.otherwords.in
Modified: trunk/dict/af/wordlists/wordlist.otherwords.in
===================================================================
--- trunk/dict/af/wordlists/wordlist.otherwords.in 2009-01-15 16:32:56 UTC (rev 9667)
+++ trunk/dict/af/wordlists/wordlist.otherwords.in 2009-01-30 09:58:46 UTC (rev 9668)
@@ -650,3 +650,4 @@
wanvloere
# Ander
PanSAT
+tesourus
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-01-15 16:33:11
|
Revision: 9667
http://zaf.svn.sourceforge.net/zaf/?rev=9667&view=rev
Author: friedelwolff
Date: 2009-01-15 16:32:56 +0000 (Thu, 15 Jan 2009)
Log Message:
-----------
instrumental particle word / referential particle word nga-
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-01-15 16:30:46 UTC (rev 9666)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-01-15 16:32:56 UTC (rev 9667)
@@ -574,5 +574,8 @@
noun_rules(noun, affix="kwa", morphology="COMPARATIVE_PARTICLE")
# ^^^This duplicates a the possessive with class 15, so we could leave it out for performance
+ # instrumental particle word / referential particle word nga-
+ noun_rules(noun, affix="nga", morphology="INSTRUMENTAL/REFERENTIAL_PARTICLE")
+
print aff.hunspell()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fri...@us...> - 2009-01-15 16:30:59
|
Revision: 9666
http://zaf.svn.sourceforge.net/zaf/?rev=9666&view=rev
Author: friedelwolff
Date: 2009-01-15 16:30:46 +0000 (Thu, 15 Jan 2009)
Log Message:
-----------
comparative particles. Need to see if we can have some negatives and possibly other extentions such as -sa-
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-01-15 16:18:05 UTC (rev 9665)
+++ trunk/dict/zu/hunspell/zu_aff.py 2009-01-15 16:30:46 UTC (rev 9666)
@@ -566,5 +566,13 @@
noun_rules(noun, affix="wu", contition="[ou]", morphology="IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects])
noun_rules(noun, affix="wu", contition="[ou]", needaffix=True, morphology="NEG_IDENTIFICATIVE_COPULATIVE", continuation_classes=[simple_subjects_neg])
+ # comparative particle words
+ noun_rules(noun, affix="njenga", morphology="COMPARATIVE_PARTICLE")
+ noun_rules(noun, affix="nganga", needaffix=True, morphology="COMPARATIVE_PARTICLE", continuation_classes=[simple_subjects])
+ # confirm ^^
+ # negative? -sa- ?
+ noun_rules(noun, affix="kwa", morphology="COMPARATIVE_PARTICLE")
+ # ^^^This duplicates a the possessive with class 15, so we could leave it out for performance
+
print aff.hunspell()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|