示例#1
0
        private int isBrecket(int wordNomber, ISentence sent, LongOperationAttribut attr)
        {
            string word = sent.get_Word(wordNomber).WordStr;

            for (int i = 0; i < attr.attributSequence.Count; i++)
            {
                if (attr.attributSequence[i] is Brackets)
                {
                    Brackets br = attr.attributSequence[i] as Brackets;
                    if ((br.atribut1.word == word) || (br.atribut2.word == word))
                    {
                        return(i);
                    }
                    for (int j = 0; j < br.unionsForAttr2.Count; j++)
                    {
                        if ((br.unionsForAttr2[j] as ElementaryAttribut).word == word)
                        {
                            return(i);
                        }
                    }
                }
            }
            return(-1);
        }
示例#2
0
        /// <summary>
        /// Добавление атрибута с предпроверкой добавлять ли его в последовательность атрибутов или же уточнять брэкет
        /// </summary>
        /// <param name="word"></param>
        /// <param name="notOperation"></param>
        /// <param name="operetionBefore"></param>
        /// <param name="wordNomber"></param>
        /// <param name="sent"></param>
        /// <param name="attr"></param>

        public void addElementaryAttribut(string word, string notOperation, IWord inWord, string operetionBefore, int saverWordNomber, ISentence sent, LongOperationAttribut attr)
        {
            int brNo = isBrecket(saverWordNomber, sent, attr);
            ElementaryAttribut attribut = new ElementaryAttribut(notOperation, word, inWord);

            if (brNo != -1)
            {
                //уточнить брэкет
                (attr.attributSequence[brNo] as Brackets).addUnionToAttr2(attribut, operetionBefore);
            }
            else
            {
                //просто добавляем новый элемент в последовательность
                attributSequence.Add(attribut);
                operators.Add(operetionBefore);
                parentEp.getString();
            }
        }