示例#1
0
        private void btMakeSynAn_Click(object sender, EventArgs e)
        {
            var sentlistRep = store.MorphMakeSyntan(memoInp.Text);

            if (sentlistRep == null || sentlistRep.Count == 0)
            {
                return;
            }

            sent = sentlistRep[0];
            this.para.AddSentStruct(5, sent);

            var sb = new StringBuilder();

            for (int i = 0; i < sent.Capasity; i++)
            {
                var word = sent.GetWordByOrder(i);
                sb.Append(word.EntryName + " " + word.RealWord + "\r\n");
            }

            // Отображение синт связей
            var ordlist = sent.GetTreeList();

            foreach (var x in ordlist)
            {
                sb.Append(new String('\t', x.Level) +
                          String.Format("{0} Level {1} link {2} \r\n",
                                        sent.GetWordByOrder(x.index).EntryName, x.Level, x.linktype));
            }

            memoOut.Text = sb.ToString();
        }
示例#2
0
        public static SentenceAsm Convert(SentenceMap smap)
        {
            var asm = new SentenceAsm();

            for (int i = 0; i < smap.Capasity; i++)
            {
                var wmap = smap.GetWordByOrder(i);
                var wasm = new WordAsm(wmap.ID_Entry, wmap.ID_PartOfSpeech);
                wasm.xPart     = wmap.xPart;
                wasm.EntryName = wmap.EntryName;
                wasm.Order     = wmap.order;
                wasm.RealWord  = wmap.RealWord;
                wasm.rcind     = wmap.rcind;
                // Чтение граммем
                var Grammems = wmap.GetPairs();
                foreach (var g in Grammems)
                {
                    var asmgramm = new GrammemAsm(g.Key, g.Value);
                    wasm.AddGrammem(asmgramm);
                }
                asm.AddWord(i, wasm);
            }

            var mapNodes = smap.GetTreeList();

            foreach (var node in mapNodes)
            {
                var asmgsynt = new SyntNodeAsm(-1, node.linktype, node.Level, -1, node.index, node.parentind);
                asm.AddNode(asmgsynt);
            }

            return(asm);
        }
示例#3
0
        private void btReadPara_Click(object sender, EventArgs e)
        {
            var ParagraphID = 1;
            var sentlist    = store.ReadParagraphDB(ParagraphID);

            // прочитался параграф из БД - надо его ресторить и выдать на просмотр

            var sb           = new StringBuilder();
            var reparedsents = store.MorphGetReparedSentsList(sentlist);

            foreach (var sentrep in reparedsents)
            {
                sb.Append(sentrep + "\r\n");
            }

            // Отображение синт связей
            foreach (var sent in sentlist)
            {
                var ordlist = sent.GetTreeList();
                foreach (var x in ordlist)
                {
                    sb.Append(new String('\t', x.Level) +
                              String.Format("{0} Level {1} link {2} \r\n",
                                            sent.GetWordByOrder(x.index).EntryName, x.Level, x.linktype));
                }
            }
            memoOut.Text = sb.ToString();
        }
示例#4
0
        private string PrintGraf(SentenceMap sent)
        {
            StringBuilder sb = new StringBuilder();

            var ordlist = sent.GetTreeList();

            foreach (tNode x in ordlist)
            {
                sb.Append(new String('\t', x.Level) +
                          String.Format("{0} Level {1} link {2} \r\n",
                                        sent.GetWordByOrder(x.index).EntryName, x.Level, Gren.sgAPI.GetLinkTypeStr(x.linktype)));
            }

            return(sb.ToString());
        }
示例#5
0
        private void btMakeDoc_Click(object sender, EventArgs e)
        {
            var sb = new StringBuilder();
            // Tockenize
            var sents = store.MorphGetSeparatedSentsList(memoInp.Text);
            int i     = 0;

            foreach (var sentstr in sents)
            {
                sb.Append(sentstr + "\r\n");
                // SynAn
                var sentlistRep = store.MorphMakeSyntan(sentstr);
                if (sentlistRep == null || sentlistRep.Count == 0)
                {
                    sb.Append("SynAn error" + "\r\n");
                    continue;
                }
                this.sent = sentlistRep[0];
                this.para.AddSentStruct(i, this.sent);

                // Отображение синт связей
                var ordlist = sent.GetTreeList();
                foreach (var x in ordlist)
                {
                    sb.Append(new String('\t', x.Level) +
                              String.Format("{0} Level {1} link {2} \r\n",
                                            sent.GetWordByOrder(x.index).EntryName, x.Level, x.linktype));
                }
                i++;
            }
            var ContID     = 2;
            var DocumentID = store.SaveDocumentBD("tDoc", ContID);

            this.para.DocumentID = Convert.ToInt64(DocumentID[0].Value);
            var paramlist = store.SaveParagraphBD(this.para);

            memoOut.Text = sb.ToString();
        }