Esempio n. 1
0
 protected Expr ParseFactor(string s)
 {
     if (s[pos] == '(')
     {
         Consume(s, '(');
         Expr e = ParseExpr(s);
         Consume(s, ')');
         return(e);
     }
     else if (s[pos] == '-')
     {
         Consume(s, '-');
         Expr e = ParseFactor(s);
         return(nf.Negate(e));
     }
     else if (s[pos] >= '0' && s[pos] <= '9')
     {
         return(ParseNumber(s));
     }
     else
     {
         Error(s, pos);
         return(null);
     }
 }