Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #162647
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: C precedence - relative comparisons before equality operators |
| Date | 2021-09-06 16:05 +0100 |
| Organization | A noiseless patient Spider |
| Message-ID | <878s09kama.fsf@bsb.me.uk> (permalink) |
| References | (1 earlier) <precedence-20210905232846@ram.dialup.fu-berlin.de> <87y28ajz4o.fsf@bsb.me.uk> <sh4k4k$cd5$1@dont-email.me> <87k0jujatb.fsf@bsb.me.uk> <FipZI.27314$jm6.6718@fx07.iad> |
Richard Damon <Richard@Damon-Family.org> writes: > On 9/6/21 5:46 AM, Ben Bacarisse wrote: >> It was trendy to have asymmetric precedence at one time (exponentiation >> was the most common example, I think), but that seems to have been >> dropped in later manuals. > > When "Operator precedence" isn't described in terms of actual operator > precedence, but a grammar production rule, it is easy to create the > asymmetric cases. > > I wonder if the issue is that more modern systems go to a less grammar > and more descriptive way to describe expressions, which makes this sort > of asymmetry harder to describe and thus undesirable. > > It may also be related to how we write parsers, a grammar based parser > will tend to be bigger, as you need separate code (at least somewhat) > for each level of the grammar, while a precedence based parser while > somewhat more complicated that a single grammar rule, is smaller as the > repetition of rules becomes a table of operators and precedence. The "usual" expression parser can handle asymmetric cases just fine. You pass in the precedence (starting with, say, 0) and the parse is driven by a table giving associativity along with left and right precedences to pass down when parsing sub-expressions. I suspect tools like yacc might have played a role in its dying out. While you can write a suitable grammar in yacc, it also has a built in way to parse expressions simply by giving one precedence. -- Ben.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
C precedence - relative comparisons before equality operators James Harris <james.harris.1@gmail.com> - 2021-09-05 18:49 +0100
Re: C precedence - relative comparisons before equality operators Siri Cruise <chine.bleu@yahoo.com> - 2021-09-05 13:11 -0700
Re: C precedence - relative comparisons before equality operators Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-09-05 21:12 +0100
Re: C precedence - relative comparisons before equality operators David Brown <david.brown@hesbynett.no> - 2021-09-06 09:09 +0200
Re: C precedence - relative comparisons before equality operators gazelle@shell.xmission.com (Kenny McCormack) - 2021-09-05 20:19 +0000
Re: C precedence - relative comparisons before equality operators Richard Damon <Richard@Damon-Family.org> - 2021-09-05 17:52 -0400
Re: C precedence - relative comparisons before equality operators Bart <bc@freeuk.com> - 2021-09-06 00:09 +0100
Re: C precedence - relative comparisons before equality operators David Brown <david.brown@hesbynett.no> - 2021-09-06 09:15 +0200
Re: C precedence - relative comparisons before equality operators Bart <bc@freeuk.com> - 2021-09-06 11:10 +0100
Re: C precedence - relative comparisons before equality operators David Brown <david.brown@hesbynett.no> - 2021-09-06 13:01 +0200
Re: C precedence - relative comparisons before equality operators Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-09-06 04:20 -0700
Re: C precedence - relative comparisons before equality operators John Bode <jfbode1029@gmail.com> - 2021-09-07 09:27 -0500
Re: C precedence - relative comparisons before equality operators Bart <bc@freeuk.com> - 2021-09-08 00:20 +0100
Re: C precedence - relative comparisons before equality operators John Bode <jfbode1029@gmail.com> - 2021-09-08 14:18 -0500
Re: C precedence - relative comparisons before equality operators Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-09-06 02:01 +0100
Re: C precedence - relative comparisons before equality operators James Harris <james.harris.1@gmail.com> - 2021-09-06 09:39 +0100
Re: C precedence - relative comparisons before equality operators Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-09-06 10:46 +0100
Re: C precedence - relative comparisons before equality operators Richard Damon <Richard@Damon-Family.org> - 2021-09-06 10:09 -0400
Re: C precedence - relative comparisons before equality operators Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-09-06 16:05 +0100
Re: C precedence - relative comparisons before equality operators James Harris <james.harris.1@gmail.com> - 2021-09-06 09:27 +0100
Re: C precedence - relative comparisons before equality operators James Harris <james.harris.1@gmail.com> - 2021-09-06 12:18 +0100
Re: C precedence - relative comparisons before equality operators David Brown <david.brown@hesbynett.no> - 2021-09-06 13:44 +0200
Re: C precedence - relative comparisons before equality operators James Harris <james.harris.1@gmail.com> - 2021-09-06 13:38 +0100
Re: C precedence - relative comparisons before equality operators David Brown <david.brown@hesbynett.no> - 2021-09-06 18:12 +0200
Re: C precedence - relative comparisons before equality operators tth <tth@none.invalid> - 2021-09-06 18:20 +0200
Re: C precedence - relative comparisons before equality operators David Brown <david.brown@hesbynett.no> - 2021-09-06 23:40 +0200
Re: C precedence - relative comparisons before equality operators Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-09-06 17:20 -0700
Re: C precedence - relative comparisons before equality operators Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-09-06 13:44 +0100
Re: C precedence - relative comparisons before equality operators Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-09-06 17:23 -0700
Re: C precedence - relative comparisons before equality operators James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-09-06 23:07 -0400
csiph-web