private string GetTokenMorph(WordData token, SolarixGrammarEngineNET.GrammarEngine2 gren)
        {
            string part_of_speech = gren.GetClassName(token.part_of_speech);
            string tags           = string.Join(" ", token.GetTags().Select(z => string.Format("{0}={1}", gren.GetCoordName(z.Item1), gren.GetCoordStateName(z.Item1, z.Item2))).ToArray());

            return(part_of_speech + "(" + tags + ")");
        }
Exemplo n.º 2
0
        public int MatchTags(WordData token, SolarixGrammarEngineNET.GrammarEngine2 gren)
        {
            foreach (TagMatcher m in matchers)
            {
                if (m.Match(token, gren))
                {
                    return(m.GetId());
                }
            }

            int    entry_id       = token.GetEntryID();
            int    pos_id         = gren.GetEntryClass(entry_id);
            string part_of_speech = gren.GetClassName(pos_id);
            string tags           = string.Join(" ", token.GetTags().Select(z => string.Format("{0}={1}", gren.GetCoordName(z.Item1), gren.GetCoordStateName(z.Item1, z.Item2))).ToArray());
            string msg            = string.Format("Can not find tag for {0} {{ {1} {2} }}", token.GetWord(), part_of_speech, tags);

            throw new ApplicationException(msg);
        }