From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,3b4bed4f74b8ac49 X-Google-Attributes: gid103376,public From: "Norman H. Cohen" Subject: Re: GNAT messages and the not operator (pitfall alert!) Date: 1996/10/30 Message-ID: <32778241.44CC@watson.ibm.com>#1/1 X-Deja-AN: 193225378 references: <01bbc5fe$823691c0$308371a5@dhoossr.iquest.com> <1996Oct30.073739.1@corning.com> to: "whiting_ms@corning.com (Matt Whiting)" content-type: text/plain; charset=us-ascii organization: IBM Thomas J. Watson Research Center mime-version: 1.0 reply-to: ncohen@watson.ibm.com newsgroups: comp.lang.ada x-mailer: Mozilla 3.0 (Win95; I) Date: 1996-10-30T00:00:00+00:00 List-Id: whiting_ms@corning.com (Matt Whiting) wrote: > Yes, that is clear (and has been!), but the table on p. 246 of Ada as a Second > Language (2nd Edition), doesn't have parens around the first argument! > > When I see X mod 4 and then see the column header have -5, I read that as > -5 mod 4, not as (-5) mod 4. I think the table could be more clear... :-) > Had the table read (X) mod 4... By this reasoning, one would expect "A*4 where A=2+3" to mean "2+3*4". I expect it to be clear to all readers that X in Figure 6.2 represents an integer value, not a string to be macro-substituted into the string "X mod 4" to yield the string "-5 mod 4". Rather, the table entry corresponding to the row labeled "X mod 4" and the column labeled with -5 for the value of X gives the value that would be written by the statements X := -5; Put ( X mod 4 ); The caption begins with the words, "Illustrations of the behavior of rem and mod ...," which ought to make it clear that the focus of the table is on run-time computations performed on particular values rather than on syntactic issues like precedence level in the text of the program. Indeed, the caption specifically refers to successive "values" of X. If Matt thinks that (X) conveys anything different from X, perhaps he has spent too much time working with a C preprocessor. :-) However, if other readers have misinterpreted the table in the same way that Matt did, I would certainly like to hear about it! (Private e-mail will do, no need to clutter the newsgroup.) -- Norman H. Cohen mailto:ncohen@watson.ibm.com http://www.research.ibm.com/people/n/ncohen