示例#1
0
        public void PrintLemma(Lemma l)
        {
            FlexiaModel flexModel   = _flexiaModels[l.FlexModelNo];
            AccentModel accentModel = _accentModels[l.AccentModelNo];
            UserSession session     = _userSessions[l.SessionNo];

            Console.WriteLine("=== {0} {1} {2} {3} ===", l.Base, _gramtab.LookupAncode(l.TypeAncode), flexModel.Forms.Count,
                              accentModel.AccentForms.Count);
            int formNo = 0;

            foreach (Flexia form in flexModel.Forms)
            {
                if (!string.IsNullOrWhiteSpace(form.Prefix))
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write(form.Prefix);
                }
                Console.ForegroundColor = ConsoleColor.Green;
                Console.Write(l.Base);
                Console.ForegroundColor = ConsoleColor.Yellow;
                Console.Write(form.Flexion);
                int accent = accentModel.AccentForms[formNo];
                Console.Write(" {0} ", accent);
                string accWord = AccentHelper.SetAccent(form.Prefix + l.Base + form.Flexion, accent);
                Console.Write(" " + accWord + " ");
                Console.ForegroundColor = ConsoleColor.Cyan;
                Console.Write("\t" + _gramtab.LookupAncode(form.Ancode));
                Console.ResetColor();
                Console.WriteLine();
                formNo++;
            }
            if (l.PrefixSetNo.HasValue)
            {
                PrefixSet prefixSet = _prefixSets[l.PrefixSetNo.Value];
                Console.WriteLine("PrefixSets:");
                foreach (string pref in prefixSet.Prefixes)
                {
                    Console.WriteLine(pref);
                }
            }
            Console.WriteLine("-------------------");
        }
示例#2
0
        public void PrintLookup(string word)
        {
            FormInterpretations forms = Lookup(word);

            if (forms != null)
            {
                foreach (var kvp in forms.AccentToAncodes)
                {
                    Console.WriteLine("Accent {0} {1}", kvp.Key, AccentHelper.SetAccent(word, kvp.Key));
                    foreach (ushort ancodeNo in kvp.Value)
                    {
                        Console.WriteLine("    {0}", _gramtab.LookupByNo(ancodeNo));
                    }
                }
            }
            else
            {
                Console.WriteLine(word + " not found");
            }
        }
示例#3
0
        public virtual void ProcessWord()
        {
            Console.WriteLine(_currentWord);
            FormInterpretations forms = _morph.Lookup(_currentWord);

            if (forms != null)
            {
                if (forms.AccentToAncodes.Count == 1)
                {
                    SingleAccentWords.Add(AccentHelper.SetAccent(_currentWord, forms.AccentToAncodes.Keys.First()));
                }
                else
                {
                    ManyAccentWords.Add(_currentWord);
                }
            }
            else
            {
                NotFoundWords.Add(_currentWord);
            }
        }