private bool MorfParse(string Query) { try { DesiredParameter = null; RawInput = MorfeuszDllWrapper.ParseQuery(Query); return(true); } catch (Exception) { return(false); } }
public Word(MorfeuszDllWrapper.InterpMorf _interpMorf) { Interpret(_interpMorf); }
/// <summary> /// Interpret word /// </summary> /// <param name="_interpMorf">interpreted parameters</param> public void Interpret(MorfeuszDllWrapper.InterpMorf _interpMorf) { this.k = _interpMorf.k; this.p = _interpMorf.p; this.Mark = _interpMorf.interp; string[] interpParams = _interpMorf.interp.Split(':'); this.Form = _interpMorf.forma; this.FormBase = _interpMorf.haslo; if (this.FormBase.Contains(':')) this.FormBase = this.FormBase.Substring(0, this.FormBase.IndexOf(':')); if (interpParams.Length > 0) { this.SetPartOfSpeech(interpParams[0]); if (PartOfSpeech == SpeechPart.Other && this.FormBase == ",") { // Traktujemy przecinek jako spójnik! PartOfSpeech = SpeechPart.Conjuctiun; } for(int parNum = 1; parNum < interpParams.Length; parNum++) { string par = interpParams[parNum]; switch(interpParams[parNum]) { case "sg": this.Number = interpParams[parNum]; break; case "pl": if(parNum == 1) this.Number = interpParams[parNum]; else this.Type = interpParams[parNum]; break; case "nom": this.Case = interpParams[parNum]; break; case "gen": this.Case = interpParams[parNum]; break; case "dat": this.Case = interpParams[parNum]; break; case "acc": this.Case = interpParams[parNum]; break; case "inst": this.Case = interpParams[parNum]; break; case "loc": this.Case = interpParams[parNum]; break; case "voc": this.Case = interpParams[parNum]; break; case "m1": this.Type = interpParams[parNum]; break; case "m2": this.Type = interpParams[parNum]; break; case "m3": this.Type = interpParams[parNum]; break; case "f": this.Type = interpParams[parNum]; break; case "n1": this.Type = interpParams[parNum]; break; case "n2": this.Type = interpParams[parNum]; break; //case "pl": // this.Type = interpParams[parNum]; // break; case "p1": this.Type = interpParams[parNum]; break; case "p2": this.Type = interpParams[parNum]; break; case "p3": this.Type = interpParams[parNum]; break; default: break; } } } }