From: | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
Newsgroups: | comp.compilers |
Date: | Mon, 7 Nov 2011 05:08:00 +0000 (UTC) |
Organization: | Aioe.org NNTP Server |
References: | 11-10-020 11-11-013 11-11-022 11-11-026 |
Keywords: | bison, parse |
Posted-Date: | 07 Nov 2011 12:29:20 EST |
Alessandro Basili <alessandro.basili@cern.ch> wrote:
(snip)
> That's another key point it worries me a lot. My goal is not to fix the
> compiler, but start using it to build my program for the aforementioned
> architecture. I would assume the shift/reduce conflicts is resulting
> from an incorrect description of the language, but if I can be able to
> understand what kind of construct of the language will trigger the
> conflict I can probably avoid to use it in my program.
Shift/reduce conflicts are not unusual, and not necessarily bad.
They often come from ambiguities in the language being parsed,
nested if-then-else being a favorite example. In many languages
with if-then-else, the else is defined to go with the nearest if,
but the syntax description doesn't know that. Specifying that
resolves the shift/reduce conflict.
Still, it might be worth trying to understand where the
conflicts come from to be sure that it is part of the
language definition.
As I understand it, though, reduce/reduce conflicts are not so
usual, and should be considered errors.
-- glen
Return to the
comp.compilers page.
Search the
comp.compilers archives again.