Exemplo n.º 1
0
        protected Expr ParseExpr(string s)
        {
            Expr e = ParseTerm(s);

            while (pos < s.Length && (s[pos] == '+' || s[pos] == '-'))
            {
                char op = s[pos];
                Consume(s, op);
                Expr e2 = ParseTerm(s);
                if (op == '+')
                {
                    e = nf.Add(e, e2);
                }
                else if (op == '-')
                {
                    e = nf.Subtract(e, e2);
                }
            }
            return(e);
        }