Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.compilers > #324

Re: bison c-parse.y:1115.19-20: $$ for the midrule at $4 of `structsp' has no declared type

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>

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar


Thread

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