Beispiel #1
0
        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);
            }
        }