public static void Parse(int lineNumber, string pathScript, Script script, List <string> input) { Debug.Assert(null != input); if (!Validate(input)) { string line = string.Empty; foreach (string item in input) { line += item + " "; } string msg = "Validation failed in script: " + Environment.NewLine + pathScript + Environment.NewLine + Environment.NewLine + "on line [" + lineNumber.ToString() + "]:" + Environment.NewLine + line + Environment.NewLine + Environment.NewLine + _errorMsg + Environment.NewLine + Environment.NewLine + "Valid variable: var @name = \"Jennifer\"" + Environment.NewLine + "Valid constant: const @name = \"Jennifer\"" + Environment.NewLine + "Valid array: var @names = [ \"Jennifer\", \"Lopez\", \"Dexter\" ]"; throw new Exception(msg); } string name = input[1]; string value = input[3]; // array? if (input.Count > 4) { value = string.Empty; for (int i = 4; i < input.Count - 1; ++i) { if (input[i] == ",") { value += "|"; } else { value += input[i]; } } } if (_IsConst) { script.AddConst(name, value, lineNumber, pathScript); } else { script.AddVariable(name, value, lineNumber, pathScript); } }