>>> "Joel" == Joel E Denny <[EMAIL PROTECTED]> writes:

 > On Wed, 7 Jun 2006, Akim Demaille wrote:
 >> always used this "feature" (which at the time was rather an exploit
 >> from a loophole in the parser) with a single id: the name I wanted to
 >> give to the union.

 > Is there a difference between that and a subsequent typedef YYSTYPE id in 
 > a literal block?

I don't recall the exact details, but yes, at that time there was a
difference.  It might well be that there was no typedef, but just a
#define, I don't remember.

Still, I agree today it makes no sense.

 >> As for the first point, I had received complaints from users who
 >> disliked the fact that they faced errors with yacc: they wanted bison
 >> to be more yackish.

 > POSIX specifies this?  I didn't find it, but it's like searching for a 
 > needle in a haystack.  Or is this just a common convention in yacc 
 > implementations?  I can't imagine the original point of it.

You might have read it backwards: POSIX probably asks nothing about
this semi-colon.  But Bison used to add such a semi-colon, and
therefore its users could produce invalid code with other Yaccs.  So
as a feature, Bison adds this `;' only if ! yacc_flag.  I'm proposing
to never ever add it.





Reply via email to