CalcEngine.CalcEngine.Parse C# (CSharp) Метод

Parse() публичный Метод

Parses a string into an Expression.
public Parse ( string expression ) : Expression
expression string String to parse.
Результат Expression
        public Expression Parse(string expression)
        {
            // initialize
            _expr = expression;
            _len  = _expr.Length;
            _ptr  = 0;

            // skip leading equals sign
            if (_len > 0 && _expr[0] == '=')
            {
                _ptr++;
            }

            // parse the expression
            var expr = ParseExpression();

            // check for errors
            if (_token.ID != TKID.END)
            {
                Throw();
            }

            // optimize expression
            if (_optimize)
            {
                expr = expr.Optimize();
            }

            // done
            return expr;
        }

Usage Example

        // gets the parsed version of a string expression
        public Expression this[string expression]
        {
            get
            {
                Expression    x = null;
                WeakReference wr;

                // get expression from cache
                if (_dct.TryGetValue(expression, out wr))
                {
                    x = wr.Target as Expression;
                }

                // if failed, parse now and store
                if (x == null)
                {
                    // remove all dead references from dictionary
                    if (_dct.Count > 100 && _hitCount++ > 100)
                    {
                        RemoveDeadReferences();
                        _hitCount = 0;
                    }

                    // store this expression
                    x = _ce.Parse(expression);
                    _dct[expression] = new WeakReference(x);
                }

                // return the parsed expression
                return(x);
            }
        }
All Usage Examples Of CalcEngine.CalcEngine::Parse