private Property_SE FillSentenceGram()
        {
            if (this.varTable.GetItem(this.matchIndex).varType == ConstTable.VariableType.Identity)
            {
                this.matchIndex++;
            }
            string firstEntity = this.varTable.GetItem(this.matchIndex - 1).varValue;


            if (this.varTable.GetItem(this.matchIndex).varValue.Equals(":="))
            {
                this.matchIndex++;
            }
            string opString = this.varTable.GetItem(this.matchIndex - 1).varValue;

            Property_CalcuE CalcuE = CalcuExpGram();

            if (this.varTable.GetItem(this.matchIndex).varValue.Equals(";"))
            {
                this.matchIndex++;
            }

            Property_SE SE = new Property_SE();

            QuaternionItem item1 = new QuaternionItem(this.globalQuad, opString, CalcuE.VarValue, NullQuaternionElement, firstEntity, ConstTable.QuaternionType.FILLEXP);

            this.QuaternionTb.Add(item1);
            this.globalQuad++;

            return(SE);
        }
        /// <summary>
        /// Calculator_
        /// </summary>
        /// <param name="firstCalcuE"></param>
        /// <returns></returns>
        private Property_CalcuE Calculator_Gram(Property_CalcuE firstCalcuE)
        {
            if (this.varTable.GetItem(this.matchIndex).varValue.Equals("+"))
            {
                this.matchIndex++;
            }
            else
            {
                return(firstCalcuE);
            }

            string opString = this.varTable.GetItem(this.matchIndex - 1).varValue;

            Property_CalcuE secondCalcuE = CalcuExpGram();

            Property_CalcuE CalcuE = new Property_CalcuE("@T" + this.tempVarIndex++);

            QuaternionItem item1 = new QuaternionItem(this.globalQuad, opString, firstCalcuE.VarValue, secondCalcuE.VarValue, CalcuE.VarValue, ConstTable.QuaternionType.CALCUEXP);

            this.QuaternionTb.Add(item1);
            this.globalQuad++;


            return(Calculator_Gram(CalcuE));
        }
        /// <summary>
        /// Calcu
        /// </summary>
        /// <returns></returns>
        private Property_CalcuE CalcuExpGram()
        {
            if (this.varTable.GetItem(this.matchIndex).varValue.Equals("("))
            {
                this.matchIndex++;

                Property_CalcuE CalcuE = CalcuExpGram();

                if (this.varTable.GetItem(this.matchIndex).varValue.Equals(")"))
                {
                    this.matchIndex++;
                }

                if (this.varTable.GetItem(this.matchIndex).varValue.Equals("+"))
                {
                    return(Calculator_Gram(CalcuE));
                }
                else
                {
                    return(Factor_Gram(CalcuE));
                }
            }
            else
            {
                return(CalculatorGram());
            }
        }
        private Property_CalcuE FactorGram()
        {
            bool   EntityResult = EntityGram();
            string IDString     = this.varTable.GetItem(this.matchIndex - 1).varValue;


            Property_CalcuE CalcuE = new Property_CalcuE(IDString);

            return(Factor_Gram(CalcuE));
        }
        /// <summary>
        /// Calculator
        /// </summary>
        /// <returns></returns>
        private Property_CalcuE CalculatorGram()
        {
            Property_CalcuE CalcuE = FactorGram();

            return(Calculator_Gram(CalcuE));
        }