Example #1
0
        /// <summary> Parses a single line. </summary>
        /// <param name="singleLine"> The single line to parse. </param>
        /// <returns> The arguments for the line. </returns>
        public Arguments Parse(string singleLine)
        {
            if (singleLine == null)
            {
                singleLine = "";
            }

            var args = new Arguments();

            args.Add(new Argument(0, "line", new SafeValue <string>(singleLine)));

            foreach (LineExpression expr in _expressions)
            {
                int    order   = args.Count;
                var    context = new LineContext(order, expr.Name);
                IValue value   = _provider.Evaluate(context, args, expr.Expression);
                args.Add(new Argument(order, expr.Name, value));
            }

            return(args);
        }