예제 #1
0
        public SingularInfoE(string lemma, Gender gender, bool syncope, bool doubleDative, string slenderizationTarget)
        {
            this.gender = gender;
            this.nominative.Add(new Form(lemma));
            this.vocative.Add(new Form(lemma));

            //derive the dative:
            string form = lemma;

            if (syncope)
            {
                form = Opers.Syncope(form);
            }
            form = Opers.Slenderize(form, slenderizationTarget);
            if (!doubleDative)
            {
                this.dative.Add(new Form(lemma));
            }
            else
            {
                this.dative.Add(new Form(lemma));
                this.dative.Add(new Form(form));
            }

            //continue deriving the genitive:
            form = Regex.Replace(form, "([" + Opers.VowelsSlender + "])ngt$", "$1ngth"); //eg. tarraingt > tarraingthe
            form = Regex.Replace(form, "ú$", "ath");                                     //eg. scrúdú > scrúdaithe
            form = form + "e";
            this.genitive.Add(new Form(form));
        }
예제 #2
0
        public SingularInfoAX(string lemma, Gender gender, bool syncope, string broadeningTarget)
        {
            this.gender = gender;
            this.nominative.Add(new Form(lemma));
            this.vocative.Add(new Form(lemma));
            this.dative.Add(new Form(lemma));

            //derive the genitive:
            string form = lemma;

            if (syncope)
            {
                form = Opers.Syncope(form);
            }
            form = Opers.Broaden(form, broadeningTarget);
            form = form + "ach";
            this.genitive.Add(new Form(form));
        }
예제 #3
0
        public SingularInfoEAX(string lemma, Gender gender, bool syncope, string slenderizationTarget)
        {
            this.gender = gender;
            this.nominative.Add(new Form(lemma));
            this.vocative.Add(new Form(lemma));
            this.dative.Add(new Form(lemma));

            //derive the genitive:
            string form = lemma;

            if (syncope)
            {
                form = Opers.Syncope(form);
            }
            form = Opers.Slenderize(form, slenderizationTarget);
            form = form + "each";
            this.genitive.Add(new Form(form));
        }
예제 #4
0
        public SingularInfoA(string lemma, Gender gender, bool syncope, string broadeningTarget)
        {
            this.gender = gender;
            this.nominative.Add(new Form(lemma));
            this.vocative.Add(new Form(lemma));
            this.dative.Add(new Form(lemma));

            //derive the genitive:
            string form = lemma;

            form = Regex.Replace(form, "([" + Opers.VowelsSlender + "])rt$", "$1rth");     //eg. bagairt > bagartha
            form = Regex.Replace(form, "([" + Opers.VowelsSlender + "])nnt$", "$1nn");     //eg. cionnroinnt > cionnranna
            form = Regex.Replace(form, "([" + Opers.VowelsSlender + "])nt$", "$1n");       //eg. canúint > canúna
            if (syncope)
            {
                form = Opers.Syncope(form);
            }
            form = Opers.Broaden(form, broadeningTarget);
            form = form + "a";
            this.genitive.Add(new Form(form));
        }