Ejemplo n.º 1
0
        protected virtual string ReadExprInBracket()
        {
            SkipSymbol("(");
            int           level = 0;
            StringBuilder sb    = new StringBuilder();
            bool          was   = false;

            for (;;)
            {
                if (was)
                {
                    sb.Append(" ");
                }
                if (level == 0 && IsSymbol(")"))
                {
                    return(sb.ToString());
                }
                if (IsSymbol("("))
                {
                    level++;
                }
                else if (IsSymbol(")"))
                {
                    level--;
                }
                sb.Append(CurrentOriginal.GetOriginalToken());
                NextToken();
            }
        }
Ejemplo n.º 2
0
        protected virtual string ReadExpr(params string[] endsym)
        {
            int           level = 0;
            StringBuilder sb    = new StringBuilder();
            bool          was   = false;

            while (level > 0 || !IsSymbol(endsym))
            {
                if (was)
                {
                    sb.Append(" ");
                }
                if (IsSymbol("("))
                {
                    level++;
                }
                else if (IsSymbol(")"))
                {
                    level--;
                }
                sb.Append(CurrentOriginal.GetOriginalToken());
                NextToken();
            }
            return(sb.ToString());
        }