Ejemplo n.º 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();
            }
        }