Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #1714
| From | Kaz Kylheku <545-066-4921@kylheku.com> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: precedences vs. hierarchy |
| Date | 2016-06-07 15:35 +0000 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <16-06-008@comp.compilers> (permalink) |
| References | <16-06-001@comp.compilers> <16-06-004@comp.compilers> |
On 2016-06-06, Dmitry A. Kazakov <mailbox@dmitry-kazakov.de> wrote: > On 06/06/2016 09:08, Andreas Schramm wrote: > >> for specifying the syntax of operator expressions >> with multiple levels of precedences, >> there are essentially two approaches: >> (i) by precedence and associativity declarations, and >> (ii) by a hierarchy of non-terminals. > > (iii) By only precedence, which I prefer. Associativity is not needed if > operator precedence is split into the left and right ones. That allows > to express any associativity, unary operators included. What? You need the concept of associativity to tell whether A + B + C is (A + B) + C or A + (B + C). The + here is the same operator and so it precedence is equal to itself. Moreover, it may be on the same precedence level as other operators such as the binary -. In table shift-reduce parsers (Yacc, and such), associativity rules resolve conflicts. When the generated parser has seen the input A + B, and the lookahead symbol is +, it needs to know whether to shift the + (right associativity), or to reduce the A + B (left associativity). Unary and postfix operators do not require associativity because they are not ambiguous. op op op expr where op is a unary op, this can only mean op ( op ( op expr )), by the grammar alone. Ambiguity arises if there are both postfix and prefix operators hanging on the same expression; that is resolved by precedence. [If you can specify the left and right precedence for an operator separately, that gives you the associativity. -John]
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
precedences vs. hierarchy Andreas Schramm <bassobajo@gmail.com> - 2016-06-06 09:08 +0200
Re: precedences vs. hierarchy "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2016-06-06 17:08 +0200
Re: precedences vs. hierarchy Kaz Kylheku <545-066-4921@kylheku.com> - 2016-06-07 15:35 +0000
Re: precedences vs. hierarchy "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> - 2016-06-07 22:53 +0200
Re: precedences vs. hierarchy anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2016-06-08 09:48 +0000
Re: precedences vs. hierarchy George Neuner <gneuner2@comcast.net> - 2016-06-06 12:35 -0400
Re: precedences vs. hierarchy federation2005@netzero.com - 2016-06-06 14:01 -0700
Example: The Full Syntax Of Prolog (Re: precedences vs. hierarchy) rockbrentwood@gmail.com - 2016-08-24 15:45 -0700
csiph-web