Groups | Search | Server Info | Login | Register
Groups > comp.lang.awk > #9765
| From | Kaz Kylheku <643-408-1753@kylheku.com> |
|---|---|
| Newsgroups | comp.lang.awk |
| Subject | Re: Operator precedence |
| Date | 2024-05-26 02:06 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <20240525185349.904@kylheku.com> (permalink) |
| References | (5 earlier) <20240523210755.307@kylheku.com> <87zfsektvi.fsf@axel-reichert.de> <v2tlbf$320cq$1@dont-email.me> <v2tn6n$32bqt$1@dont-email.me> <slrnv55129.2osd.naddy@lorvorc.mips.inka.de> |
On 2024-05-26, Christian Weisgerber <naddy@mips.inka.de> wrote: > On 2024-05-25, Janis Papanagnou <janis_papanagnou+ng@hotmail.com> wrote: > >> People should be anyway aware of the operator precedences in the >> various programming languages since there are obviously yet worse >> definitions than the one we've been discussing here. > > Which is why BSD has had an operator(7) man page about "C operator > precedence and order of evaluation" since 1990. This discussion has convinced me that unary operators must not be clumped together and put into a single precedence level. For instance, if we have the C-like expression -*p/*q it should ideally be -(*p/*q) and not as it is now: (-*p)/(*q) due the unary minus being clumped with dereference. Unary minus should not be a distinct operator from binary minus. Unary minus should denote the elision of an identity element term, so that - X not only means the same as 0 - X, but is considered to be the same notation, just with the additive identity element not show. We could correctly parse it as a binary minus by putting the element back in. This can make a difference easily. Consider that the unsigned types in C have a definition for unary minus. If *p is of type unsigned int, and its value is 1, then (-*p) is UINT_MAX. *q is 4 then we get UINT_MAX / 4. Under the proposedd rule, we would get something else: 1/4 producing 0, and that negating to 0. -- TXR Programming Language: http://nongnu.org/txr Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal Mastodon: @Kazinator@mstdn.ca
Back to comp.lang.awk | Previous | Next — Previous in thread | Next in thread | Find similar
Operator precedence Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-05-23 16:13 +0200
Re: Operator precedence Kaz Kylheku <643-408-1753@kylheku.com> - 2024-05-23 16:49 +0000
Re: Operator precedence Axel Reichert <mail@axel-reichert.de> - 2024-05-23 19:14 +0200
Re: Operator precedence Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-05-24 01:53 +0200
Re: Operator precedence Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-05-24 04:41 +0200
Re: Operator precedence Kaz Kylheku <643-408-1753@kylheku.com> - 2024-05-24 04:32 +0000
Re: Operator precedence Axel Reichert <mail@axel-reichert.de> - 2024-05-25 13:34 +0200
Re: Operator precedence Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-05-25 23:31 +0200
Re: Operator precedence Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-05-26 00:03 +0200
Re: Operator precedence Kaz Kylheku <643-408-1753@kylheku.com> - 2024-05-25 22:26 +0000
Re: Operator precedence Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-05-30 06:59 +0200
Re: Operator precedence Axel Reichert <mail@axel-reichert.de> - 2024-05-30 10:24 +0200
Re: Operator precedence Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-05-31 17:08 +0200
Re: Operator precedence Christian Weisgerber <naddy@mips.inka.de> - 2024-05-26 00:37 +0000
Re: Operator precedence Kaz Kylheku <643-408-1753@kylheku.com> - 2024-05-26 02:06 +0000
Re: Operator precedence Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-05-30 07:26 +0200
Re: Operator precedence Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-05-30 07:06 +0200
Re: Operator precedence Axel Reichert <mail@axel-reichert.de> - 2024-05-30 10:22 +0200
Re: Operator precedence Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-05-31 17:16 +0200
Re: Operator precedence Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-05-25 23:31 +0200
Re: Operator precedence Kaz Kylheku <643-408-1753@kylheku.com> - 2024-05-26 01:29 +0000
Re: Operator precedence Axel Reichert <mail@axel-reichert.de> - 2024-05-30 10:17 +0200
Re: Operator precedence Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2024-05-31 17:46 +0200
Re: Operator precedence Axel Reichert <mail@axel-reichert.de> - 2024-06-01 09:11 +0200
Re: Operator precedence Kaz Kylheku <643-408-1753@kylheku.com> - 2024-05-24 03:45 +0000
Re: Operator precedence Axel Reichert <mail@axel-reichert.de> - 2024-05-25 13:09 +0200
Re: Operator precedence Kaz Kylheku <643-408-1753@kylheku.com> - 2024-05-25 22:20 +0000
csiph-web