Beispiel #1
0
        internal void ParseList(ScriptParser Parser, out ScriptNode[] Columns, out bool[] Ascending)
        {
            List <ScriptNode> ColumnList    = new List <ScriptNode>();
            List <bool>       AscendingList = new List <bool>();
            string            s;

            do
            {
                ScriptNode Node = Parser.ParseIf();

                switch (s = Parser.PeekNextToken().ToUpper())
                {
                case "ASC":
                    Parser.NextToken();
                    ColumnList.Add(Node);
                    AscendingList.Add(true);
                    s = Parser.PeekNextToken();
                    break;

                case "DESC":
                    Parser.NextToken();
                    ColumnList.Add(Node);
                    AscendingList.Add(false);
                    s = Parser.PeekNextToken();
                    break;

                case ",":
                    Parser.NextToken();
                    ColumnList.Add(Node);
                    AscendingList.Add(true);
                    break;

                default:
                    ColumnList.Add(Node);
                    AscendingList.Add(true);
                    break;
                }
            }while (s == ",");

            Columns   = ColumnList.ToArray();
            Ascending = AscendingList.ToArray();
        }