/// <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); }