public ENUM_TENSE_TIME getTenseTime() { Int32 mask = Convert.ToInt32(ENUM_TENSE_TIME.INVALID); ENUM_TENSE_TIME vtt = (ENUM_TENSE_TIME)(this.ID & mask); switch (vtt) { case ENUM_TENSE_TIME.MAZI_E_SADE: case ENUM_TENSE_TIME.MAZI_E_ESTEMRARI: case ENUM_TENSE_TIME.MAZI_E_BAEID: case ENUM_TENSE_TIME.MAZI_E_MOSTAMAR: case ENUM_TENSE_TIME.MAZI_E_SADEYE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_ESTEMRARIE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_BAEIDE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_MOSTAMARE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_ELTEZAMI: case ENUM_TENSE_TIME.MOZARE_E_EKHBARI: case ENUM_TENSE_TIME.MOZARE_E_MOSTAMAR: case ENUM_TENSE_TIME.MOZARE_E_ELTEZAMI: case ENUM_TENSE_TIME.AYANDE: case ENUM_TENSE_TIME.AMR: return(vtt); default: return(ENUM_TENSE_TIME.INVALID); } }
public void setTense(ENUM_TENSE_TIME time, ENUM_TENSE_PASSIVITY passivity, ENUM_TENSE_POSITIVITY positivity) { this.resetVerb(); this.setTenseTime(time); this.setTensePassivity(passivity); this.setTensePositivity(positivity); this.setTenseType(ENUM_VERB_TYPE.SADE); }
public string GetStem(ENUM_TENSE_TIME time, ENUM_TENSE_PASSIVITY passivity) { string verbStem = ""; switch (time) { case ENUM_TENSE_TIME.MAZI_E_SADE: case ENUM_TENSE_TIME.MAZI_E_ESTEMRARI: case ENUM_TENSE_TIME.MAZI_E_BAEID: case ENUM_TENSE_TIME.MAZI_E_MOSTAMAR: case ENUM_TENSE_TIME.MAZI_E_SADEYE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_ESTEMRARIE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_BAEIDE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_MOSTAMARE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_ELTEZAMI: case ENUM_TENSE_TIME.AYANDE: verbStem = this.pastStem; break; case ENUM_TENSE_TIME.MOZARE_E_EKHBARI: case ENUM_TENSE_TIME.MOZARE_E_MOSTAMAR: case ENUM_TENSE_TIME.MOZARE_E_ELTEZAMI: case ENUM_TENSE_TIME.AMR: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbStem = this.presentStem; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbStem = this.pastStem; break; default: verbStem = ""; break; } break; default: verbStem = ""; break; } return(verbStem); }
private PRONOUN_TYPE getPronounType() { PRONOUN_TYPE pt; ENUM_TENSE_TIME time = this.getTenseTime(); switch (time) { case ENUM_TENSE_TIME.MAZI_E_SADE: case ENUM_TENSE_TIME.MAZI_E_ESTEMRARI: case ENUM_TENSE_TIME.MAZI_E_BAEID: case ENUM_TENSE_TIME.MAZI_E_MOSTAMAR: pt = PRONOUN_TYPE.MAZI; break; case ENUM_TENSE_TIME.MAZI_E_SADEYE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_ESTEMRARIE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_BAEIDE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_MOSTAMARE_NAGHLI: pt = PRONOUN_TYPE.NAGHLI; break; case ENUM_TENSE_TIME.MAZI_E_ELTEZAMI: case ENUM_TENSE_TIME.MOZARE_E_EKHBARI: case ENUM_TENSE_TIME.MOZARE_E_MOSTAMAR: case ENUM_TENSE_TIME.MOZARE_E_ELTEZAMI: case ENUM_TENSE_TIME.AYANDE: pt = PRONOUN_TYPE.MOZARE; break; case ENUM_TENSE_TIME.AMR: pt = PRONOUN_TYPE.AMR; break; default: pt = PRONOUN_TYPE.INVALID; break; } return(pt); }
private string printPositivity() { ENUM_TENSE_TIME time = this.getTenseTime(); ENUM_TENSE_POSITIVITY positivity = this.getTensePositivity(); switch (time) { case ENUM_TENSE_TIME.MAZI_E_SADE: case ENUM_TENSE_TIME.MAZI_E_SADEYE_NAGHLI: switch (positivity) { case ENUM_TENSE_POSITIVITY.POSITIVE: return(""); case ENUM_TENSE_POSITIVITY.NEGATIVE: return("ن"); case ENUM_TENSE_POSITIVITY.UNUSUAL_POSITIVE: return("ب"); case ENUM_TENSE_POSITIVITY.UNUSUAL_NEGATIVE: return("م"); default: return(""); } case ENUM_TENSE_TIME.MAZI_E_ESTEMRARI: case ENUM_TENSE_TIME.MAZI_E_BAEID: case ENUM_TENSE_TIME.MAZI_E_MOSTAMAR: case ENUM_TENSE_TIME.MAZI_E_ESTEMRARIE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_BAEIDE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_MOSTAMARE_NAGHLI: case ENUM_TENSE_TIME.MAZI_E_ELTEZAMI: case ENUM_TENSE_TIME.MOZARE_E_EKHBARI: case ENUM_TENSE_TIME.MOZARE_E_MOSTAMAR: case ENUM_TENSE_TIME.AYANDE: switch (positivity) { case ENUM_TENSE_POSITIVITY.POSITIVE: return(""); case ENUM_TENSE_POSITIVITY.NEGATIVE: return("ن"); default: return(""); } case ENUM_TENSE_TIME.MOZARE_E_ELTEZAMI: case ENUM_TENSE_TIME.AMR: switch (positivity) { case ENUM_TENSE_POSITIVITY.POSITIVE: return("ب"); case ENUM_TENSE_POSITIVITY.NEGATIVE: return("ن"); case ENUM_TENSE_POSITIVITY.UNUSUAL_POSITIVE: return(""); case ENUM_TENSE_POSITIVITY.UNUSUAL_NEGATIVE: return("م"); default: return(""); } default: return(""); } }
private string printPronoun() { ENUM_TENSE_TIME time = this.getTenseTime(); ENUM_TENSE_PERSON person = this.getTensePerson(); PRONOUN_TYPE pt = this.getPronounType(); string postfix = ""; switch (pt) { case PRONOUN_TYPE.MAZI: switch (person) { case ENUM_TENSE_PERSON.SINGULAR_FIRST: postfix = "م"; break; case ENUM_TENSE_PERSON.SINGULAR_SECOND: postfix = "ی"; break; case ENUM_TENSE_PERSON.SINGULAR_THIRD: postfix = ""; break; case ENUM_TENSE_PERSON.PLURAL_FIRST: postfix = "یم"; break; case ENUM_TENSE_PERSON.PLURAL_SECOND: postfix = "ید"; break; case ENUM_TENSE_PERSON.PLURAL_THIRD: postfix = "ند"; break; default: postfix = ""; break; } break; case PRONOUN_TYPE.MOZARE: switch (person) { case ENUM_TENSE_PERSON.SINGULAR_FIRST: postfix = "م"; break; case ENUM_TENSE_PERSON.SINGULAR_SECOND: postfix = "ی"; break; case ENUM_TENSE_PERSON.SINGULAR_THIRD: postfix = "د"; break; case ENUM_TENSE_PERSON.PLURAL_FIRST: postfix = "یم"; break; case ENUM_TENSE_PERSON.PLURAL_SECOND: postfix = "ید"; break; case ENUM_TENSE_PERSON.PLURAL_THIRD: postfix = "ند"; break; default: postfix = ""; break; } break; case PRONOUN_TYPE.NAGHLI: switch (person) { case ENUM_TENSE_PERSON.SINGULAR_FIRST: postfix = "ام"; break; case ENUM_TENSE_PERSON.SINGULAR_SECOND: postfix = "ای"; break; case ENUM_TENSE_PERSON.SINGULAR_THIRD: postfix = " است"; break; case ENUM_TENSE_PERSON.PLURAL_FIRST: postfix = "ایم"; break; case ENUM_TENSE_PERSON.PLURAL_SECOND: postfix = "اید"; break; case ENUM_TENSE_PERSON.PLURAL_THIRD: postfix = "اند"; break; default: postfix = ""; break; } break; case PRONOUN_TYPE.AMR: switch (person) { case ENUM_TENSE_PERSON.SINGULAR_SECOND: postfix = ""; break; case ENUM_TENSE_PERSON.PLURAL_SECOND: postfix = "ید"; break; default: postfix = ""; break; } break; default: break; } return(postfix); }
public void setTenseTime(ENUM_TENSE_TIME time) { this.ID = this.ID & ~Convert.ToInt32(ENUM_TENSE_TIME.INVALID); this.ID |= Convert.ToInt32(time); }
public Verb(ENUM_TENSE_TIME time, ENUM_TENSE_PASSIVITY passivity, ENUM_TENSE_POSITIVITY positivity, ENUM_TENSE_PERSON person) { this.setTense(time, passivity, positivity, person); }
public string PrintVerb() { string verbWord = ""; ENUM_TENSE_PASSIVITY passivity = this.getTensePassivity(); ENUM_TENSE_TIME time = this.getTenseTime(); string positivity = this.printPositivity(); string pronoun = this.printPronoun(); switch (time) { case ENUM_TENSE_TIME.MAZI_E_SADE: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = printFelyar() + printPishvand() + positivity + this.printStem(positivity, pronoun) + pronoun + this.printObjectPronoun(); break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = printFelyar() + printPishvand() + this.passiveHole(this.printStem("", "ه ") + "ه ") + positivity + "شد" + pronoun; break; default: break; } break; case ENUM_TENSE_TIME.MAZI_E_ESTEMRARI: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = printFelyar() + printPishvand() + positivity + "می" + this.printStem("می", pronoun) + pronoun; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = printFelyar() + printPishvand() + this.passiveHole(this.printStem("", "ه ") + "ه ") + positivity + "میشد" + pronoun; break; default: break; } break; case ENUM_TENSE_TIME.MAZI_E_BAEID: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = printFelyar() + printPishvand() + positivity + this.printStem(positivity, "ه بود") + "ه بود" + pronoun; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = printFelyar() + printPishvand() + this.passiveHole(this.printStem("", "ه ") + "ه ") + positivity + "شده بود" + pronoun; break; default: break; } break; case ENUM_TENSE_TIME.MAZI_E_MOSTAMAR: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = "داشت" + pronoun + " " + printFelyar() + printPishvand() + positivity + "می" + this.printStem("می", pronoun) + pronoun; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = "داشت" + pronoun + " " + printFelyar() + printPishvand() + this.passiveHole(this.printStem(" ", "ه ") + "ه ") + positivity + "میشد" + pronoun; break; default: break; } break; case ENUM_TENSE_TIME.MAZI_E_SADEYE_NAGHLI: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = printFelyar() + printPishvand() + positivity + this.printStem(positivity, "ه") + "ه" + pronoun; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = printFelyar() + printPishvand() + this.passiveHole(this.printStem("", "ه ") + "ه ") + positivity + "شده" + pronoun; break; default: break; } break; case ENUM_TENSE_TIME.MAZI_E_ESTEMRARIE_NAGHLI: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = printFelyar() + printPishvand() + positivity + "می" + this.printStem("می", "ه") + "ه" + pronoun; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = printFelyar() + printPishvand() + this.passiveHole(this.printStem("", "ه ") + "ه ") + positivity + "میشده" + pronoun; break; default: break; } break; case ENUM_TENSE_TIME.MAZI_E_BAEIDE_NAGHLI: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = printFelyar() + printPishvand() + positivity + this.printStem(positivity, "ه بوده") + "ه بوده" + pronoun; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = printFelyar() + printPishvand() + this.passiveHole(this.printStem("", "ه ") + "ه ") + positivity + "شده بوده" + pronoun; break; default: break; } break; case ENUM_TENSE_TIME.MAZI_E_MOSTAMARE_NAGHLI: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = "داشته" + pronoun + " " + printFelyar() + printPishvand() + positivity + "می" + this.printStem("می", "ه") + "ه" + pronoun; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = "داشته" + pronoun + " " + printFelyar() + printPishvand() + this.passiveHole(this.printStem(" ", "ه ") + "ه ") + positivity + "میشده" + pronoun; break; default: break; } break; case ENUM_TENSE_TIME.MAZI_E_ELTEZAMI: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = printFelyar() + printPishvand() + positivity + this.printStem(positivity, "ه باش") + "ه باش" + pronoun; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = printFelyar() + printPishvand() + this.passiveHole(this.printStem("", "ه ") + "ه ") + positivity + "شده باش" + pronoun; break; default: break; } break; case ENUM_TENSE_TIME.MOZARE_E_EKHBARI: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = printFelyar() + printPishvand() + positivity + "می" + this.printStem("می", pronoun) + pronoun; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = printFelyar() + printPishvand() + this.passiveHole(this.printStem("", "ه ") + "ه ") + positivity + "میشو" + pronoun; break; default: break; } break; case ENUM_TENSE_TIME.MOZARE_E_MOSTAMAR: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = "دار" + pronoun + " " + printFelyar() + printPishvand() + positivity + "می" + this.printStem("می", pronoun) + pronoun; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = "دار" + pronoun + " " + printFelyar() + printPishvand() + this.passiveHole(this.printStem(" ", "ه ") + "ه ") + positivity + "میشو" + pronoun; break; default: break; } break; case ENUM_TENSE_TIME.MOZARE_E_ELTEZAMI: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = printFelyar() + printPishvand() + positivity + this.printStem(positivity, pronoun) + pronoun; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = printFelyar() + printPishvand() + this.passiveHole(this.printStem("", "ه ") + "ه ") + positivity + "شو" + pronoun; break; default: break; } break; case ENUM_TENSE_TIME.AYANDE: switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = printFelyar() + printPishvand() + positivity + "خواه" + pronoun + " " + this.printStem(" ", ""); break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = printFelyar() + printPishvand() + this.passiveHole(this.printStem("", "ه ") + "ه ") + positivity + "خواه" + pronoun + " شد"; break; default: break; } break; case ENUM_TENSE_TIME.AMR: if (this.getTensePerson() == ENUM_TENSE_PERSON.SINGULAR_SECOND || this.getTensePerson() == ENUM_TENSE_PERSON.PLURAL_SECOND) { switch (passivity) { case ENUM_TENSE_PASSIVITY.ACTIVE: verbWord = printFelyar() + printPishvand() + positivity + this.printStem(positivity, pronoun) + pronoun; break; case ENUM_TENSE_PASSIVITY.PASSIVE: verbWord = printFelyar() + printPishvand() + this.passiveHole(this.printStem("", "ه ") + "ه ") + positivity + "شو" + pronoun; break; default: break; } } else { verbWord = ""; } break; default: verbWord = ""; break; } return(verbWord); }