pow operator miscalculation
J. David Bryan
dbryan at bcpl.net
Mon Sep 10 04:16:47 CEST 2001
On 10 Sep 2001, at 9:57, da Silva, Joe wrote:
> I'm not good on the jargon, but is "-2" really a unary "-" and
> a number (2), or is "-2" a number in itself (ie. the sign is not
> an operator)?
The Extended Pascal standard, section 6.8.1, "Expressions, General," says
that the expression "-2" is a simple-expression, which is defined as a sign
followed by a term. So "-" is the sign, and "2" is the term. The standard
therefore treats any expression with a leading sign as a unary operator
applied to an unsigned expression.
To continue, "-2 pow 2" is parsed as the sign "-" and the term "2 pow 2".
The term is parsed as a factor, which is defined as a primary, followed by
an exponentiating-operator (in this case, "pow"), followed by another
primary. "2" is a primary because primaries may be unsigned-constants.
> This is what Maurice suggested in his second posting, and is the
> natural/intuitive interpretation of "-2".
Unfortunately, "intuitive interpretations" don't count when a standard says
otherwise.... :-)
-- Dave
More information about the Gpc
mailing list