Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #1517
| From | Robert Jacobson <rljacobson@gmail.com> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: Grammar with low-precedence postfix operator? |
| Date | 2015-02-07 10:30 -0800 |
| Organization | Compilers Central |
| Message-ID | <15-02-015@comp.compilers> (permalink) |
| References | <15-02-006@comp.compilers> <15-02-010@comp.compilers> |
Thanks for the response. I'll have to digest this for a bit. On Friday, 6 February 2015 22:12:10 UTC-5, Kaz Kylheku wrote: > On 2015-02-05, Robert Jacobson <rljacobson@gmail.com> wrote: > > I'm trying to write an ANTLR4 grammar for a language with a low precedence > > postfix operator (Wolfram Language with '&', but I use a simple toy grammar > > below). I'm struggling with finding the right pattern to express this > > language. > > I suspect this is not nicely solvable by LALR type tools. Only with hacks. But if I abandon implicit multiplication, collapse the grammar to a single rule, and let ANTLR handle operator precedence, ANTLR produces a parser that works. (I haven't made an attempt at a yacc grammar.) Perhaps this is because ANTLR produces ALL(*) parsers. > If you want 2+2++^3 to mean (2+2)++^3, that means that you need > a special low-precedence versions of ^ (and other operators) for that > case, so the ++ expression can be a constituent of something. > > Try something along these lines. This Yacc grammar only gives me one > shift-reduce conflicts, on account of the empty production rule for > pp_factor_continue. I didn't test it; I only skimmed through the state > transitions in y.output: I'll experiment with this, but this strategy strikes me as impractical for large grammars because you'd need to duplicate a significant portion of the grammar for the low-precedence versions of operators that can follow ++, yes?
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Grammar with low-precedence postfix operator? Robert Jacobson <rljacobson@gmail.com> - 2015-02-05 13:27 -0500
Re: Grammar with low-precedence postfix operator? Kaz Kylheku <kaz@kylheku.com> - 2015-02-05 21:10 +0000
Re: Grammar with low-precedence postfix operator? Robert Jacobson <rljacobson@gmail.com> - 2015-02-07 10:30 -0800
Re: Grammar with low-precedence postfix operator? anton@mips.complang.tuwien.ac.at (Anton Ertl) - 2015-02-07 11:27 +0000
Re: Grammar with low-precedence postfix operator? jgk@panix.com (Joe keane) - 2015-02-10 21:03 +0000
Re: Grammar with low-precedence postfix operator? Kaz Kylheku <kaz@kylheku.com> - 2015-02-11 02:19 +0000
Re: Grammar with low-precedence postfix operator? Stefan Monnier <monnier@iro.umontreal.ca> - 2015-02-08 12:34 -0500
Re: Grammar with low-precedence postfix operator? Kaz Kylheku <kaz@kylheku.com> - 2015-02-09 01:24 +0000
Re: Grammar with low-precedence postfix operator? Hans-Peter Diettrich <DrDiettrich1@netscape.net> - 2015-02-09 08:05 +0100
Re: Grammar with low-precedence postfix operator? Robert Jacobson <rljacobson@gmail.com> - 2015-02-21 12:55 -0800
csiph-web