From: | Alessandro Basili <alessandro.basili@cern.ch> |
Newsgroups: | comp.compilers |
Date: | Wed, 02 Nov 2011 09:45:18 +0100 |
Organization: | Compilers Central |
References: | 11-10-020 11-11-003 |
Keywords: | bison, parse, comment |
Posted-Date: | 02 Nov 2011 22:42:06 EDT |
On 10/31/2011 8:49 PM, Hans Aberg wrote:
> On 2011/10/31 14:15, Alessandro Basili wrote:
>> ... then I got the following message:
>>
>>> cd .; bison -v -d c-parse.y -o c-parse.c
>>> c-parse.y: conflicts: 10 shift/reduce
>>> c-parse.y: expected 8 shift/reduce conflicts
>>
>> I believe I'm in the dark here.
>
> Usually, it means that one has to get hold of the authors of the
> package, to find out what they had in mind:
unfortunately the author does not reply and I believe the current
maintainer is also not working on it.
> One can deliberately leave shift/reduce conflicts, in which case Bison
> will issue a warning, which can be suppressed %expect (see section 3.7.8
> "Suppressing Conflict Warnings" in the Bison manual).
thanks for pointing out.
> However, there is no way to be sure of that. Especially when it say
> expected 8, and you got 10. But the compile and parser will run.
>
> Hans
> [I made the obvious patches and also got 10 rather than 8. I agree,
> give this decade-old code a try and see if it works. -John]
what do you mean by obvious patches? I managed to compile and still have
a bunch of warning that I'm trying to get rid of. Here's what I'm left
with so far:
> c-common.c: In function decl_attributes':
> c-common.c:237: warning: assignment from incompatible pointer type
> expr.c: In function emit_block_move':
> expr.c:1587: warning: passing argument 1 of emit_library_call' makes pointer from integer without a cast
> expr.h:536: note: expected rtx' but argument is of type int'
> expr.c: In function clear_storage':
> expr.c:1734: warning: passing argument 1 of emit_library_call' makes pointer from integer without a cast
> expr.h:536: note: expected rtx' but argument is of type int'
> expr.c: In function emit_push_insn':
> expr.c:2233: warning: passing argument 1 of emit_library_call' makes pointer from integer without a cast
> expr.h:536: note: expected rtx' but argument is of type int'
> expr.c: In function expand_assignment':
> expr.c:3054: warning: passing argument 1 of emit_library_call' makes pointer from integer without a cast
> expr.c:2375: note: expected rtx' but argument is of type int'
> expr.c: In function store_expr':
> expr.c:3279: warning: passing argument 1 of emit_library_call' makes pointer from integer without a cast
> expr.c:2375: note: expected rtx' but argument is of type int'
> expr.c: In function expand_expr_1':
> expr.c:5013: warning: left shift count >= width of type
> expr.c:5017: warning: left shift count >= width of type
> cexp.y: In function parse_escape':
> cexp.y:797: warning: left shift count >= width of type
> cexp.y:799: warning: left shift count >= width of type
> cexp.y:827: warning: left shift count >= width of type
> cexp.y:829: warning: left shift count >= width of type
Giving it a try is a bit difficult, since I'm not sure how to check a
compiler! Assuming I manage to compile my application for the ADSP21010,
it would also be difficult to check that what I got is what I expect on
a systematic basis.
Any hint for verifying the compiler (and linker/assembler which I still
need to build!) would be of a great help.
[See the next message. -John]
Return to the
comp.compilers page.
Search the
comp.compilers archives again.