Example #1
0
        public static void FuncParser(string wholeFormula, ref int begin, ref int end, ref int pos, ParserObject p, List <object> charInput)
        {
            string funExpression = wholeFormula.Substring(begin, end - begin + 1).ToLower();
            string funcname      = CommonTool.GetFuncName(funExpression).ToLower();

            if ((funcname != string.Empty) && FunctionManager.IsFunc(funcname))
            {
                charInput.Add(FunctionManager.FuncModols[funcname].Compute(funExpression));

                //归零
                begin = end = pos + 1;
                p.SetClear();
            }
            else if ((funcname != string.Empty) && UserDefinFuncManager.IsUFunc(funcname))
            {
                charInput.Add(UFuncParser.ComputeUfun(UserDefinFuncManager.UserFuncDic[funcname], funExpression));
                //归零
                begin = end = pos + 1;
                p.SetClear();
            }
        }
Example #2
0
        public static void FuncParser(string wholeFormula, ref int begin, ref int end, ref int pos, ParserObject p, List<object> charInput)
        {
            string funExpression = wholeFormula.Substring(begin, end - begin + 1).ToLower();
            string funcname = CommonTool.GetFuncName(funExpression).ToLower();

            if ((funcname != string.Empty) && FunctionManager.IsFunc(funcname))
            {
                charInput.Add(FunctionManager.FuncModols[funcname].Compute(funExpression));

                //归零
                begin = end = pos + 1;
                p.SetClear();
            }
            else if ((funcname != string.Empty) && UserDefinFuncManager.IsUFunc(funcname))
            {
                charInput.Add(UFuncParser.ComputeUfun(UserDefinFuncManager.UserFuncDic[funcname], funExpression));
                //归零
                begin = end = pos + 1;
                p.SetClear();
            }
        }
Example #3
0
        public static void ConstsParser(string wholeFormula,ref int begin,ref int end,ref int pos,ParserObject p,List<object> charInput)
        {
            string constExpression = wholeFormula.Substring(begin, end - begin).ToLower();
            if (ConstNumbers.Consts.ContainsKey(constExpression))
            {
                charInput.Add(ConstNumbers.Consts[constExpression]);
                charInput.Add(CommonTool.GetSymbol(wholeFormula[pos]));
            }
            else
                throw new Exception("UNKNOW CONST! " + constExpression + " .");

            //归零
            begin = end = pos + 1;
            p.SetClear();
        }
Example #4
0
        public static void ConstsParser(string wholeFormula, ref int begin, ref int end, ref int pos, ParserObject p, List <object> charInput)
        {
            string constExpression = wholeFormula.Substring(begin, end - begin).ToLower();

            if (ConstNumbers.Consts.ContainsKey(constExpression))
            {
                charInput.Add(ConstNumbers.Consts[constExpression]);
                charInput.Add(CommonTool.GetSymbol(wholeFormula[pos]));
            }
            else
            {
                throw new Exception("UNKNOW CONST! " + constExpression + " .");
            }

            //归零
            begin = end = pos + 1;
            p.SetClear();
        }