protected void ParseSql()
        {
            string sql = _tokenizer.Token;

            if (IsElseMode())
            {
                sql = sql.Replace("--", string.Empty);
            }
            INode node = Peek();

            if ((node is InternalIfNode || node is ElseNode) && node.ChildSize == 0)
            {
                InternalSqlTokenizer st = new InternalSqlTokenizer(sql);
                st.SkipWhitespace();
                string token = st.SkipToken();
                st.SkipWhitespace();
                if ("AND".Equals(token.ToUpper()) || "OR".Equals(token.ToUpper()))
                {
                    node.AddChild(new PrefixSqlNode(st.Before, st.After));
                }
                else
                {
                    node.AddChild(new SqlNode(sql));
                }
            }
            else
            {
                node.AddChild(new SqlNode(sql));
            }
        }
        protected void ParseCommentBindVariable()
        {
            string expr = _tokenizer.Token;
            string s    = _tokenizer.SkipToken();

            if (expr.StartsWith("$"))
            {
                Peek().AddChild(CreateEmbeddedValueNode(expr.Substring(1), s));
            }
            else
            {
                Peek().AddChild(CreateBindVariableNode(expr, s));
            }
        }