>>> "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.
