Ejemplo n.º 1
0
 private bool MorfParse(string Query)
 {
     try
     {
         DesiredParameter = null;
         RawInput         = MorfeuszDllWrapper.ParseQuery(Query);
         return(true);
     }
     catch (Exception)
     {
         return(false);
     }
 }
Ejemplo n.º 2
0
 public Word(MorfeuszDllWrapper.InterpMorf _interpMorf)
 {
     Interpret(_interpMorf);
 }
Ejemplo n.º 3
0
        /// <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;
                    }
                }
            }
        }