0001 #include "Trie.HC"; 0002 //-ne after the first word means question 0003 //-que means and 0004 #define NOMITIVE (1) 0005 #define GENITIVE (1<<1) 0006 #define DATIVE (1<<2) 0007 #define ACCUSATIVE (1<<3) 0008 #define ABLATIVE (1<<4) 0009 #define SINGULAR (1<<5) 0010 #define PLURAL (1<<6) 0011 #define MASCULINE (1<<7) 0012 #define FEMININE (1<<8) 0013 #define INFINITIVE (1<<9) 0014 #define _1P (1<<10) 0015 #define _2P (1<<11) 0016 #define _3P (1<<12) 0017 #define IMPERFECT (1<<13) 0018 #define FUTURE (1<<14) 0019 #define CONJUNCTION (1<<15) 0020 #define VERB (1<<16) 0021 #define NOUN (1<<17) 0022 #define ADJECTIVE (1<<18) 0023 #define INFINITIVE (1<<19) 0024 #define PRONOUN (1<<20) 0025 #define REFLEXIVE (1<<21) //Himself 0026 #define POSSESIVE (1<<22) //My 0027 #define DEMONSTRATIVE (1<<23) //That 0028 #define INTEROGITIVE (1<<24) //Who 0029 #define NEUTER (1<<25) 0030 #define RELATIVE (1<<26) 0031 #define PREPOSITION (1<<27) 0032 #define ADVERB (1<<28) 0033 #define PERFECT (1<<29) 0034 #define PLUPERFECT (1<<30) 0035 #define SUBJUNCTIVE (1<<31) 0036 //No declensions (like numbers that dont decline) 0037 #define INDECLINABLE (1<<32) 0038 #define PRESENT (1<<33) 0039 #define PASSIVE (1<<34) 0040 #define IMPERATIVE (1<<35) 0041 #define PARTICIPLE (1<<36) 0042 #define GERUND (1<<37) 0043 #define COMPARATIVE (1<<38) 0044 #define SUPERLATIVE (1<<39) 0045 #define PARTICLE (1<<40) 0046 #define CONJUNCTION2 (1<<41) //dixeque Words ending in -que 0047 #define IS (1<<42) //Words like sum 0048 #define DETIRMINER (1<<43) //things *that* are green 0049 #define DECLENSION1 (1<<44) 0050 #define DECLENSION2 (1<<45) 0051 #define DECLENSION3 (1<<46) 0052 #define DECLENSION4 (1<<47) 0053 #define DECLENSION5 (1<<48) 0054 #define CONJUGATION1 (1<<49) 0055 #define CONJUGATION2 (1<<50) 0056 #define CONJUGATION3 (1<<51) 0057 #define CONJUGATION4 (1<<52) 0058 #define CONJUGATION5 (1<<53) 0059 #define INTRANSITIVE (1<<54) 0060 class CDeclension:CQue { 0061 I64 flags; 0062 U64 set; 0063 U8 *str; 0064 }; 0065 CDeclension declensions; 0066 CDeclension AddDeclension(U8 *declen,I64 flags,U64 set) { 0067 CDeclension *d=CAlloc(sizeof CDeclension); 0068 if(flags&VERB) { 0069 if(set.u8[0]=='1') 0070 flags|=CONJUGATION1; 0071 if(set.u8[0]=='2') 0072 flags|=CONJUGATION2; 0073 if(set.u8[0]=='3') 0074 flags|=CONJUGATION3; 0075 if(set.u8[0]=='4') 0076 flags|=CONJUGATION4; 0077 } else { 0078 if(set.u8[0]=='1') 0079 flags|=DECLENSION1; 0080 if(set.u8[0]=='2') 0081 flags|=DECLENSION2; 0082 if(set.u8[0]=='3') 0083 flags|=DECLENSION3; 0084 if(set.u8[0]=='4') 0085 flags|=DECLENSION4; 0086 if(set.u8[0]=='5') 0087 flags|=DECLENSION5; 0088 } 0089 d->flags=flags; 0090 d->set=set; 0091 d->str=StrNew(declen); 0092 QueIns(d,&declensions); 0093 return d; 0094 } 0095 Bool EndsWith(U8 *a,U8 *with) { 0096 if(StrLen(with)>StrLen(a)) return FALSE; 0097 return !StrCmp(with,a+StrLen(a)-StrLen(with)); 0098 } 0099 0100 Bool IsOfDelcensionSet(U8 *str,U64 set,I64 flags) { 0101 CDeclension *d,*head=&declensions; 0102 for(d=head->next;head!=d;d=d->next) 0103 if(d->set==set&&d->flags&flags==flags) 0104 if(EndsWith(str,d->str)&&StrLen(d->str)) //Empty endings are speacial 0105 return TRUE; 0106 return FALSE; 0107 } 0108 0109 I64 GetTrimLength(U8 *str,U64 set,I64 flags=0,I64 anti_flags=0) { 0110 CDeclension *d,*head=&declensions; 0111 I64 t=0; 0112 for(d=head->next;head!=d;d=d->next) { 0113 if(d->set==set&&d->flags&flags==flags&&!(d->flags&anti_flags)) { 0114 if(EndsWith(str,d->str)) 0115 t=MaxI64(StrLen(d->str),t); 0116 } 0117 } 0118 return t; 0119 } 0120 0121 //Consult your local Latin dictionary for this one 0122 U0 _AddWordByPrincibleParts(U8 *translation=NULL,I64 add_flags,I64 flags,I64 argc,U8 **argv) { 0123 CDeclension *d=declensions.next,*head=&declensions,*d2; 0124 U64 valid_classes[0x80]; 0125 U8 *base,*word,*word2; 0126 I64 i,part,valid_cls_cnt=0,i2,trim; 0127 U8 *dummy_argv[2]; 0128 for(d=head->next;d!=head;d=d->next) { 0129 if(!StrLen(d->str)) { 0130 part=0; 0131 goto check; 0132 } else if(d->set=='2v' 0133 ||d->set=='1v' 0134 ||d->set=='3v' 0135 ||d->set='3iov' 0136 ||d->set=='4v' 0137 ) { 0138 if(d->flags&(PERFECT|PLUPERFECT)) 0139 part=2; 0140 else if(d->flags&(_1P|SINGULAR)==(_1P|SINGULAR)) 0141 part=0; 0142 else 0143 part=1; 0144 goto check; 0145 } else if(d->set=='adj12' 0146 ||d->set=='adj3' 0147 ||d->set=='1d' 0148 ||d->set=='2n' 0149 ||d->set=='2mfd' 0150 ||d->set=='3nd' 0151 ||d->set=='3mfd' 0152 ||d->set=='4mfd' 0153 ||d->set=='4nd' 0154 ||d->set=='5mfd' 0155 ) { 0156 if(d->flags&(NOMITIVE|SINGULAR)==(NOMITIVE|SINGULAR)) 0157 part=0; 0158 else 0159 part=1; 0160 goto check; 0161 } else { 0162 part=0; 0163 check: 0164 if(part<argc) 0165 if(EndsWith(argv[part],d->str)&&(d->flags&flags==flags)) { 0166 for(i2=0;i2!=valid_cls_cnt;i2++) { 0167 if(valid_classes[i2]==d->set) 0168 goto pass; 0169 } 0170 //Check that all endings are in the delcension(except for first one as it may be special) 0171 for(i2=1;i2<argc;i2++) 0172 if(!IsOfDelcensionSet(argv[i2],d->set,flags)) 0173 goto pass; 0174 valid_classes[valid_cls_cnt++]=d->set; 0175 pass:; 0176 } 0177 } 0178 } 0179 for(d=head->next;d!=head;d=d->next) { 0180 for(i2=0;i2!=valid_cls_cnt;i2++) { 0181 if(valid_classes[i2]==d->set) { 0182 if(!StrLen(d->str)) { 0183 trim=0; 0184 part=0; 0185 } else if(d->set=='2v' 0186 ||d->set=='1v' 0187 ||d->set=='3v' 0188 ||d->set=='3iov' 0189 ||d->set=='4v') { 0190 if(d->flags&(PERFECT|PLUPERFECT)) { 0191 part=2; 0192 if(part<argc) 0193 trim=MaxI64( 0194 GetTrimLength(argv[part],valid_classes[i2],PERFECT), 0195 GetTrimLength(argv[part],valid_classes[i2],PLUPERFECT) 0196 ); 0197 } else if(d->flags&(_1P|SINGULAR)==(_1P|SINGULAR)) { 0198 part=0; 0199 if(part<argc) 0200 trim=GetTrimLength(argv[part],valid_classes[i2],_1P|SINGULAR,PERFECT|PLUPERFECT); 0201 } else { 0202 part=1; 0203 if(part<argc) 0204 trim=GetTrimLength(argv[part],valid_classes[i2],,PERFECT|PLUPERFECT); 0205 } 0206 } else if(d->set=='adj12'||d->set=='adj3' 0207 ||d->set=='adj3' 0208 ||d->set=='1d' 0209 ||d->set=='2n' 0210 ||d->set=='2mfd' 0211 ||d->set=='3nd' 0212 ||d->set=='3mfd' 0213 ||d->set=='4mfd' 0214 ||d->set=='4nd' 0215 ||d->set=='5mfd') { 0216 if(d->flags&(NOMITIVE|SINGULAR)==(NOMITIVE|SINGULAR)) 0217 trim=part=0; 0218 else { 0219 part=1; 0220 trim=GetTrimLength(argv[part],valid_classes[i2]); 0221 } 0222 } else { 0223 part=0; 0224 trim=GetTrimLength(argv[part],valid_classes[i2]); 0225 } 0226 if(part<argc) { 0227 base=StrNew(argv[part]); 0228 base[StrLen(base)-trim]=0; 0229 word=MStrPrint("%s%s",base,d->str); 0230 TrieAdd(word,d->flags|add_flags,translation)->front_declension=StrNew(d->str); 0231 Free(base),Free(word); 0232 } 0233 0234 } 0235 } 0236 } 0237 for(i2=0;i2!=valid_cls_cnt;i2++) { 0238 //Handle participles here,they act like adjectives 0239 if(valid_classes[i2]=='1v'&&2<argc) { 0240 part=2; 0241 base=StrNew(argv[part]); 0242 trim=GetTrimLength(argv[part],valid_classes[i2]); 0243 base[StrLen(base)-trim]=0; 0244 word=MStrPrint("%sans",base); 0245 word2=MStrPrint("%santis",base); 0246 //Participles are like adjectives 0247 dummy_argv[0]=word,dummy_argv[1]=word2; 0248 _AddWordByPrincibleParts(translation,PARTICIPLE,ADJECTIVE,2,dummy_argv); 0249 Free(word); 0250 word=MStrPrint("%surus",base); 0251 dummy_argv[0]=word; 0252 _AddWordByPrincibleParts(translation,PARTICIPLE,ADJECTIVE,1,dummy_argv); 0253 Free(base),Free(word),Free(word2); 0254 } 0255 if((valid_classes[i2]=='2v'||valid_classes[i2]=='3v'||valid_classes[i2]=='4v')&&2<argc) { 0256 part=2; 0257 base=StrNew(argv[part]); 0258 trim=GetTrimLength(argv[part],valid_classes[i2]); 0259 base[StrLen(base)-trim]=0; 0260 word=MStrPrint("%sens",base); 0261 word2=MStrPrint("%sentis",base); 0262 dummy_argv[0]=word,dummy_argv[1]=word2; 0263 _AddWordByPrincibleParts(translation,PARTICIPLE,ADJECTIVE,2,dummy_argv); 0264 Free(word); 0265 word=MStrPrint("%surus",base); 0266 dummy_argv[0]=word; 0267 _AddWordByPrincibleParts(translation,PARTICIPLE,ADJECTIVE,1,dummy_argv); 0268 Free(base),Free(word),Free(word2); 0269 0270 } 0271 if(valid_classes[i2]=='3iov'&&2<argc) { 0272 part=2; 0273 base=StrNew(argv[part]); 0274 trim=GetTrimLength(argv[part],valid_classes[i2]); 0275 base[StrLen(base)-trim]=0; 0276 word=MStrPrint("%isens",base); 0277 word2=MStrPrint("%sientis",base); 0278 dummy_argv[0]=word,dummy_argv[1]=word2; 0279 _AddWordByPrincibleParts(translation,PARTICIPLE,ADJECTIVE,2,dummy_argv); 0280 Free(word); 0281 word=MStrPrint("%surus",base); 0282 dummy_argv[0]=word; 0283 _AddWordByPrincibleParts(translation,PARTICIPLE,ADJECTIVE,1,dummy_argv); 0284 Free(base),Free(word),Free(word2); 0285 } 0286 if(!(add_flags&(COMPARATIVE|SUPERLATIVE))) { 0287 if(valid_classes[i2]=='adj12'||valid_classes[i2]=='adj3') { 0288 //Adjectives comparative 0289 if(1<argc) { 0290 part=1; 0291 base=StrNew(argv[part]); 0292 trim=GetTrimLength(argv[part],valid_classes[i2]); 0293 base[StrLen(base)-trim]=0; 0294 word=MStrPrint("%sior",base); 0295 word2=MStrPrint("%sioris",base); 0296 dummy_argv[0]=word,dummy_argv[1]=word2; 0297 _AddWordByPrincibleParts(translation,COMPARATIVE,ADJECTIVE,2,dummy_argv); 0298 Free(base),Free(word),Free(word2); 0299 } 0300 //http://www.thelatinlibrary.com/101/AdjComp.pdf 0301 //Superlative 0302 if(1<argc&&EndsWith(argv[0],"er")) { 0303 part=1; 0304 base=StrNew(argv[part]); 0305 trim=2; 0306 base[StrLen(base)-trim]=0; 0307 word=MStrPrint("%srimus",base); 0308 word2=MStrPrint("%srima",base); 0309 dummy_argv[0]=word,dummy_argv[1]=word2; 0310 _AddWordByPrincibleParts(translation,SUPERLATIVE,ADJECTIVE,2,dummy_argv); 0311 Free(base),Free(word),Free(word2); 0312 } else if(1<argc&&EndsWith(argv[0],"ilis")) { 0313 part=1; 0314 base=StrNew(argv[part]); 0315 trim=4; 0316 base[StrLen(base)-trim]=0; 0317 word=MStrPrint("%slimus",base); 0318 word2=MStrPrint("%slima",base); 0319 dummy_argv[0]=word,dummy_argv[1]=word2; 0320 _AddWordByPrincibleParts(translation,SUPERLATIVE,ADJECTIVE,2,dummy_argv); 0321 Free(base),Free(word),Free(word2); 0322 } else { 0323 part=1; 0324 base=StrNew(argv[part]); 0325 trim=GetTrimLength(argv[part],valid_classes[i2]); 0326 base[StrLen(base)-trim]=0; 0327 word=MStrPrint("%ssimus",base); 0328 word2=MStrPrint("%ssimma",base); 0329 dummy_argv[0]=word,dummy_argv[1]=word2; 0330 _AddWordByPrincibleParts(translation,SUPERLATIVE,ADJECTIVE,2,dummy_argv); 0331 Free(base),Free(word),Free(word2); 0332 } 0333 } 0334 } 0335 } 0336 } 0337 0338 U0 AddWordByPrincibleParts(U8 *translation=NULL,I64 flags,...) { 0339 _AddWordByPrincibleParts(translation,0,flags,argc,argv); 0340 } 0341 0342 CFifoI64 *DelcensionsForFlags(I64 flags,U64 set) { 0343 CFifoI64 *ret=FifoI64New(0x20); 0344 CDeclension *d,*head=&declensions; 0345 for(d=head->next;head!=d;d=d->next) 0346 if(d->set==set&&d->flags&flags==flags) 0347 FifoI64Ins(ret,d); 0348 return ret; 0349 } 0350 0351 U0 PrintDelcensForFlags(U8 *base,I64 flags,U64 set) { 0352 CFifoI64 *declens=DelcensionsForFlags(flags,set); 0353 CDeclension *d; 0354 Bool first=TRUE; 0355 while(FifoI64Rem(declens,&d)) { 0356 if(!first) "/"; 0357 "%s%s",base,d->str; 0358 first=FALSE; 0359 } 0360 FifoI64Del(declens); 0361 } 0362 CDeclension *DeclensionForWord(I64 flags,CTrie *w) { 0363 I64 mask=DECLENSION1|DECLENSION2|DECLENSION3|DECLENSION4|DECLENSION5| 0364 NOUN|VERB|ADJECTIVE|CONJUGATION1| 0365 CONJUGATION2| 0366 CONJUGATION3| 0367 CONJUGATION4; 0368 CDeclension *d,*head=&declensions,*d2; 0369 for(d=head->next;d!=head;d=d->next) { 0370 if(EndsWith(w->str,d->str)) { 0371 if(mask&d->flags) { 0372 w->front_declension=d->str; 0373 return d; 0374 } 0375 } 0376 } 0377 return NULL; 0378 } 0379 0380 0381 U0 InitLatin() { 0382 QueInit(&declensions); 0383 I64 iter=0,cls; 0384 //1St Delcnesion 0385 AddDeclension("a",SINGULAR|NOMITIVE|MASCULINE|FEMININE|NOUN,'1d'); 0386 AddDeclension("ae",PLURAL|NEUTER|MASCULINE|FEMININE|NOUN|NOMITIVE,'1d'); 0387 AddDeclension("ae",SINGULAR|GENITIVE|MASCULINE|FEMININE|NOUN,'1d'); 0388 AddDeclension("arum",PLURAL|GENITIVE|MASCULINE|FEMININE|NOUN,'1d'); 0389 AddDeclension("ae",SINGULAR|DATIVE|MASCULINE|FEMININE|NOUN,'1d'); 0390 AddDeclension("is",PLURAL|DATIVE|MASCULINE|FEMININE|NOUN,'1d'); 0391 AddDeclension("am",SINGULAR|ACCUSATIVE|MASCULINE|FEMININE|NOUN,'1d'); 0392 AddDeclension("as",PLURAL|ACCUSATIVE|MASCULINE|FEMININE|NOUN,'1d'); 0393 AddDeclension("a",SINGULAR|ABLATIVE|MASCULINE|FEMININE|NOUN,'1d'); 0394 AddDeclension("is",PLURAL|ABLATIVE|MASCULINE|FEMININE|NOUN,'1d'); 0395 //2nd declennsion M/F us 0396 AddDeclension("",SINGULAR|NOMITIVE|MASCULINE|FEMININE|NOUN,'2mfd'); 0397 AddDeclension("us",SINGULAR|NOMITIVE|MASCULINE|FEMININE|NOUN,'2mfd'); 0398 AddDeclension("i",PLURAL|NOMITIVE|MASCULINE|FEMININE|NOUN,'2mfd'); 0399 AddDeclension("i",SINGULAR|GENITIVE|MASCULINE|FEMININE|NOUN,'2mfd'); 0400 AddDeclension("orum",PLURAL|GENITIVE|MASCULINE|FEMININE|NOUN,'2mfd'); 0401 AddDeclension("o",SINGULAR|DATIVE|MASCULINE|FEMININE|NOUN,'2mfd'); 0402 AddDeclension("is",PLURAL|DATIVE|MASCULINE|FEMININE|NOUN,'2mfd'); 0403 AddDeclension("um",SINGULAR|ACCUSATIVE|MASCULINE|FEMININE|NOUN,'2mfd'); 0404 AddDeclension("os",PLURAL|ACCUSATIVE|MASCULINE|FEMININE|NOUN,'2mfd'); 0405 AddDeclension("o",SINGULAR|ABLATIVE|MASCULINE|FEMININE|NOUN,'2mfd'); 0406 AddDeclension("is",PLURAL|ABLATIVE|MASCULINE|FEMININE|NOUN,'2mfd'); 0407 //2nd declennsion N 0408 AddDeclension("",SINGULAR|NOMITIVE|NEUTER|NOUN,'2mfd'); 0409 AddDeclension("er",SINGULAR|NOMITIVE|NEUTER|NOUN,'2nd'); 0410 AddDeclension("i",PLURAL|NOMITIVE|NEUTER|NOUN,'2nd'); 0411 AddDeclension("i",SINGULAR|GENITIVE|NEUTER|NOUN,'2nd'); 0412 AddDeclension("orum",PLURAL|GENITIVE|NEUTER|NOUN,'2nd'); 0413 AddDeclension("o",SINGULAR|DATIVE|NEUTER|NOUN,'2nd'); 0414 AddDeclension("is",PLURAL|DATIVE|NEUTER|NOUN,'2nd'); 0415 AddDeclension("um",SINGULAR|ACCUSATIVE|NEUTER|NOUN,'2nd'); 0416 AddDeclension("os",PLURAL|ACCUSATIVE|NEUTER|NOUN,'2nd'); 0417 AddDeclension("o",SINGULAR|ABLATIVE|NEUTER|NOUN,'2nd'); 0418 AddDeclension("is",PLURAL|ABLATIVE|NEUTER|NOUN,'2nd'); 0419 //3rd declension nouns M 0420 AddDeclension("",SINGULAR|NOMITIVE|MASCULINE|FEMININE|NOUN,'3mfd'); 0421 AddDeclension("es",PLURAL|NOMITIVE|MASCULINE|FEMININE|NOUN,'3mfd'); 0422 AddDeclension("is",SINGULAR|GENITIVE|MASCULINE|FEMININE|NOUN,'3mfd'); 0423 AddDeclension("um",PLURAL|GENITIVE|MASCULINE|FEMININE|NOUN,'3mfd'); 0424 AddDeclension("i",SINGULAR|DATIVE|MASCULINE|FEMININE|NOUN,'3mfd'); 0425 AddDeclension("ibus",PLURAL|DATIVE|MASCULINE|FEMININE|NOUN,'3mfd'); 0426 AddDeclension("em",SINGULAR|ACCUSATIVE|MASCULINE|FEMININE|NOUN,'3mfd'); 0427 AddDeclension("es",PLURAL|ACCUSATIVE|MASCULINE|FEMININE|NOUN,'3mfd'); 0428 AddDeclension("e",SINGULAR|ABLATIVE|MASCULINE|FEMININE|NOUN,'3mfd'); 0429 AddDeclension("ibus",PLURAL|ABLATIVE|MASCULINE|FEMININE|NOUN,'3mfd'); 0430 //3rd declension Neuter 0431 AddDeclension("",SINGULAR|NOMITIVE|NEUTER|NOUN,'3nd'); 0432 AddDeclension("a",PLURAL|NOMITIVE|NEUTER|NOUN,'3nd'); 0433 AddDeclension("ia",PLURAL|NOMITIVE|NEUTER|NOUN,'3nd'); 0434 AddDeclension("is",SINGULAR|GENITIVE|NEUTER|NOUN,'3nd'); 0435 AddDeclension("um",PLURAL|GENITIVE|NEUTER|NOUN,'3nd'); 0436 AddDeclension("ium",PLURAL|GENITIVE|NEUTER|NOUN,'3nd'); 0437 AddDeclension("i",SINGULAR|DATIVE|NEUTER|NOUN,'3nd'); 0438 AddDeclension("ibus",PLURAL|DATIVE|NEUTER|NOUN,'3nd'); 0439 AddDeclension("",SINGULAR|ACCUSATIVE|NEUTER|NOUN,'3nd'); 0440 AddDeclension("a",PLURAL|ACCUSATIVE|NEUTER|NOUN,'3nd'); 0441 AddDeclension("ia",PLURAL|ACCUSATIVE|NEUTER|NOUN,'3nd'); 0442 AddDeclension("e",SINGULAR|ABLATIVE|NEUTER|NOUN,'3nd'); 0443 AddDeclension("i",SINGULAR|ABLATIVE|NEUTER|NOUN,'3nd'); 0444 AddDeclension("ibus",PLURAL|ABLATIVE|NEUTER|NOUN,'3nd'); 0445 //4th declension M/F 0446 AddDeclension("",SINGULAR|NOMITIVE|NEUTER|NOUN,'4mfd'); 0447 AddDeclension("us",PLURAL|NOMITIVE|NEUTER|NOUN,'4mfd'); 0448 AddDeclension("us",SINGULAR|GENITIVE|NEUTER|NOUN,'4mfd'); 0449 AddDeclension("uum",PLURAL|GENITIVE|NEUTER|NOUN,'4mfd'); 0450 AddDeclension("ui",SINGULAR|DATIVE|NEUTER|NOUN,'4mfd'); 0451 AddDeclension("ibus",PLURAL|DATIVE|NEUTER|NOUN,'4mfd'); 0452 AddDeclension("um",SINGULAR|ACCUSATIVE|NEUTER|NOUN,'4mfd'); 0453 AddDeclension("us",PLURAL|ACCUSATIVE|NEUTER|NOUN,'4mfd'); 0454 AddDeclension("u",SINGULAR|ABLATIVE|NEUTER|NOUN,'4mfd'); 0455 AddDeclension("ibus",PLURAL|ABLATIVE|NEUTER|NOUN,'4mfd'); 0456 //4th declension N 0457 AddDeclension("",SINGULAR|NOMITIVE|NEUTER|NOUN,'4n'); 0458 AddDeclension("ua",PLURAL|NOMITIVE|NEUTER|NOUN,'4nd'); 0459 AddDeclension("u",SINGULAR|GENITIVE|NEUTER|NOUN,'4nd'); 0460 AddDeclension("uum",PLURAL|GENITIVE|NEUTER|NOUN,'4nd'); 0461 AddDeclension("u",SINGULAR|DATIVE|NEUTER|NOUN,'4nd'); 0462 AddDeclension("ibus",PLURAL|DATIVE|NEUTER|NOUN,'4nd'); 0463 AddDeclension("u",SINGULAR|ACCUSATIVE|NEUTER|NOUN,'4nd'); 0464 AddDeclension("ua",PLURAL|ACCUSATIVE|NEUTER|NOUN,'4nd'); 0465 AddDeclension("u",SINGULAR|ABLATIVE|NEUTER|NOUN,'4nd'); 0466 AddDeclension("ibus",PLURAL|ABLATIVE|NEUTER|NOUN,'4nd'); 0467 //%th declension MF 0468 AddDeclension("",SINGULAR|NOMITIVE|MASCULINE|FEMININE|NOUN,'5mfd'); 0469 AddDeclension("es",PLURAL|NOMITIVE|MASCULINE|FEMININE|NOUN,'5mfd'); 0470 AddDeclension("ei",SINGULAR|GENITIVE|MASCULINE|FEMININE|NOUN,'5mfd'); 0471 AddDeclension("erum",PLURAL|GENITIVE|MASCULINE|FEMININE|NOUN,'5mfd'); 0472 AddDeclension("ei",SINGULAR|DATIVE|MASCULINE|FEMININE|NOUN,'5mfd'); 0473 AddDeclension("ebus",PLURAL|DATIVE|MASCULINE|FEMININE|NOUN,'5mfd'); 0474 AddDeclension("em",SINGULAR|ACCUSATIVE|MASCULINE|FEMININE|NOUN,'5mfd'); 0475 AddDeclension("es",PLURAL|ACCUSATIVE|MASCULINE|FEMININE|NOUN,'5mfd'); 0476 AddDeclension("e",SINGULAR|ABLATIVE|MASCULINE|FEMININE|NOUN,'5mfd'); 0477 AddDeclension("ebus",PLURAL|ABLATIVE|MASCULINE|FEMININE|NOUN,'5mfd'); 0478 //3rd declennsion MF Adjective 0479 AddDeclension("",SINGULAR|NOMITIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0480 AddDeclension("is",SINGULAR|NOMITIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0481 AddDeclension("es",PLURAL|NOMITIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0482 AddDeclension("is",SINGULAR|GENITIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0483 AddDeclension("ium",PLURAL|GENITIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0484 AddDeclension("i",SINGULAR|DATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0485 AddDeclension("ibus",PLURAL|DATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0486 AddDeclension("em",SINGULAR|ACCUSATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0487 AddDeclension("es",PLURAL|ACCUSATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0488 AddDeclension("is",PLURAL|ACCUSATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0489 AddDeclension("i",SINGULAR|ABLATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0490 AddDeclension("ibu",PLURAL|ABLATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0491 AddDeclension("ibus",PLURAL|ABLATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0492 //3nd DEclensiuonb N0 Adjective 0493 AddDeclension("",SINGULAR|NOMITIVE|NEUTER|ADJECTIVE,'adj3'); 0494 AddDeclension("a",PLURAL|NOMITIVE|NEUTER|ADJECTIVE,'adj3'); 0495 AddDeclension("ia",PLURAL|NOMITIVE|NEUTER|ADJECTIVE,'adj3'); 0496 AddDeclension("is",SINGULAR|GENITIVE|NEUTER|ADJECTIVE,'adj3'); 0497 AddDeclension("um",PLURAL|GENITIVE|NEUTER|ADJECTIVE,'adj3'); 0498 AddDeclension("ium",PLURAL|GENITIVE|NEUTER|ADJECTIVE,'adj3'); 0499 AddDeclension("i",SINGULAR|DATIVE|NEUTER|ADJECTIVE,'adj3'); 0500 AddDeclension("ibus",PLURAL|DATIVE|NEUTER|ADJECTIVE,'adj3'); 0501 AddDeclension("",SINGULAR|ACCUSATIVE|NEUTER|ADJECTIVE,'adj3'); 0502 AddDeclension("a",PLURAL|ACCUSATIVE|NEUTER|ADJECTIVE,'adj3'); 0503 AddDeclension("ia",PLURAL|ACCUSATIVE|NEUTER|ADJECTIVE,'adj3'); 0504 AddDeclension("",SINGULAR|ABLATIVE|NEUTER|ADJECTIVE,'adj3'); 0505 AddDeclension("i",SINGULAR|ABLATIVE|NEUTER|ADJECTIVE,'adj3'); 0506 AddDeclension("a",PLURAL|ABLATIVE|NEUTER|ADJECTIVE,'adj3'); 0507 AddDeclension("ibus",PLURAL|ABLATIVE|NEUTER|ADJECTIVE,'adj3'); 0508 //3rd Declension 2 Endings 0509 AddDeclension("",SINGULAR|NOMITIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0510 AddDeclension("is",SINGULAR|NOMITIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0511 AddDeclension("es",PLURAL|NOMITIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0512 AddDeclension("is",SINGULAR|GENITIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0513 AddDeclension("ium",PLURAL|GENITIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0514 AddDeclension("i",SINGULAR|DATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0515 AddDeclension("ibus",PLURAL|DATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0516 AddDeclension("em",SINGULAR|ACCUSATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0517 AddDeclension("es",PLURAL|ACCUSATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0518 AddDeclension("is",PLURAL|ACCUSATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0519 AddDeclension("i",SINGULAR|ABLATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0520 AddDeclension("ibu",PLURAL|ABLATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0521 AddDeclension("ibus",PLURAL|ABLATIVE|MASCULINE|FEMININE|ADJECTIVE,'adj3'); 0522 0523 0524 0525 //TODO future infinitive 0526 //1st conjuation present tense 0527 AddDeclension("o",SINGULAR|_1P|VERB|PRESENT,'1v'); 0528 AddDeclension("amus",PLURAL|_1P|VERB|PRESENT,'1v'); 0529 AddDeclension("as",SINGULAR|_2P|VERB|PRESENT,'1v'); 0530 AddDeclension("atis",PLURAL|_2P|VERB|PRESENT,'1v'); 0531 AddDeclension("at",SINGULAR|_3P|VERB|PRESENT,'1v'); 0532 AddDeclension("ant",PLURAL|_3P|VERB|PRESENT,'1v'); 0533 //1st conjugation passive 0534 AddDeclension("or",SINGULAR|_1P|VERB|PRESENT|PASSIVE,'1v'); 0535 AddDeclension("amur",PLURAL|_1P|VERB|PRESENT|PASSIVE,'1v'); 0536 AddDeclension("aris",SINGULAR|_2P|VERB|PRESENT|PASSIVE,'1v'); 0537 AddDeclension("are",SINGULAR|_2P|VERB|PRESENT|PASSIVE,'1v'); 0538 AddDeclension("amini",PLURAL|_2P|VERB|PRESENT|PASSIVE,'1v'); 0539 AddDeclension("atur",SINGULAR|_3P|VERB|PRESENT|PASSIVE,'1v'); 0540 AddDeclension("antur",PLURAL|_3P|VERB|PRESENT|PASSIVE,'1v'); 0541 //Impefect tense 1st conujation 0542 AddDeclension("abam",SINGULAR|_1P|IMPERFECT|VERB,'1v'); 0543 AddDeclension("abamus",PLURAL|_1P|IMPERFECT|VERB,'1v'); 0544 AddDeclension("abas",SINGULAR|_2P|IMPERFECT|VERB,'1v'); 0545 AddDeclension("abatis",PLURAL|_2P|IMPERFECT|VERB,'1v'); 0546 AddDeclension("abat",SINGULAR|_3P|IMPERFECT|VERB,'1v'); 0547 AddDeclension("abant",PLURAL|_3P|IMPERFECT|VERB,'1v'); 0548 //Impefect tense 1st conujation passive 0549 AddDeclension("abar",SINGULAR|_1P|IMPERFECT|VERB|PASSIVE,'1v'); 0550 AddDeclension("abamur",PLURAL|_1P|IMPERFECT|VERB|PASSIVE,'1v'); 0551 AddDeclension("abaris",SINGULAR|_2P|IMPERFECT|VERB|PASSIVE,'1v'); 0552 AddDeclension("abare",SINGULAR|_2P|IMPERFECT|VERB|PASSIVE,'1v'); 0553 AddDeclension("abamini",PLURAL|_2P|IMPERFECT|VERB|PASSIVE,'1v'); 0554 AddDeclension("abatur",SINGULAR|_3P|IMPERFECT|VERB|PASSIVE,'1v'); 0555 AddDeclension("abantur",PLURAL|_3P|IMPERFECT|VERB|PASSIVE,'1v'); 0556 //1st conjuation PERFECT tense 0557 AddDeclension("avi",SINGULAR|_1P|PERFECT|VERB,'1v'); 0558 AddDeclension("avimus",PLURAL|_1P|PERFECT|VERB,'1v'); 0559 AddDeclension("avisti",SINGULAR|_2P|PERFECT|VERB,'1v'); 0560 AddDeclension("avistis",PLURAL|_2P|PERFECT|VERB,'1v'); 0561 AddDeclension("avit",SINGULAR|_3P|PERFECT|VERB,'1v'); 0562 AddDeclension("averunt",PLURAL|_3P|PERFECT|VERB,'1v'); 0563 AddDeclension("avere",PLURAL|_3P|PERFECT|VERB,'1v'); 0564 //1st conjuation FUTURE tense 0565 AddDeclension("abo",SINGULAR|_1P|FUTURE|VERB,'1v'); 0566 AddDeclension("abimus",PLURAL|_1P|FUTURE|VERB,'1v'); 0567 AddDeclension("abis",SINGULAR|_2P|FUTURE|VERB,'1v'); 0568 AddDeclension("abitis",PLURAL|_2P|FUTURE|VERB,'1v'); 0569 AddDeclension("abis",SINGULAR|_3P|FUTURE|VERB,'1v'); 0570 AddDeclension("abit",PLURAL|_3P|FUTURE|VERB,'1v'); 0571 AddDeclension("abunt",PLURAL|_3P|FUTURE|VERB,'1v'); 0572 //1st PLUPERFECT 0573 AddDeclension("averam",PLUPERFECT|SINGULAR|_1P|VERB,'1v'); 0574 AddDeclension("averamus",PLUPERFECT|PLURAL|_1P|VERB,'1v'); 0575 AddDeclension("averas",PLUPERFECT|SINGULAR|_2P|VERB,'1v'); 0576 AddDeclension("averatis",PLUPERFECT|PLURAL|_2P|VERB,'1v'); 0577 AddDeclension("averat",PLUPERFECT|SINGULAR|_3P|VERB,'1v'); 0578 AddDeclension("averant",PLUPERFECT|PLURAL|_3P|VERB,'1v'); 0579 //1st Present subjunctive 0580 AddDeclension("em",SUBJUNCTIVE|_1P|SINGULAR|VERB,'1v'); 0581 AddDeclension("emus",SUBJUNCTIVE|_1P|PLURAL|VERB,'1v'); 0582 AddDeclension("es",SUBJUNCTIVE|_2P|SINGULAR|VERB,'1v'); 0583 AddDeclension("etis",SUBJUNCTIVE|_2P|PLURAL|VERB,'1v'); 0584 AddDeclension("et",SUBJUNCTIVE|_3P|SINGULAR|VERB,'1v'); 0585 AddDeclension("ent",SUBJUNCTIVE|_3P|PLURAL|VERB,'1v'); 0586 //1st Present subjunctive passive 0587 AddDeclension("er",SUBJUNCTIVE|_1P|SINGULAR|VERB|PASSIVE,'1v'); 0588 AddDeclension("emur",SUBJUNCTIVE|_1P|PLURAL|VERB|PASSIVE,'1v'); 0589 AddDeclension("eris",SUBJUNCTIVE|_2P|SINGULAR|VERB|PASSIVE,'1v'); 0590 AddDeclension("ere",SUBJUNCTIVE|_2P|SINGULAR|VERB|PASSIVE,'1v'); 0591 AddDeclension("emini",SUBJUNCTIVE|_2P|PLURAL|VERB|PASSIVE,'1v'); 0592 AddDeclension("etur",SUBJUNCTIVE|_3P|SINGULAR|VERB|PASSIVE,'1v'); 0593 AddDeclension("entur",SUBJUNCTIVE|_3P|PLURAL|VERB|PASSIVE,'1v'); 0594 //1st Present subjunctive IMPERFECT 0595 AddDeclension("arem",SUBJUNCTIVE|_1P|SINGULAR|VERB|IMPERFECT,'1v'); 0596 AddDeclension("aremus",SUBJUNCTIVE|_1P|PLURAL|VERB|IMPERFECT,'1v'); 0597 AddDeclension("ares",SUBJUNCTIVE|_2P|SINGULAR|VERB|IMPERFECT,'1v'); 0598 AddDeclension("aretis",SUBJUNCTIVE|_2P|PLURAL|VERB|IMPERFECT,'1v'); 0599 AddDeclension("aret",SUBJUNCTIVE|_3P|SINGULAR|VERB|IMPERFECT,'1v'); 0600 AddDeclension("arent",SUBJUNCTIVE|_3P|PLURAL|VERB|IMPERFECT,'1v'); 0601 //1st Present subjunctive passive IMPERFECT 0602 AddDeclension("arer",SUBJUNCTIVE|_1P|SINGULAR|VERB|PASSIVE|IMPERFECT,'1v'); 0603 AddDeclension("aremur",SUBJUNCTIVE|_1P|PLURAL|VERB|PASSIVE|IMPERFECT,'1v'); 0604 AddDeclension("areris",SUBJUNCTIVE|_2P|SINGULAR|VERB|PASSIVE|IMPERFECT,'1v'); 0605 AddDeclension("arere",SUBJUNCTIVE|_2P|SINGULAR|VERB|PASSIVE|IMPERFECT,'1v'); 0606 AddDeclension("aremini",SUBJUNCTIVE|_2P|PLURAL|VERB|PASSIVE|IMPERFECT,'1v'); 0607 AddDeclension("aretur",SUBJUNCTIVE|_3P|SINGULAR|VERB|PASSIVE|IMPERFECT,'1v'); 0608 AddDeclension("arentur",SUBJUNCTIVE|_3P|PLURAL|VERB|PASSIVE|IMPERFECT,'1v'); 0609 //1st Present subjunctive PERFECT 0610 AddDeclension("averem",SUBJUNCTIVE|_1P|SINGULAR|VERB|PERFECT,'1v'); 0611 AddDeclension("averemus",SUBJUNCTIVE|_1P|PLURAL|VERB|PERFECT,'1v'); 0612 AddDeclension("averes",SUBJUNCTIVE|_2P|SINGULAR|VERB|PERFECT,'1v'); 0613 AddDeclension("averetis",SUBJUNCTIVE|_2P|PLURAL|VERB|PERFECT,'1v'); 0614 AddDeclension("averet",SUBJUNCTIVE|_3P|SINGULAR|VERB|PERFECT,'1v'); 0615 AddDeclension("averent",SUBJUNCTIVE|_3P|PLURAL|VERB|PERFECT,'1v'); 0616 //1st Present subjunctive PLUPERFECT 0617 AddDeclension("avissem",SUBJUNCTIVE|_1P|SINGULAR|VERB|PERFECT,'1v'); 0618 AddDeclension("avissemus",SUBJUNCTIVE|_1P|PLURAL|VERB|PERFECT,'1v'); 0619 AddDeclension("avisses",SUBJUNCTIVE|_2P|SINGULAR|VERB|PERFECT,'1v'); 0620 AddDeclension("avissetis",SUBJUNCTIVE|_2P|PLURAL|VERB|PERFECT,'1v'); 0621 AddDeclension("avisset",SUBJUNCTIVE|_3P|SINGULAR|VERB|PERFECT,'1v'); 0622 AddDeclension("avissent",SUBJUNCTIVE|_3P|PLURAL|VERB|PERFECT,'1v'); 0623 //1st PRESENT IMPERATIVE ACTIVE 0624 AddDeclension("a",IMPERATIVE|_2P|SINGULAR|VERB,'1v'); 0625 AddDeclension("ate",IMPERATIVE|_2P|PLURAL|VERB,'1v'); 0626 //1st FUTURE IMPERATIVE ACTIVE 0627 AddDeclension("ato",IMPERATIVE|_2P|SINGULAR|VERB|FUTURE,'1v'); 0628 AddDeclension("ato",IMPERATIVE|_3P|PLURAL|VERB|FUTURE,'1v'); 0629 AddDeclension("atote",IMPERATIVE|_2P|SINGULAR|VERB|FUTURE,'1v'); 0630 AddDeclension("anto",IMPERATIVE|_3P|PLURAL|VERB|FUTURE,'1v'); 0631 //1st PRESENT IMPERATIVE PASSIVE 0632 AddDeclension("are",IMPERATIVE|_2P|SINGULAR|VERB,'1v'); 0633 AddDeclension("amini",IMPERATIVE|_2P|PLURAL|VERB,'1v'); 0634 //1st FUTURE IMPERATIVE PASSIVE 0635 AddDeclension("ator",IMPERATIVE|_2P|SINGULAR|VERB|FUTURE,'1v'); 0636 AddDeclension("ator",IMPERATIVE|_3P|PLURAL|VERB|FUTURE,'1v'); 0637 AddDeclension("antor",IMPERATIVE|_3P|PLURAL|VERB|FUTURE,'1v'); 0638 //1st INFINTIVE 0639 AddDeclension("are",INFINITIVE,'1v'); 0640 AddDeclension("visse",INFINITIVE|FUTURE,'1v'); 0641 AddDeclension("ari",INFINITIVE|SUBJUNCTIVE,'1v'); 0642 //This is handled by AddWordByPrincibleParts 0643 /*//1st PARTICIPLE 0644 AddDeclension("ans",PARTICIPLE,'1v'); 0645 AddDeclension("antis",PARTICIPLE,'1v'); 0646 AddDeclension("aturus",PARTICIPLE|FUTURE,'1v');*/ 0647 //1st GERUND 0648 AddDeclension("andi",GERUND|GENITIVE,'1v'); 0649 AddDeclension("ando",GERUND|DATIVE,'1v'); 0650 AddDeclension("andum",GERUND|ACCUSATIVE,'1v'); 0651 AddDeclension("ando",GERUND|ABLATIVE,'1v'); 0652 0653 //2nd conjuation present tense 0654 AddDeclension("eo",SINGULAR|_1P|VERB|PRESENT,'2v'); 0655 AddDeclension("emus",PLURAL|_1P|VERB|PRESENT,'2v'); 0656 AddDeclension("es",SINGULAR|_2P|VERB|PRESENT,'2v'); 0657 AddDeclension("etis",PLURAL|_2P|VERB|PRESENT,'2v'); 0658 AddDeclension("et",SINGULAR|_3P|VERB|PRESENT,'2v'); 0659 AddDeclension("ent",PLURAL|_3P|VERB|PRESENT,'2v'); 0660 //2ND IMPERFECT 0661 AddDeclension("ebam",SINGULAR|_1P|VERB|IMPERFECT,'2v'); 0662 AddDeclension("ebamus",PLURAL|_1P|VERB|IMPERFECT,'2v'); 0663 AddDeclension("ebas",SINGULAR|_2P|VERB|IMPERFECT,'2v'); 0664 AddDeclension("ebatis",PLURAL|_2P|VERB|IMPERFECT,'2v'); 0665 AddDeclension("ebat",SINGULAR|_3P|VERB|IMPERFECT,'2v'); 0666 AddDeclension("ebant",PLURAL|_3P|VERB|IMPERFECT,'2v'); 0667 //2ND FUTURE 0668 AddDeclension("ebo",SINGULAR|_1P|VERB|FUTURE,'2v'); 0669 AddDeclension("ebimus",PLURAL|_1P|VERB|FUTURE,'2v'); 0670 AddDeclension("ebis",SINGULAR|_2P|VERB|FUTURE,'2v'); 0671 AddDeclension("ebitis",PLURAL|_2P|VERB|FUTURE,'2v'); 0672 AddDeclension("ebit",SINGULAR|_3P|VERB|FUTURE,'2v'); 0673 AddDeclension("ebunt",PLURAL|_3P|VERB|FUTURE,'2v'); 0674 //2ND PERFECT 0675 AddDeclension("i",SINGULAR|_1P|VERB|PERFECT,'2v'); 0676 AddDeclension("imus",PLURAL|_1P|VERB|PERFECT,'2v'); 0677 AddDeclension("iti",SINGULAR|_2P|VERB|PERFECT,'2v'); 0678 AddDeclension("itis",PLURAL|_2P|VERB|PERFECT,'2v'); 0679 AddDeclension("it",SINGULAR|_3P|VERB|PERFECT,'2v'); 0680 AddDeclension("erunt",PLURAL|_3P|VERB|PERFECT,'2v'); 0681 AddDeclension("ere",PLURAL|_3P|VERB|PERFECT,'2v'); 0682 //2ND PLUPERFECT 0683 AddDeclension("eram",SINGULAR|_1P|VERB|PLUPERFECT,'2v'); 0684 AddDeclension("eramus",PLURAL|_1P|VERB|PLUPERFECT,'2v'); 0685 AddDeclension("eras",SINGULAR|_2P|VERB|PLUPERFECT,'2v'); 0686 AddDeclension("eratis",PLURAL|_2P|VERB|PLUPERFECT,'2v'); 0687 AddDeclension("erat",SINGULAR|_3P|VERB|PLUPERFECT,'2v'); 0688 AddDeclension("erant",PLURAL|_3P|VERB|PLUPERFECT,'2v'); 0689 //2ND FUTURE PERFECT 0690 AddDeclension("ero",SINGULAR|_1P|VERB|PERFECT,'2v'); 0691 AddDeclension("erimus",PLURAL|_1P|VERB|PERFECT,'2v'); 0692 AddDeclension("eras",SINGULAR|_2P|VERB|PERFECT,'2v'); 0693 AddDeclension("eratis",PLURAL|_2P|VERB|PERFECT,'2v'); 0694 AddDeclension("erit",SINGULAR|_3P|VERB|PERFECT,'2v'); 0695 AddDeclension("erint",PLURAL|_3P|VERB|PERFECT,'2v'); 0696 //2ND PRESENT PASSIVE 0697 AddDeclension("eor",SINGULAR|_1P|VERB|PRESENT,'2v'); 0698 AddDeclension("emur",PLURAL|_1P|VERB|PRESENT,'2v'); 0699 AddDeclension("eris",SINGULAR|_2P|VERB|PRESENT,'2v'); 0700 AddDeclension("ere",SINGULAR|_2P|VERB|PRESENT,'2v'); 0701 AddDeclension("emini",PLURAL|_2P|VERB|PRESENT,'2v'); 0702 AddDeclension("etur",SINGULAR|_3P|VERB|PRESENT,'2v'); 0703 AddDeclension("entur",PLURAL|_3P|VERB|PRESENT,'2v'); 0704 //2ND IMPERFECT PASSIVE 0705 AddDeclension("ebar",SINGULAR|_1P|VERB|IMPERFECT,'2v'); 0706 AddDeclension("ebamur",PLURAL|_1P|VERB|IMPERFECT,'2v'); 0707 AddDeclension("ebaris",SINGULAR|_2P|VERB|IMPERFECT,'2v'); 0708 AddDeclension("ebare",SINGULAR|_2P|VERB|IMPERFECT,'2v'); 0709 AddDeclension("ebamini",PLURAL|_2P|VERB|IMPERFECT,'2v'); 0710 AddDeclension("ebitur",SINGULAR|_3P|VERB|IMPERFECT,'2v'); 0711 AddDeclension("ebuntur",PLURAL|_3P|VERB|IMPERFECT,'2v'); 0712 //2ND FUTURE PASSIVE 0713 AddDeclension("ebor",SINGULAR|_1P|VERB|FUTURE,'2v'); 0714 AddDeclension("ebimur",PLURAL|_1P|VERB|FUTURE,'2v'); 0715 AddDeclension("eberis",SINGULAR|_2P|VERB|FUTURE,'2v'); 0716 AddDeclension("ebere",SINGULAR|_2P|VERB|FUTURE,'2v'); 0717 AddDeclension("ebimini",PLURAL|_2P|VERB|FUTURE,'2v'); 0718 AddDeclension("ebitur",SINGULAR|_3P|VERB|FUTURE,'2v'); 0719 AddDeclension("ebuntur",PLURAL|_3P|VERB|FUTURE,'2v'); 0720 //2ND IMPERATIVE 0721 AddDeclension("e",IMPERATIVE|_2P|SINGULAR|VERB,'2v'); 0722 AddDeclension("ete",IMPERATIVE|_2P|PLURAL|VERB,'2v'); 0723 AddDeclension("eto",IMPERATIVE|_2P|SINGULAR|VERB|FUTURE,'2v'); 0724 AddDeclension("etote",IMPERATIVE|_2P|PLURAL|VERB|FUTURE,'2v'); 0725 AddDeclension("eto",IMPERATIVE|_3P|SINGULAR|VERB|FUTURE,'2v'); 0726 AddDeclension("ento",IMPERATIVE|_3P|PLURAL|VERB|FUTURE,'2v'); 0727 AddDeclension("ere",IMPERATIVE|_2P|SINGULAR|VERB|SUBJUNCTIVE,'2v'); 0728 AddDeclension("emini",IMPERATIVE|_2P|PLURAL|VERB|SUBJUNCTIVE,'2v'); 0729 AddDeclension("etor",IMPERATIVE|_2P|SINGULAR|VERB|SUBJUNCTIVE|FUTURE,'2v'); 0730 AddDeclension("etor",IMPERATIVE|_3P|SINGULAR|VERB|SUBJUNCTIVE|FUTURE,'2v'); 0731 AddDeclension("entor",IMPERATIVE|_3P|PLURAL|VERB|SUBJUNCTIVE|FUTURE,'2v'); 0732 //2nd INFINITIVE 0733 AddDeclension("ere",INFINITIVE,'2v'); 0734 AddDeclension("isse",INFINITIVE|IMPERFECT,'2v'); 0735 AddDeclension("eri",INFINITIVE|SUBJUNCTIVE,'2v'); 0736 /*//PARTICIPLES This is handled by AddWordByPrincibleParts 0737 AddDeclension("ens",PARTICIPLE,'2v'); 0738 AddDeclension("entis",PARTICIPLE,'2v'); 0739 AddDeclension("urus",PARTICIPLE|FUTURE,'2v'); 0740 AddDeclension("us",PARTICIPLE|SUBJUNCTIVE|PERFECT,'2v'); 0741 */ 0742 //2nd GERIUND 0743 AddDeclension("endi",GERUND|GENITIVE,'2v'); 0744 AddDeclension("endo",GERUND|DATIVE,'2v'); 0745 AddDeclension("endum",GERUND|ACCUSATIVE,'2v'); 0746 AddDeclension("endo",GERUND|ABLATIVE,'2v'); 0747 0748 //2nd SUBJUNCTIVE 0749 AddDeclension("eam",SINGULAR|_1P|VERB|SUBJUNCTIVE,'2v'); 0750 AddDeclension("eamus",PLURAL|_1P|VERB|SUBJUNCTIVE,'2v'); 0751 AddDeclension("eas",SINGULAR|_2P|VERB|SUBJUNCTIVE,'2v'); 0752 AddDeclension("eatis",PLURAL|_2P|VERB|SUBJUNCTIVE,'2v'); 0753 AddDeclension("eat",SINGULAR|_3P|VERB|SUBJUNCTIVE,'2v'); 0754 AddDeclension("eant",PLURAL|_3P|VERB|SUBJUNCTIVE,'2v'); 0755 //3nd conjuation indicative 0756 AddDeclension("o",SINGULAR|_1P|VERB,'3v'); 0757 AddDeclension("imus",PLURAL|_1P|VERB,'3v'); 0758 AddDeclension("is",SINGULAR|_2P|VERB,'3v'); 0759 AddDeclension("itis",PLURAL|_2P|VERB,'3v'); 0760 AddDeclension("it",SINGULAR|_3P|VERB,'3v'); 0761 AddDeclension("unt",PLURAL|_3P|VERB,'3v'); 0762 0763 AddDeclension("ebam",SINGULAR|_1P|VERB|IMPERFECT,'3v'); 0764 AddDeclension("ebamus",PLURAL|_1P|VERB|IMPERFECT,'3v'); 0765 AddDeclension("ebas",SINGULAR|_2P|VERB|IMPERFECT,'3v'); 0766 AddDeclension("ebatis",PLURAL|_2P|VERB|IMPERFECT,'3v'); 0767 AddDeclension("ebat",SINGULAR|_3P|VERB|IMPERFECT,'3v'); 0768 AddDeclension("ebant",PLURAL|_3P|VERB|IMPERFECT,'3v'); 0769 0770 AddDeclension("am",SINGULAR|_1P|VERB|FUTURE,'3v'); 0771 AddDeclension("emus",PLURAL|_1P|VERB|FUTURE,'3v'); 0772 AddDeclension("es",SINGULAR|_2P|VERB|FUTURE,'3v'); 0773 AddDeclension("etis",PLURAL|_2P|VERB|FUTURE,'3v'); 0774 AddDeclension("et",SINGULAR|_3P|VERB|FUTURE,'3v'); 0775 AddDeclension("ent",PLURAL|_3P|VERB|FUTURE,'3v'); 0776 0777 AddDeclension("i",SINGULAR|_1P|VERB|PERFECT,'3v'); 0778 AddDeclension("imus",PLURAL|_1P|VERB|PERFECT,'3v'); 0779 AddDeclension("isti",SINGULAR|_2P|VERB|PERFECT,'3v'); 0780 AddDeclension("istis",PLURAL|_2P|VERB|PERFECT,'3v'); 0781 AddDeclension("it",SINGULAR|_3P|VERB|PERFECT,'3v'); 0782 AddDeclension("erunt",PLURAL|_3P|VERB|PERFECT,'3v'); 0783 AddDeclension("ere",PLURAL|_3P|VERB|PERFECT,'3v'); 0784 0785 AddDeclension("eram",SINGULAR|_1P|VERB|PLUPERFECT,'3v'); 0786 AddDeclension("eremus",PLURAL|_1P|VERB|PLUPERFECT,'3v'); 0787 AddDeclension("eres",SINGULAR|_2P|VERB|PLUPERFECT,'3v'); 0788 AddDeclension("eretis",PLURAL|_2P|VERB|PLUPERFECT,'3v'); 0789 AddDeclension("eret",SINGULAR|_3P|VERB|PLUPERFECT,'3v'); 0790 AddDeclension("erent",PLURAL|_3P|VERB|PLUPERFECT,'3v'); 0791 0792 AddDeclension("am",SINGULAR|_1P|VERB|FUTURE|PERFECT,'3v'); 0793 AddDeclension("emus",PLURAL|_1P|VERB|FUTURE|PERFECT,'3v'); 0794 AddDeclension("es",SINGULAR|_2P|VERB|FUTURE|PERFECT,'3v'); 0795 AddDeclension("etis",PLURAL|_2P|VERB|FUTURE|PERFECT,'3v'); 0796 AddDeclension("et",SINGULAR|_3P|VERB|FUTURE|PERFECT,'3v'); 0797 AddDeclension("ent",PLURAL|_3P|VERB|FUTURE|PERFECT,'3v'); 0798 0799 AddDeclension("or",SINGULAR|_1P|VERB|PASSIVE,'3v'); 0800 AddDeclension("imur",PLURAL|_1P|VERB|PASSIVE,'3v'); 0801 AddDeclension("ire",SINGULAR|_2P|VERB|PASSIVE,'3v'); 0802 AddDeclension("iris",SINGULAR|_2P|VERB|PASSIVE,'3v'); 0803 AddDeclension("imini",PLURAL|_2P|VERB|PASSIVE,'3v'); 0804 AddDeclension("itur",SINGULAR|_3P|VERB|PASSIVE,'3v'); 0805 AddDeclension("untur",PLURAL|_3P|VERB,'3v'); 0806 0807 AddDeclension("ebar",SINGULAR|_1P|VERB|IMPERFECT|PASSIVE,'3v'); 0808 AddDeclension("ebamur",PLURAL|_1P|VERB|IMPERFECT|PASSIVE,'3v'); 0809 AddDeclension("ebaris",SINGULAR|_2P|VERB|IMPERFECT|PASSIVE,'3v'); 0810 AddDeclension("ebare",SINGULAR|_2P|VERB|IMPERFECT|PASSIVE,'3v'); 0811 AddDeclension("ebamini",PLURAL|_2P|VERB|IMPERFECT|PASSIVE,'3v'); 0812 AddDeclension("ebatur",SINGULAR|_3P|VERB|IMPERFECT|PASSIVE,'3v'); 0813 AddDeclension("ebantur",PLURAL|_3P|VERB|IMPERFECT|PASSIVE,'3v'); 0814 0815 AddDeclension("ar",SINGULAR|_1P|VERB|FUTURE|PASSIVE,'3v'); 0816 AddDeclension("emur",PLURAL|_1P|VERB|FUTURE|PASSIVE,'3v'); 0817 AddDeclension("eris",SINGULAR|_2P|VERB|FUTURE|PASSIVE,'3v'); 0818 AddDeclension("emini",PLURAL|_2P|VERB|FUTURE|PASSIVE,'3v'); 0819 AddDeclension("etur",SINGULAR|_3P|VERB|FUTURE|PASSIVE,'3v'); 0820 AddDeclension("entur",PLURAL|_3P|VERB|FUTURE|PASSIVE,'3v'); 0821 //3rd subjunctive 0822 AddDeclension("am",SINGULAR|_1P|VERB|SUBJUNCTIVE,'3v'); 0823 AddDeclension("amus",PLURAL|_1P|VERB|SUBJUNCTIVE,'3v'); 0824 AddDeclension("as",SINGULAR|_2P|VERB|SUBJUNCTIVE,'3v'); 0825 AddDeclension("atis",PLURAL|_2P|VERB|SUBJUNCTIVE,'3v'); 0826 AddDeclension("at",SINGULAR|_3P|VERB|SUBJUNCTIVE,'3v'); 0827 AddDeclension("ant",PLURAL|_3P|VERB|SUBJUNCTIVE,'3v'); 0828 0829 AddDeclension("erem",SINGULAR|_1P|VERB||SUBJUNCTIVE|IMPERFECT,'3v'); 0830 AddDeclension("ereimus",PLURAL|_1P|VERB||SUBJUNCTIVE|IMPERFECT,'3v'); 0831 AddDeclension("eres",SINGULAR|_2P|VERB||SUBJUNCTIVE|IMPERFECT,'3v'); 0832 AddDeclension("eretis",PLURAL|_2P|VERB||SUBJUNCTIVE|IMPERFECT,'3v'); 0833 AddDeclension("eret",SINGULAR|_3P|VERB||SUBJUNCTIVE|IMPERFECT,'3v'); 0834 AddDeclension("erent",PLURAL|_3P|VERB||SUBJUNCTIVE|IMPERFECT,'3v'); 0835 0836 AddDeclension("erim",SINGULAR|_1P|VERB||SUBJUNCTIVE|PERFECT,'3v'); 0837 AddDeclension("erimus",PLURAL|_1P|VERB||SUBJUNCTIVE|PERFECT,'3v'); 0838 AddDeclension("eris",SINGULAR|_2P|VERB||SUBJUNCTIVE|PERFECT,'3v'); 0839 AddDeclension("eritis",PLURAL|_2P|VERB||SUBJUNCTIVE|PERFECT,'3v'); 0840 AddDeclension("erit",SINGULAR|_3P|VERB||SUBJUNCTIVE|PERFECT,'3v'); 0841 AddDeclension("erint",PLURAL|_3P|VERB||SUBJUNCTIVE|PERFECT,'3v'); 0842 0843 AddDeclension("issem",SINGULAR|_1P|VERB||SUBJUNCTIVE|PLUPERFECT,'3v'); 0844 AddDeclension("issemus",PLURAL|_1P|VERB||SUBJUNCTIVE|PLUPERFECT,'3v'); 0845 AddDeclension("isses",SINGULAR|_2P|VERB||SUBJUNCTIVE|PLUPERFECT,'3v'); 0846 AddDeclension("issetis",PLURAL|_2P|VERB||SUBJUNCTIVE|PLUPERFECT,'3v'); 0847 AddDeclension("erit",SINGULAR|_3P|VERB||SUBJUNCTIVE|PLUPERFECT,'3v'); 0848 AddDeclension("erint",PLURAL|_3P|VERB||SUBJUNCTIVE|PLUPERFECT,'3v'); 0849 //3rd Passives 0850 AddDeclension("ar",SINGULAR|_1P|VERB|SUBJUNCTIVE|PASSIVE,'3v'); 0851 AddDeclension("amur",PLURAL|_1P|VERB|SUBJUNCTIVE|PASSIVE,'3v'); 0852 AddDeclension("aris",SINGULAR|_2P|VERB|SUBJUNCTIVE|PASSIVE,'3v'); 0853 AddDeclension("are",SINGULAR|_2P|VERB|SUBJUNCTIVE|PASSIVE,'3v'); 0854 AddDeclension("amini",PLURAL|_2P|VERB|SUBJUNCTIVE|PASSIVE,'3v'); 0855 AddDeclension("atur",SINGULAR|_3P|VERB|SUBJUNCTIVE|PASSIVE,'3v'); 0856 AddDeclension("antur",PLURAL|_3P|VERB|SUBJUNCTIVE|PASSIVE,'3v'); 0857 0858 AddDeclension("erer",SINGULAR|_1P|VERB||SUBJUNCTIVE|IMPERFECT|PASSIVE,'3v'); 0859 AddDeclension("eremus",PLURAL|_1P|VERB||SUBJUNCTIVE|IMPERFECT|PASSIVE,'3v'); 0860 AddDeclension("ereris",SINGULAR|_2P|VERB||SUBJUNCTIVE|IMPERFECT|PASSIVE,'3v'); 0861 AddDeclension("erere",SINGULAR|_2P|VERB||SUBJUNCTIVE|IMPERFECT|PASSIVE,'3v'); 0862 AddDeclension("eretis",PLURAL|_2P|VERB||SUBJUNCTIVE|IMPERFECT|PASSIVE,'3v'); 0863 AddDeclension("eret",SINGULAR|_3P|VERB||SUBJUNCTIVE|IMPERFECT|PASSIVE,'3v'); 0864 AddDeclension("erent",PLURAL|_3P|VERB||SUBJUNCTIVE|IMPERFECT|PASSIVE,'3v'); 0865 //3rd Imperatives 0866 AddDeclension("e",SINGULAR|_2P|VERB|IMPERATIVE,'3v'); 0867 AddDeclension("ite",PLURAL|_2P|VERB|IMPERATIVE,'3v'); 0868 AddDeclension("ito",SINGULAR|_2P|VERB|IMPERATIVE|FUTURE,'3v'); 0869 AddDeclension("itote",PLURAL|_2P|VERB|IMPERATIVE|FUTURE,'3v'); 0870 AddDeclension("ito",SINGULAR|_3P|VERB|IMPERATIVE|FUTURE,'3v'); 0871 AddDeclension("unto",PLURAL|_3P|VERB|IMPERATIVE|FUTURE,'3v'); 0872 0873 AddDeclension("ere",SINGULAR|_2P|VERB|IMPERATIVE|PASSIVE,'3v'); 0874 AddDeclension("imini",PLURAL|_2P|VERB|IMPERATIVE|PASSIVE,'3v'); 0875 AddDeclension("itor",SINGULAR|_2P|VERB|IMPERATIVE|FUTURE|PASSIVE,'3v'); 0876 AddDeclension("itor",SINGULAR|_3P|VERB|IMPERATIVE|FUTURE|PASSIVE,'3v'); 0877 AddDeclension("untor",PLURAL|_3P|VERB|IMPERATIVE|FUTURE|PASSIVE,'3v'); 0878 //Infintives 0879 AddDeclension("ere",INFINITIVE,'3v'); 0880 AddDeclension("isse",INFINITIVE|PERFECT,'3v'); 0881 AddDeclension("regi",INFINITIVE|PASSIVE,'3v'); 0882 //This is handled by AddWordByPrincibleParts 0883 /* 0884 //Participles 0885 AddDeclension("ens",PARTICIPLE,'3v'); 0886 AddDeclension("entis",PARTICIPLE,'3v'); 0887 AddDeclension("urus",PARTICIPLE|FUTURE,'3v'); 0888 */ 0889 //3rd gerunds 0890 AddDeclension("endi",GERUND|GENITIVE,'3v'); 0891 AddDeclension("endo",GERUND|DATIVE,'3v'); 0892 AddDeclension("endum",GERUND|ACCUSATIVE,'3v'); 0893 AddDeclension("endo",GERUND|ABLATIVE,'3v'); 0894 0895 0896 //3rd io 0897 AddDeclension("io",SINGULAR|_1P|VERB,'3iov'); 0898 AddDeclension("imus",PLURAL|_1P|VERB,'3iov'); 0899 AddDeclension("is",SINGULAR|_2P|VERB,'3iov'); 0900 AddDeclension("itis",PLURAL|_2P|VERB,'3iov'); 0901 AddDeclension("it",SINGULAR|_3P|VERB,'3iov'); 0902 AddDeclension("iunt",PLURAL|_3P|VERB,'3iov'); 0903 AddDeclension("ior",SINGULAR|_1P|VERB|PASSIVE,'3iov'); 0904 AddDeclension("imur",PLURAL|_1P|VERB|PASSIVE,'3iov'); 0905 AddDeclension("iris",SINGULAR|_2P|VERB|PASSIVE,'3iov'); 0906 AddDeclension("ire",SINGULAR|_2P|VERB|PASSIVE,'3iov'); 0907 AddDeclension("imini",PLURAL|_2P|VERB|PASSIVE,'3iov'); 0908 AddDeclension("itur",SINGULAR|_3P|VERB|PASSIVE,'3iov'); 0909 AddDeclension("iuntur",PLURAL|_3P|VERB|PASSIVE,'3iov'); 0910 0911 AddDeclension("iebam",SINGULAR|_1P|VERB|IMPERFECT,'3iov'); 0912 AddDeclension("iebamus",PLURAL|_1P|VERB|IMPERFECT,'3iov'); 0913 AddDeclension("iebas",SINGULAR|_2P|VERB|IMPERFECT,'3iov'); 0914 AddDeclension("iebatis",PLURAL|_2P|VERB|IMPERFECT,'3iov'); 0915 AddDeclension("iebat",SINGULAR|_3P|VERB|IMPERFECT,'3iov'); 0916 AddDeclension("iebant",PLURAL|_3P|VERB|IMPERFECT,'3iov'); 0917 AddDeclension("iebar",SINGULAR|_1P|VERB|PASSIVE|IMPERFECT,'3iov'); 0918 AddDeclension("iebammur",PLURAL|_1P|VERB|PASSIVE|IMPERFECT,'3iov'); 0919 AddDeclension("iebaris",SINGULAR|_2P|VERB|PASSIVE|IMPERFECT,'3iov'); 0920 AddDeclension("iebare",SINGULAR|_2P|VERB|PASSIVE|IMPERFECT,'3iov'); 0921 AddDeclension("iebamini",PLURAL|_2P|VERB|PASSIVE|IMPERFECT,'3iov'); 0922 AddDeclension("iebatur",SINGULAR|_3P|VERB|PASSIVE|IMPERFECT,'3iov'); 0923 AddDeclension("iebantur",PLURAL|_3P|VERB|PASSIVE|IMPERFECT,'3iov'); 0924 0925 AddDeclension("iam",SINGULAR|_1P|VERB|FUTURE,'3iov'); 0926 AddDeclension("iemus",PLURAL|_1P|VERB|FUTURE,'3iov'); 0927 AddDeclension("ies",SINGULAR|_2P|VERB|FUTURE,'3iov'); 0928 AddDeclension("ietis",PLURAL|_2P|VERB|FUTURE,'3iov'); 0929 AddDeclension("iet",SINGULAR|_3P|VERB|FUTURE,'3iov'); 0930 AddDeclension("ient",PLURAL|_3P|VERB|FUTURE,'3iov'); 0931 AddDeclension("ier",SINGULAR|_1P|VERB|PASSIVE|FUTURE,'3iov'); 0932 AddDeclension("iemur",PLURAL|_1P|VERB|PASSIVE|FUTURE,'3iov'); 0933 AddDeclension("ieris",SINGULAR|_2P|VERB|PASSIVE|FUTURE,'3iov'); 0934 AddDeclension("iere",SINGULAR|_2P|VERB|PASSIVE|FUTURE,'3iov'); 0935 AddDeclension("iemini",PLURAL|_2P|VERB|PASSIVE|FUTURE,'3iov'); 0936 AddDeclension("ietur",SINGULAR|_3P|VERB|PASSIVE|FUTURE,'3iov'); 0937 AddDeclension("ientur",PLURAL|_3P|VERB|PASSIVE|FUTURE,'3iov'); 0938 0939 AddDeclension("i",SINGULAR|_1P|VERB|PERFECT,'3iov'); 0940 AddDeclension("imus",PLURAL|_1P|VERB|PERFECT,'3iov'); 0941 AddDeclension("isti",SINGULAR|_2P|VERB|PERFECT,'3iov'); 0942 AddDeclension("istis",PLURAL|_2P|VERB|PERFECT,'3iov'); 0943 AddDeclension("it",SINGULAR|_3P|VERB|PERFECT,'3iov'); 0944 AddDeclension("erunt",PLURAL|_3P|VERB|PERFECT,'3iov'); 0945 AddDeclension("ere",PLURAL|_3P|VERB|PERFECT,'3iov'); 0946 0947 AddDeclension("eram",SINGULAR|_1P|VERB|PLUPERFECT,'3iov'); 0948 AddDeclension("eramus",PLURAL|_1P|VERB|PLUPERFECT,'3iov'); 0949 AddDeclension("eras",SINGULAR|_2P|VERB|PLUPERFECT,'3iov'); 0950 AddDeclension("eratis",PLURAL|_2P|VERB|PLUPERFECT,'3iov'); 0951 AddDeclension("erat",SINGULAR|_3P|VERB|PLUPERFECT,'3iov'); 0952 AddDeclension("erant",PLURAL|_3P|VERB|PLUPERFECT,'3iov'); 0953 0954 AddDeclension("ero",SINGULAR|_1P|VERB|FUTURE|PERFECT,'3iov'); 0955 AddDeclension("erimus",PLURAL|_1P|VERB|FUTURE|PERFECT,'3iov'); 0956 AddDeclension("eris",SINGULAR|_2P|VERB|FUTURE|PERFECT,'3iov'); 0957 AddDeclension("eritis",PLURAL|_2P|VERB|FUTURE|PERFECT,'3iov'); 0958 AddDeclension("erit",SINGULAR|_3P|VERB|FUTURE|PERFECT,'3iov'); 0959 AddDeclension("erint",PLURAL|_3P|VERB|FUTURE|PERFECT,'3iov'); 0960 //3io Sunjucntives 0961 AddDeclension("iam",SINGULAR|_1P|VERB|SUBJUNCTIVE,'3iov'); 0962 AddDeclension("iamus",PLURAL|_1P|VERB|SUBJUNCTIVE,'3iov'); 0963 AddDeclension("ias",SINGULAR|_2P|VERB|SUBJUNCTIVE,'3iov'); 0964 AddDeclension("iatis",PLURAL|_2P|VERB|SUBJUNCTIVE,'3iov'); 0965 AddDeclension("iat",SINGULAR|_3P|VERB|SUBJUNCTIVE,'3iov'); 0966 AddDeclension("iant",PLURAL|_3P|VERB|SUBJUNCTIVE|SUBJUNCTIVE,'3iov'); 0967 AddDeclension("iar",SINGULAR|_1P|VERB|PASSIVE|SUBJUNCTIVE,'3iov'); 0968 AddDeclension("iamur",PLURAL|_1P|VERB|PASSIVE|SUBJUNCTIVE,'3iov'); 0969 AddDeclension("iaris",SINGULAR|_2P|VERB|PASSIVE|SUBJUNCTIVE,'3iov'); 0970 AddDeclension("iare",SINGULAR|_2P|VERB|PASSIVE|SUBJUNCTIVE,'3iov'); 0971 AddDeclension("iamini",PLURAL|_2P|VERB|PASSIVE|SUBJUNCTIVE,'3iov'); 0972 AddDeclension("iatur",SINGULAR|_3P|VERB|PASSIVE|SUBJUNCTIVE,'3iov'); 0973 AddDeclension("iantur",PLURAL|_3P|VERB|PASSIVE|SUBJUNCTIVE,'3iov'); 0974 0975 AddDeclension("erem",SINGULAR|_1P|VERB|IMPERFECT|SUBJUNCTIVE,'3iov'); 0976 AddDeclension("eremus",PLURAL|_1P|VERB|IMPERFECT|SUBJUNCTIVE,'3iov'); 0977 AddDeclension("eres",SINGULAR|_2P|VERB|IMPERFECT|SUBJUNCTIVE,'3iov'); 0978 AddDeclension("eretis",PLURAL|_2P|VERB|IMPERFECT|SUBJUNCTIVE,'3iov'); 0979 AddDeclension("eret",SINGULAR|_3P|VERB|IMPERFECT|SUBJUNCTIVE,'3iov'); 0980 AddDeclension("erent",PLURAL|_3P|VERB|IMPERFECT|SUBJUNCTIVE,'3iov'); 0981 AddDeclension("erer",SINGULAR|_1P|VERB|PASSIVE|IMPERFECT|SUBJUNCTIVE,'3iov'); 0982 AddDeclension("eremur",PLURAL|_1P|VERB|PASSIVE|IMPERFECT|SUBJUNCTIVE,'3iov'); 0983 AddDeclension("ereris",SINGULAR|_2P|VERB|PASSIVE|IMPERFECT|SUBJUNCTIVE,'3iov'); 0984 AddDeclension("erere",SINGULAR|_2P|VERB|PASSIVE|IMPERFECT|SUBJUNCTIVE,'3iov'); 0985 AddDeclension("eremini",PLURAL|_2P|VERB|PASSIVE|IMPERFECT|SUBJUNCTIVE,'3iov'); 0986 AddDeclension("eretur",SINGULAR|_3P|VERB|PASSIVE|IMPERFECT|SUBJUNCTIVE,'3iov'); 0987 AddDeclension("erentur",PLURAL|_3P|VERB|PASSIVE|IMPERFECT|SUBJUNCTIVE,'3iov'); 0988 0989 AddDeclension("erim",SINGULAR|_1P|VERB|PERFECT|SUBJUNCTIVE,'3iov'); 0990 AddDeclension("erimus",PLURAL|_1P|VERB|PERFECT|SUBJUNCTIVE,'3iov'); 0991 AddDeclension("eristi",SINGULAR|_2P|VERB|PERFECT|SUBJUNCTIVE,'3iov'); 0992 AddDeclension("eristis",PLURAL|_2P|VERB|PERFECT|SUBJUNCTIVE,'3iov'); 0993 AddDeclension("erit",SINGULAR|_3P|VERB|PERFECT|SUBJUNCTIVE,'3iov'); 0994 AddDeclension("erint",PLURAL|_3P|VERB|PERFECT|SUBJUNCTIVE,'3iov'); 0995 0996 AddDeclension("issem",SINGULAR|_1P|VERB|PLUPERFECT|SUBJUNCTIVE,'3iov'); 0997 AddDeclension("issemus",PLURAL|_1P|VERB|PLUPERFECT|SUBJUNCTIVE,'3iov'); 0998 AddDeclension("eris",SINGULAR|_2P|VERB|PLUPERFECT|SUBJUNCTIVE,'3iov'); 0999 AddDeclension("eritis",PLURAL|_2P|VERB|PLUPERFECT|SUBJUNCTIVE,'3iov'); 1000 AddDeclension("isset",SINGULAR|_3P|VERB|PLUPERFECT|SUBJUNCTIVE,'3iov'); 1001 AddDeclension("issent",PLURAL|_3P|VERB|PLUPERFECT|SUBJUNCTIVE,'3iov'); 1002 //3io imperative 1003 AddDeclension("e",SINGULAR|_2P|VERB|IMPERATIVE,'3iov'); 1004 AddDeclension("ite",PLURAL|_2P|VERB|IMPERATIVE,'3iov'); 1005 AddDeclension("ere",SINGULAR|_2P|VERB|IMPERATIVE|PASSIVE,'3iov'); 1006 AddDeclension("imini",PLURAL|_2P|VERB|IMPERATIVE|PASSIVE,'3iov'); 1007 1008 AddDeclension("ito",SINGULAR|_2P|VERB|IMPERATIVE|FUTURE,'3iov'); 1009 AddDeclension("itote",PLURAL|_2P|VERB|IMPERATIVE|FUTURE,'3iov'); 1010 AddDeclension("itor",SINGULAR|_2P|VERB|IMPERATIVE|PASSIVE|FUTURE,'3iov'); 1011 AddDeclension("ito",SINGULAR|_3P|VERB|IMPERATIVE|FUTURE,'3iov'); 1012 AddDeclension("itunto",PLURAL|_3P|VERB|IMPERATIVE|FUTURE,'3iov'); 1013 AddDeclension("itor",SINGULAR|_3P|VERB|IMPERATIVE|PASSIVE|FUTURE,'3iov'); 1014 AddDeclension("iuntor",PLURAL|_3P|VERB|IMPERATIVE|FUTURE|PASSIVE,'3iov'); 1015 //3io infintiives 1016 AddDeclension("ere",INFINITIVE,'3iov'); 1017 AddDeclension("i",INFINITIVE|PASSIVE,'3iov'); 1018 AddDeclension("isse",INFINITIVE|PERFECT,'3iov'); 1019 //This is handled by AddWordByPrincibleParts 1020 /* 1021 //3io Participles 1022 AddDeclension("iens",PARTICIPLE,'3iov'); 1023 AddDeclension("entis",PARTICIPLE,'3iov'); 1024 AddDeclension("urus",PARTICIPLE|FUTURE,'3iov'); 1025 AddDeclension("us",PARTICIPLE|PERFECT|PASSIVE,'3iov'); 1026 AddDeclension("iendus",PARTICIPLE|FUTURE|PASSIVE,'3iov'); 1027 */ 1028 //3io gerunds 1029 AddDeclension("endi",GERUND|GENITIVE,'3iov'); 1030 AddDeclension("endo",GERUND|DATIVE,'3iov'); 1031 AddDeclension("endum",GERUND|ACCUSATIVE,'3iov'); 1032 AddDeclension("endo",GERUND|ABLATIVE,'3iov'); 1033 //Adfjectives 1034 AddDeclension("",ADJECTIVE|SINGULAR|MASCULINE|NOMITIVE,'adj12'); 1035 AddDeclension("us",ADJECTIVE|SINGULAR|MASCULINE|NOMITIVE,'adj12'); 1036 AddDeclension("i",ADJECTIVE|PLURAL|MASCULINE|NOMITIVE,'adj12'); 1037 AddDeclension("i",ADJECTIVE|SINGULAR|GENITIVE|MASCULINE,'adj12'); 1038 AddDeclension("orum",ADJECTIVE|PLURAL|GENITIVE|MASCULINE,'adj12'); 1039 AddDeclension("o",ADJECTIVE|SINGULAR|DATIVE|MASCULINE,'adj12'); 1040 AddDeclension("is",ADJECTIVE|PLURAL|DATIVE|MASCULINE,'adj12'); 1041 AddDeclension("um",ADJECTIVE|SINGULAR|ACCUSATIVE|MASCULINE,'adj12'); 1042 AddDeclension("os",ADJECTIVE|PLURAL|ACCUSATIVE|MASCULINE,'adj12'); 1043 AddDeclension("o",ADJECTIVE|SINGULAR|ABLATIVE|MASCULINE,'adj12'); 1044 AddDeclension("is",ADJECTIVE|PLURAL|ABLATIVE|MASCULINE,'adj12'); 1045 1046 AddDeclension("a",ADJECTIVE|SINGULAR|FEMININE|NOMITIVE,'adj12'); 1047 AddDeclension("ae",ADJECTIVE|PLURAL|FEMININE|NOMITIVE,'adj12'); 1048 AddDeclension("ae",ADJECTIVE|SINGULAR|GENITIVE|FEMININE,'adj12'); 1049 AddDeclension("arum",ADJECTIVE|PLURAL|GENITIVE|FEMININE,'adj12'); 1050 AddDeclension("ae",ADJECTIVE|SINGULAR|DATIVE|FEMININE,'adj12'); 1051 AddDeclension("is",ADJECTIVE|PLURAL|DATIVE|FEMININE,'adj12'); 1052 AddDeclension("am",ADJECTIVE|SINGULAR|ACCUSATIVE|FEMININE,'adj12'); 1053 AddDeclension("as",ADJECTIVE|PLURAL|ACCUSATIVE|FEMININE,'adj12'); 1054 AddDeclension("a",ADJECTIVE|SINGULAR|ABLATIVE|FEMININE,'adj12'); 1055 AddDeclension("is",ADJECTIVE|PLURAL|ABLATIVE|FEMININE,'adj12'); 1056 1057 AddDeclension("um",ADJECTIVE|SINGULAR|NEUTER|NOMITIVE,'adj12'); 1058 AddDeclension("a",ADJECTIVE|PLURAL|NEUTER|NOMITIVE,'adj12'); 1059 AddDeclension("i",ADJECTIVE|SINGULAR|GENITIVE|NEUTER,'adj12'); 1060 AddDeclension("orum",ADJECTIVE|PLURAL|GENITIVE|NEUTER,'adj12'); 1061 AddDeclension("o",ADJECTIVE|SINGULAR|DATIVE|NEUTER,'adj12'); 1062 AddDeclension("is",ADJECTIVE|PLURAL|DATIVE|NEUTER,'adj12'); 1063 AddDeclension("um",ADJECTIVE|SINGULAR|ACCUSATIVE|NEUTER,'adj12'); 1064 AddDeclension("a",ADJECTIVE|PLURAL|ACCUSATIVE|NEUTER,'adj12'); 1065 AddDeclension("o",ADJECTIVE|SINGULAR|ABLATIVE|NEUTER,'adj12'); 1066 AddDeclension("is",ADJECTIVE|PLURAL|ABLATIVE|NEUTER,'adj12'); 1067 //Adjectives third delcension 1068 //Adverbs can be made with 3rd declension adjectives 1069 //TODO make it find the difference between "iter" and "er"(when stem ending with "nt") 1070 AddDeclension("iter",ADVERB|NEUTER,'adj3'); 1071 AddDeclension("er",ADVERB|NEUTER,'adj3'); 1072 AddDeclension("iter",ADJECTIVE|NEUTER,'adj3'); 1073 AddDeclension("er",ADJECTIVE|NEUTER,'adj3'); 1074 //4th conujation 1075 AddDeclension("io",SINGULAR|_1P|VERB,'4v'); 1076 AddDeclension("imus",PLURAL|_1P|VERB,'4v'); 1077 AddDeclension("is",SINGULAR|_2P|VERB,'4v'); 1078 AddDeclension("itis",PLURAL|_2P|VERB,'4v'); 1079 AddDeclension("it",SINGULAR|_3P|VERB,'4v'); 1080 AddDeclension("iunt",PLURAL|_3P|VERB,'4v'); 1081 1082 AddDeclension("ior",PASSIVE|SINGULAR|_1P|VERB,'4v'); 1083 AddDeclension("imur",PASSIVE|PLURAL|_1P|VERB,'4v'); 1084 AddDeclension("iris",PASSIVE|SINGULAR|_2P|VERB,'4v'); 1085 AddDeclension("ire",PASSIVE|SINGULAR|_2P|VERB,'4v'); 1086 AddDeclension("imini",PASSIVE|PLURAL|_2P|VERB,'4v'); 1087 AddDeclension("itur",PASSIVE|SINGULAR|_3P|VERB,'4v'); 1088 AddDeclension("iuntur",PASSIVE|PLURAL|_3P|VERB,'4v'); 1089 1090 AddDeclension("iebam",IMPERFECT|SINGULAR|_1P|VERB,'4v'); 1091 AddDeclension("ibamus",IMPERFECT|PLURAL|_1P|VERB,'4v'); 1092 AddDeclension("iebas",IMPERFECT|SINGULAR|_2P|VERB,'4v'); 1093 AddDeclension("iebatis",IMPERFECT|PLURAL|_2P|VERB,'4v'); 1094 AddDeclension("iet",IMPERFECT|SINGULAR|_3P|VERB,'4v'); 1095 AddDeclension("ient",IMPERFECT|PLURAL|_3P|VERB,'4v'); 1096 1097 AddDeclension("iebar",IMPERFECT|PASSIVE|SINGULAR|_1P|VERB,'4v'); 1098 AddDeclension("iebarmur",IMPERFECT|PASSIVE|PLURAL|_1P|VERB,'4v'); 1099 AddDeclension("iebaris",IMPERFECT|PASSIVE|SINGULAR|_2P|VERB,'4v'); 1100 AddDeclension("iebare",IMPERFECT|PASSIVE|SINGULAR|_2P|VERB,'4v'); 1101 AddDeclension("iebamini",IMPERFECT|PASSIVE|PLURAL|_2P|VERB,'4v'); 1102 AddDeclension("iebatur",IMPERFECT|PASSIVE|SINGULAR|_3P|VERB,'4v'); 1103 AddDeclension("iebantur",IMPERFECT|PASSIVE|PLURAL|_3P|VERB,'4v'); 1104 1105 AddDeclension("iam",FUTURE|SINGULAR|_1P|VERB,'4v'); 1106 AddDeclension("iemus",FUTURE|PLURAL|_1P|VERB,'4v'); 1107 AddDeclension("ies",FUTURE|SINGULAR|_2P|VERB,'4v'); 1108 AddDeclension("ietis",FUTURE|PLURAL|_2P|VERB,'4v'); 1109 AddDeclension("iet",FUTURE|SINGULAR|_3P|VERB,'4v'); 1110 AddDeclension("ient",FUTURE|PLURAL|_3P|VERB,'4v'); 1111 1112 AddDeclension("iar",FUTURE|PASSIVE|SINGULAR|_1P|VERB,'4v'); 1113 AddDeclension("iemur",FUTURE|PASSIVE|PLURAL|_1P|VERB,'4v'); 1114 AddDeclension("ieris",FUTURE|PASSIVE|SINGULAR|_2P|VERB,'4v'); 1115 AddDeclension("iere",FUTURE|PASSIVE|SINGULAR|_2P|VERB,'4v'); 1116 AddDeclension("iemini",FUTURE|PASSIVE|PLURAL|_2P|VERB,'4v'); 1117 AddDeclension("ietur",FUTURE|PASSIVE|SINGULAR|_3P|VERB,'4v'); 1118 AddDeclension("ientur",FUTURE|PASSIVE|PLURAL|_3P|VERB,'4v'); 1119 1120 AddDeclension("i",PERFECT|SINGULAR|_1P|VERB,'4v'); 1121 AddDeclension("imus",PERFECT|PLURAL|_1P|VERB,'4v'); 1122 AddDeclension("isti",PERFECT|SINGULAR|_2P|VERB,'4v'); 1123 AddDeclension("istis",PERFECT|PLURAL|_2P|VERB,'4v'); 1124 AddDeclension("it",PERFECT|SINGULAR|_3P|VERB,'4v'); 1125 AddDeclension("irunt",PERFECT|PLURAL|_3P|VERB,'4v'); 1126 AddDeclension("ire",PERFECT|PLURAL|_3P|VERB,'4v'); 1127 1128 AddDeclension("eram",PLUPERFECT|SINGULAR|_1P|VERB,'4v'); 1129 AddDeclension("eramus",PLUPERFECT|PLURAL|_1P|VERB,'4v'); 1130 AddDeclension("eras",PLUPERFECT|SINGULAR|_2P|VERB,'4v'); 1131 AddDeclension("eratis",PLUPERFECT|PLURAL|_2P|VERB,'4v'); 1132 AddDeclension("erat",PLUPERFECT|SINGULAR|_3P|VERB,'4v'); 1133 AddDeclension("erant",PLUPERFECT|PLURAL|_3P|VERB,'4v'); 1134 1135 AddDeclension("ero",FUTURE|PERFECT|SINGULAR|_1P|VERB,'4v'); 1136 AddDeclension("erimus",FUTURE|PERFECT|PLURAL|_1P|VERB,'4v'); 1137 AddDeclension("eris",FUTURE|PERFECT|SINGULAR|_2P|VERB,'4v'); 1138 AddDeclension("eritis",FUTURE|PERFECT|PLURAL|_2P|VERB,'4v'); 1139 AddDeclension("erit",FUTURE|PERFECT|SINGULAR|_3P|VERB,'4v'); 1140 AddDeclension("erint",FUTURE|PERFECT|PLURAL|_3P|VERB,'4v'); 1141 1142 AddDeclension("ire",INFINITIVE,'4v'); 1143 AddDeclension("iri",INFINITIVE|PASSIVE,'4v'); 1144 AddDeclension("isse",INFINITIVE|PERFECT,'4v'); 1145 1146 AddDeclension("iendi",GERUND|GENITIVE,'4v'); 1147 AddDeclension("iendo",GERUND|DATIVE,'4v'); 1148 AddDeclension("iendum",GERUND|ACCUSATIVE,'4v'); 1149 AddDeclension("iendo",GERUND|ABLATIVE,'4v'); 1150 1151 } 1152 InitLatin; 1153 U0 InitDict() { 1154 AddWordByPrincibleParts("Christ",NOUN,"Christum","Christi"); 1155 AddWordByPrincibleParts("Mathew",NOUN,"Matheum","Mathei"); 1156 AddWordByPrincibleParts("Shapes",NOUN,"foramentum","formamenti"); 1157 AddWordByPrincibleParts("one",ADJECTIVE,"unus","una"); //One 1158 AddWordByPrincibleParts("two",ADJECTIVE,"duo","duorem"); //Two 1159 AddWordByPrincibleParts("three",ADJECTIVE,"tres","trium"); //Three 1160 TrieAdd("ad",PREPOSITION,"towards"); //Towards 1161 TrieAdd("et",CONJUNCTION,"and"); 1162 TrieAdd("atque",CONJUNCTION,"also"); 1163 TrieAdd("ac",CONJUNCTION,"also"); 1164 TrieAdd("etiam",CONJUNCTION,"also"); 1165 //Also 1166 TrieAdd("atque",CONJUNCTION,"also"); 1167 TrieAdd("quoque",CONJUNCTION,"also"); 1168 //or thing or other 1169 TrieAdd("aut",CONJUNCTION,"or"); 1170 //but 1171 TrieAdd("sed",CONJUNCTION,"but"); 1172 TrieAdd("autem",CONJUNCTION,"but"); 1173 TrieAdd("verum",CONJUNCTION,"but"); 1174 //However 1175 TrieAdd("tamen",CONJUNCTION,"however"); 1176 //For 1177 TrieAdd("name",CONJUNCTION,"for"); 1178 TrieAdd("enim",CONJUNCTION,"enim"); 1179 //Therefore 1180 TrieAdd("ergo",CONJUNCTION,"therefore"); 1181 TrieAdd("igitur",CONJUNCTION,"therefore"); 1182 TrieAdd("itaque",ADVERB|INDECLINABLE,"therefore"); 1183 //Pronouns 1st person 1184 TrieAdd("ego",NOMITIVE|PRONOUN|_1P|SINGULAR,"I"); 1185 TrieAdd("nos",NOMITIVE|PRONOUN|_1P|PLURAL,"we/us"); 1186 TrieAdd("mei",GENITIVE|PRONOUN|_1P|SINGULAR,"my"); 1187 TrieAdd("nostrum",GENITIVE|PRONOUN|_1P|PLURAL,"ours"); 1188 TrieAdd("mihi",DATIVE|PRONOUN|_1P|SINGULAR,"my"); 1189 TrieAdd("nobis",DATIVE|PRONOUN|_1P|PLURAL,"ours"); 1190 TrieAdd("me",ACCUSATIVE|PRONOUN|_1P|SINGULAR,"me"); 1191 TrieAdd("nos",ACCUSATIVE|PRONOUN|_1P|PLURAL,"we/us"); 1192 TrieAdd("me",ABLATIVE|PRONOUN|_1P|SINGULAR,"my"); 1193 TrieAdd("nobis",ABLATIVE|PRONOUN|_1P|PLURAL,"we/us"); 1194 //Pronoubns 2nd persionb 1195 TrieAdd("tu",NOMITIVE|PRONOUN|_2P|SINGULAR,"you"); 1196 TrieAdd("vos",NOMITIVE|PRONOUN|_2P|PLURAL,"yours"); 1197 TrieAdd("tui",GENITIVE|PRONOUN|_2P|SINGULAR,"your"); 1198 TrieAdd("vestrum",GENITIVE|PRONOUN|_2P|PLURAL,"yours"); 1199 TrieAdd("tibi",DATIVE|PRONOUN|_2P|SINGULAR,"to you"); 1200 TrieAdd("vobis",DATIVE|PRONOUN|_2P|PLURAL,"yours"); 1201 TrieAdd("te",ACCUSATIVE|PRONOUN|_2P|SINGULAR,"you"); 1202 TrieAdd("vos",ACCUSATIVE|PRONOUN|_2P|PLURAL,"you"); 1203 TrieAdd("te",ABLATIVE|PRONOUN|_2P|SINGULAR,"you"); 1204 TrieAdd("vobis",ABLATIVE|PRONOUN|_2P|PLURAL,"you"); 1205 //Pronouns demonstatrtive 1206 TrieAdd("hic",NOMITIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|ADJECTIVE,"this"); 1207 TrieAdd("haec",NOMITIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|ADJECTIVE,"this"); 1208 TrieAdd("hoc",NOMITIVE|PRONOUN|SINGULAR|DEMONSTRATIVE|ADJECTIVE,"this"); 1209 1210 TrieAdd("hi",NOMITIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|ADJECTIVE,"these"); 1211 TrieAdd("hae",NOMITIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|ADJECTIVE,"these"); 1212 TrieAdd("haec",NOMITIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|ADJECTIVE,"these"); 1213 1214 TrieAdd("huius",GENITIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|ADJECTIVE,"his"); 1215 TrieAdd("huius",GENITIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|ADJECTIVE,"hers"); 1216 TrieAdd("huius",GENITIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|ADJECTIVE,"it's"); 1217 1218 TrieAdd("horum",GENITIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|ADJECTIVE,"these"); 1219 TrieAdd("harum",GENITIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|ADJECTIVE,"these"); 1220 TrieAdd("horum",GENITIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|ADJECTIVE,"these"); 1221 1222 TrieAdd("huic",DATIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|ADJECTIVE,"this"); 1223 TrieAdd("huic",DATIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|ADJECTIVE,"this"); 1224 TrieAdd("huic",DATIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|ADJECTIVE,"this"); 1225 1226 TrieAdd("his",DATIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|ADJECTIVE,"these"); 1227 TrieAdd("his",DATIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|ADJECTIVE,"these"); 1228 TrieAdd("his",DATIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|ADJECTIVE,"these"); 1229 1230 TrieAdd("hunc",ACCUSATIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|ADJECTIVE,"this"); 1231 TrieAdd("hanc",ACCUSATIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|ADJECTIVE,"this"); 1232 TrieAdd("hoc",ACCUSATIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|ADJECTIVE,"this"); 1233 1234 TrieAdd("hos",ACCUSATIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|ADJECTIVE,"these"); 1235 TrieAdd("has",ACCUSATIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|ADJECTIVE,"these"); 1236 TrieAdd("haec",ACCUSATIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|ADJECTIVE,"these"); 1237 1238 TrieAdd("hoc",ACCUSATIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|ADJECTIVE,"this"); 1239 TrieAdd("hac",ABLATIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|ADJECTIVE,"this"); 1240 TrieAdd("hoc",ABLATIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|ADJECTIVE,"this"); 1241 1242 TrieAdd("his",ABLATIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|ADJECTIVE,"these"); 1243 TrieAdd("his",ABLATIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|ADJECTIVE,"these"); 1244 TrieAdd("his",ABLATIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|ADJECTIVE,"these"); 1245 //Pronouns demonstrative(2) 1246 TrieAdd("ille",NOMITIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|DETIRMINER,"that"); 1247 TrieAdd("illa",NOMITIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|DETIRMINER,"that"); 1248 TrieAdd("illud",NOMITIVE|PRONOUN|SINGULAR|DEMONSTRATIVE|DETIRMINER,"that"); 1249 1250 TrieAdd("illi",NOMITIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|DETIRMINER,"these"); 1251 TrieAdd("illae",NOMITIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|DETIRMINER,"these"); 1252 TrieAdd("illa",NOMITIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|DETIRMINER,"these"); 1253 1254 TrieAdd("illus",GENITIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|DETIRMINER,"his"); 1255 TrieAdd("illus",GENITIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|DETIRMINER,"hers"); 1256 TrieAdd("illus",GENITIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|DETIRMINER,"it's"); 1257 1258 TrieAdd("illorum",GENITIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|DETIRMINER,"these"); 1259 TrieAdd("illarum",GENITIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|DETIRMINER,"these"); 1260 TrieAdd("illorum",GENITIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|DETIRMINER,"these"); 1261 1262 TrieAdd("illi",DATIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|DETIRMINER,"that"); 1263 TrieAdd("illi",DATIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|DETIRMINER,"that"); 1264 TrieAdd("illi",DATIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|DETIRMINER,"that"); 1265 1266 TrieAdd("illis",DATIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|DETIRMINER,"these"); 1267 TrieAdd("illis",DATIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|DETIRMINER,"these"); 1268 TrieAdd("illis",DATIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|DETIRMINER,"these"); 1269 1270 TrieAdd("illum",ACCUSATIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|DETIRMINER,"that"); 1271 TrieAdd("illam",ACCUSATIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|DETIRMINER,"that"); 1272 TrieAdd("illud",ACCUSATIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|DETIRMINER,"that"); 1273 1274 TrieAdd("illos",ACCUSATIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|DETIRMINER,"these"); 1275 TrieAdd("illas",ACCUSATIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|DETIRMINER,"these"); 1276 TrieAdd("illa",ACCUSATIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|DETIRMINER,"these"); 1277 1278 TrieAdd("illo",ABLATIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|DETIRMINER,"that"); 1279 TrieAdd("illa",ABLATIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|DETIRMINER,"that"); 1280 TrieAdd("illo",ABLATIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|DETIRMINER,"that"); 1281 1282 TrieAdd("illis",ABLATIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|DETIRMINER,"these"); 1283 TrieAdd("illis",ABLATIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|DETIRMINER,"these"); 1284 TrieAdd("illis",ABLATIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|DETIRMINER,"these"); 1285 //This,these,that those 1286 TrieAdd("is",NOMITIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|DETIRMINER,"he"); 1287 TrieAdd("ea",NOMITIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|DETIRMINER,"she"); 1288 TrieAdd("id",NOMITIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|DETIRMINER,"that"); 1289 1290 TrieAdd("ei",NOMITIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|DETIRMINER,"them"); 1291 TrieAdd("eae",NOMITIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|DETIRMINER,"them"); 1292 TrieAdd("ea",NOMITIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|DETIRMINER,"those"); 1293 1294 TrieAdd("eius",GENITIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|DETIRMINER,"his"); 1295 TrieAdd("eius",GENITIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|DETIRMINER,"hers"); 1296 TrieAdd("eius",GENITIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|DETIRMINER,"it's"); 1297 1298 TrieAdd("eorum",GENITIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|DETIRMINER,"them"); 1299 TrieAdd("eorum",GENITIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|DETIRMINER,"them"); 1300 TrieAdd("eorum",GENITIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|DETIRMINER,"those"); 1301 1302 TrieAdd("ei",DATIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|DETIRMINER,"he"); 1303 TrieAdd("ei",DATIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|DETIRMINER,"she"); 1304 TrieAdd("ei",DATIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|DETIRMINER,"it"); 1305 1306 TrieAdd("eis",DATIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|DETIRMINER,"them"); 1307 TrieAdd("eis",DATIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|DETIRMINER,"them"); 1308 TrieAdd("eis",DATIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|DETIRMINER,"those"); 1309 1310 TrieAdd("eum",ACCUSATIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|DETIRMINER,"he"); 1311 TrieAdd("eam",ACCUSATIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|DETIRMINER,"she"); 1312 TrieAdd("id",ACCUSATIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|DETIRMINER,"it"); 1313 1314 TrieAdd("eos",ACCUSATIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|DETIRMINER,"them"); 1315 TrieAdd("eas",ACCUSATIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|DETIRMINER,"them"); 1316 TrieAdd("ea",ACCUSATIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|DETIRMINER,"those"); 1317 1318 TrieAdd("eo",ABLATIVE|PRONOUN|SINGULAR|MASCULINE|DEMONSTRATIVE|DETIRMINER,"he"); 1319 TrieAdd("ea",ABLATIVE|PRONOUN|SINGULAR|FEMININE|DEMONSTRATIVE|DETIRMINER,"she"); 1320 TrieAdd("eo",ABLATIVE|PRONOUN|SINGULAR|NEUTER|DEMONSTRATIVE|DETIRMINER,"it"); 1321 1322 TrieAdd("eis",ABLATIVE|PRONOUN|PLURAL|MASCULINE|DEMONSTRATIVE|DETIRMINER,"them"); 1323 TrieAdd("eis",ABLATIVE|PRONOUN|PLURAL|FEMININE|DEMONSTRATIVE|DETIRMINER,"them"); 1324 TrieAdd("eis",ABLATIVE|PRONOUN|PLURAL|NEUTER|DEMONSTRATIVE|DETIRMINER,"those"); 1325 //Relative pronouns TODO 1326 TrieAdd("qui",NOMITIVE|PRONOUN|SINGULAR|MASCULINE|RELATIVE,"who"); 1327 TrieAdd("quae",NOMITIVE|PRONOUN|SINGULAR|FEMININE|RELATIVE,"who"); 1328 TrieAdd("quod",NOMITIVE|PRONOUN|SINGULAR|NEUTER|RELATIVE,"who"); 1329 1330 TrieAdd("qui",NOMITIVE|PRONOUN|PLURAL|MASCULINE|RELATIVE,"which"); 1331 TrieAdd("quae",NOMITIVE|PRONOUN|PLURAL|FEMININE|RELATIVE,"which"); 1332 TrieAdd("quae",NOMITIVE|PRONOUN|PLURAL|NEUTER|RELATIVE,"which"); 1333 1334 TrieAdd("cuius",GENITIVE|PRONOUN|SINGULAR|MASCULINE|RELATIVE,"who"); 1335 TrieAdd("cuius",GENITIVE|PRONOUN|SINGULAR|FEMININE|RELATIVE,"who"); 1336 TrieAdd("cuius",GENITIVE|PRONOUN|SINGULAR|NEUTER|RELATIVE,"who"); 1337 1338 TrieAdd("quorum",GENITIVE|PRONOUN|PLURAL|MASCULINE|RELATIVE,"which"); 1339 TrieAdd("quorum",GENITIVE|PRONOUN|PLURAL|FEMININE|RELATIVE,"which"); 1340 TrieAdd("quorum",GENITIVE|PRONOUN|PLURAL|NEUTER|RELATIVE,"which"); 1341 1342 TrieAdd("cui",DATIVE|PRONOUN|SINGULAR|MASCULINE|RELATIVE,"who"); 1343 TrieAdd("cui",DATIVE|PRONOUN|SINGULAR|FEMININE|RELATIVE,"who"); 1344 TrieAdd("cui",DATIVE|PRONOUN|SINGULAR|NEUTER|RELATIVE,"who"); 1345 1346 TrieAdd("quibus",DATIVE|PRONOUN|PLURAL|MASCULINE|RELATIVE,"which"); 1347 TrieAdd("quibus",DATIVE|PRONOUN|PLURAL|FEMININE|RELATIVE,"which"); 1348 TrieAdd("quibus",DATIVE|PRONOUN|PLURAL|NEUTER|RELATIVE,"which"); 1349 1350 TrieAdd("quem",ACCUSATIVE|PRONOUN|SINGULAR|MASCULINE|RELATIVE,"who"); 1351 TrieAdd("quem",ACCUSATIVE|PRONOUN|SINGULAR|FEMININE|RELATIVE,"who"); 1352 TrieAdd("quem",ACCUSATIVE|PRONOUN|SINGULAR|NEUTER|RELATIVE,"who"); 1353 1354 TrieAdd("quos",ACCUSATIVE|PRONOUN|PLURAL|MASCULINE|RELATIVE,"which"); 1355 TrieAdd("quas",ACCUSATIVE|PRONOUN|PLURAL|FEMININE|RELATIVE,"which"); 1356 TrieAdd("quae",ACCUSATIVE|PRONOUN|PLURAL|NEUTER|RELATIVE,"which"); 1357 1358 TrieAdd("quo",ACCUSATIVE|PRONOUN|SINGULAR|MASCULINE|RELATIVE,"who"); 1359 TrieAdd("qua",ABLATIVE|PRONOUN|SINGULAR|FEMININE|RELATIVE,"who"); 1360 TrieAdd("quo",ABLATIVE|PRONOUN|SINGULAR|NEUTER|RELATIVE,"who"); 1361 1362 TrieAdd("quibus",ABLATIVE|PRONOUN|PLURAL|MASCULINE|RELATIVE,"which"); 1363 TrieAdd("quibus",ABLATIVE|PRONOUN|PLURAL|FEMININE|RELATIVE,"which"); 1364 TrieAdd("quibus",ABLATIVE|PRONOUN|PLURAL|NEUTER|RELATIVE,"which"); 1365 1366 1367 //Prepositions 1368 TrieAdd("ab",PREPOSITION,"away from"); //away from(ablative) 1369 TrieAdd("a",PREPOSITION,"away from"); //away from(ablative) 1370 TrieAdd("ex",PREPOSITION,"out of"); //out of(ablative) 1371 TrieAdd("e",PREPOSITION,"out of"); //out of(ablative) 1372 TrieAdd("de",PREPOSITION,"from,about"); //down from(ablative) 1373 TrieAdd("in",PREPOSITION,"in"); //in (ablative) 1374 TrieAdd("cum",PREPOSITION,"with"); //with(ablative) 1375 1376 TrieAdd("in",PREPOSITION,"into"); //itno(accusative) 1377 TrieAdd("ab",PREPOSITION,"towards"); //toward (accusative) 1378 TrieAdd("circum",PREPOSITION,"around"); //around (accusative) 1379 TrieAdd("supra",PREPOSITION,"above"); //above(accusative) 1380 1381 //Interogitives 1382 TrieAdd("ubi",PRONOUN|INTEROGITIVE|ACCUSATIVE,"where"); //Where 1383 TrieAdd("quo",PRONOUN|INTEROGITIVE|ACCUSATIVE,"where"); //Where (are you going) 1384 TrieAdd("cur",PRONOUN|INTEROGITIVE|ACCUSATIVE,"what"); //What reason 1385 TrieAdd("quomondo",PRONOUN|INTEROGITIVE|ACCUSATIVE,"how"); //How 1386 TrieAdd("quid",PRONOUN|INTEROGITIVE|ACCUSATIVE,"what"); //What is it 1387 TrieAdd("quis",PRONOUN|INTEROGITIVE|ACCUSATIVE,"why"); //Who is it 1388 1389 //Conjunctions 1390 TrieAdd("vel",CONJUNCTION|INDECLINABLE,"or"); 1391 1392 //Adverb 1393 TrieAdd("num",ADVERB|INDECLINABLE,"hopefully not"); //Hopefully not 1394 TrieAdd("nonne",ADVERB|INDECLINABLE,"hopefully"); //Hopefully 1395 TrieAdd("quando",ADVERB|INDECLINABLE,"when"); //when X happens 1396 TrieAdd("quando",CONJUNCTION|INDECLINABLE,"when"); //when X happens 1397 1398 //Irregulars 1399 //To Wish 1400 1401 TrieAdd("volo",_1P|VERB|SINGULAR,"wish"); 1402 TrieAdd("vis",_2P|VERB|SINGULAR,"wish"); 1403 TrieAdd("vult",_3P|VERB|SINGULAR,"wish"); 1404 TrieAdd("volumus",_1P|VERB|PLURAL,"wish"); 1405 TrieAdd("vultis",_2P|VERB|PLURAL,"wish"); 1406 TrieAdd("vulunt",_3P|VERB|PLURAL,"wish"); 1407 //Prefer 1408 TrieAdd("malo",_1P|VERB|SINGULAR,"prefer"); 1409 TrieAdd("mavis",_2P|VERB|SINGULAR,"prefer"); 1410 TrieAdd("mavult",_3P|VERB|SINGULAR,"prefer"); 1411 TrieAdd("malumus",_1P|VERB|PLURAL,"prefer"); 1412 TrieAdd("mavultis",_2P|VERB|PLURAL,"prefer"); 1413 TrieAdd("malunt",_3P|VERB|PLURAL,"prefer"); 1414 //Bring 1415 TrieAdd("fero",_1P|VERB|SINGULAR,"bring"); 1416 TrieAdd("fers",_2P|VERB|SINGULAR,"bring"); 1417 TrieAdd("fert",_3P|VERB|SINGULAR,"bring"); 1418 TrieAdd("ferimus",_1P|VERB|PLURAL,"bring"); 1419 TrieAdd("fertis",_2P|VERB|PLURAL,"bring"); 1420 TrieAdd("ferunt",_3P|VERB|PLURAL,"bring"); 1421 TrieAdd("ferebatur",VERB|_3P|IMPERFECT|SINGULAR,"bring"); 1422 //To go 1423 TrieAdd("eo",_1P|VERB|SINGULAR,"go"); 1424 TrieAdd("is",_2P|VERB|SINGULAR,"go"); 1425 TrieAdd("it",_3P|VERB|SINGULAR,"go"); 1426 TrieAdd("imus",_1P|VERB|PLURAL,"go"); 1427 TrieAdd("itis",_2P|VERB|PLURAL,"go"); 1428 TrieAdd("eunt",_3P|VERB|PLURAL,"go"); 1429 //Numbers 1430 AddWordByPrincibleParts("one",ADJECTIVE,"unus","una"); //One 1431 AddWordByPrincibleParts("two",ADJECTIVE,"duo","duorem"); //Two 1432 AddWordByPrincibleParts("three",ADJECTIVE,"tres","trium"); //Three 1433 TrieAdd("quattuor",ADJECTIVE|INDECLINABLE,"four"); //4 1434 TrieAdd("quinque",ADJECTIVE|INDECLINABLE,"five"); //5 1435 TrieAdd("sex",ADJECTIVE|INDECLINABLE,"six"); //6 1436 TrieAdd("septum",ADJECTIVE|INDECLINABLE,"seven"); //7 1437 TrieAdd("octo",ADJECTIVE|INDECLINABLE,"eight"); //8 1438 TrieAdd("novem",ADJECTIVE|INDECLINABLE,"nine"); //9 1439 TrieAdd("decem",ADJECTIVE|INDECLINABLE,"ten"); //10 1440 } 1441 InitDict; 1442 1443 //Use this instead of TrieGet,This will account for -ne -que suffixes 1444 #include "Dict.HC"; 1445 1446 CTrie *GetWord(U8 *word) { 1447 if(!word) return NULL; 1448 if(*word=='['||*word==']') 1449 return NULL; 1450 U8 *copy=NULL; 1451 LookUpWord(word); 1452 CTrie *base=TrieGet(word); 1453 if(base) return base; 1454 if(EndsWith(word,"ne")) { 1455 copy=StrNew(word); 1456 copy[StrLen(word)-2]=0; 1457 if(base=TrieGet(copy)) { 1458 Free(copy); 1459 return TrieAdd(word,base->flags|INTEROGITIVE); 1460 } 1461 Free(copy); 1462 } 1463 if(EndsWith(word,"que")) { 1464 copy=StrNew(word); 1465 copy[StrLen(word)-3]=0; 1466 if(base=TrieGet(copy)) { 1467 Free(copy); 1468 return TrieAdd(word,base->flags|CONJUNCTION2|CONJUNCTION,base->translation); 1469 } 1470 Free(copy); 1471 } 1472 // DbgPrint("Unknonw word %s\n",word); 1473 return NULL; 1474 }