Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.compilers > #324
| From | George Neuner <gneuner2@comcast.net> |
|---|---|
| Newsgroups | comp.compilers |
| Subject | Re: bison c-parse.y:1115.19-20: $$ for the midrule at $4 of `structsp' has no declared type |
| Date | 2011-11-04 12:56 -0400 |
| Organization | A noiseless patient Spider |
| Message-ID | <11-11-022@comp.compilers> (permalink) |
| References | <11-10-020@comp.compilers> <11-11-013@comp.compilers> |
On Wed, 02 Nov 2011 12:33:46 -0400, George Neuner
<gneuner2@comcast.net> wrote:
Someone commented offline that my rewrite might not work *if* the
mid-rule start_struct call was needed for recursive structure
definitions. I had looked at the code for start_struct before posting
and it looks like it should handle that situation, but it's difficult
to be sure without building the whole compiler.
John had commented that he tried the obvious fix and got more errors,
so I had looked to eliminate the mid-rule clause. But, it turns out
that with bison 2.4.1, either of the versions below will eliminate the
errors.
STRUCT identifier '{'
{ $<ttype>$ = start_struct (RECORD_TYPE, $2); }
component_decl_list '}'
{ $$ = finish_struct ($<ttype>4, $5); }
or
STRUCT identifier '{'
{ $<ttype>3 = start_struct (RECORD_TYPE, $2); }
component_decl_list '}'
{ $$ = finish_struct ($<ttype>3, $5); }
The second version passes the state through the token for the opening
brace in case mid-rule results are somehow broken.
Remember, though, that just because bison is happy does not mean the
generated C code will work.
Hope this ... doesn't confuse the issue more.
George
Back to comp.compilers | Previous | Next — Previous in thread | Next in thread | Find similar
bison c-parse.y:1115.19-20: $$ for the midrule at $4 of `structsp' has no declared type Alessandro Basili <alessandro.basili@cern.ch> - 2011-10-31 14:15 +0100
Re: bison c-parse.y:1115.19-20: $$ for the midrule at $4 of `structsp' has no declared type Hans Aberg <haberg-news@telia.com> - 2011-10-31 20:49 +0100
Re: bison c-parse.y:1115.19-20: $$ for the midrule at $4 of `structsp' has no declared type Alessandro Basili <alessandro.basili@cern.ch> - 2011-11-02 09:45 +0100
Re: bison c-parse.y:1115.19-20: $$ for the midrule at $4 of `structsp' has no declared type George Neuner <gneuner2@comcast.net> - 2011-11-02 12:33 -0400
Re: bison c-parse.y:1115.19-20: $$ for the midrule at $4 of `structsp' has no declared type George Neuner <gneuner2@comcast.net> - 2011-11-04 12:56 -0400
Re: bison c-parse.y:1115.19-20: $$ for the midrule at $4 of `structsp' has no declared type Alessandro Basili <alessandro.basili@cern.ch> - 2011-11-06 19:24 +0100
Re: bison c-parse.y:1115.19-20: $$ for the midrule at $4 of `structsp' has no declared type glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2011-11-07 05:08 +0000
Re: bison c-parse.y:1115.19-20: $$ for the midrule at $4 of `structsp' has no declared type George Neuner <gneuner2@comcast.net> - 2011-11-07 03:18 -0500
csiph-web