From: gabriele renzi Date: 2005-10-14T02:56:54+09:00 Subject: Re: Default argument values for blocks Austin Ziegler ha scritto: > On 10/13/05, Christophe Grandsire wrote: > >>Yacc does. Even the simple { |a,b=1| a*b } fails because Yacc treats it as { | >>a,b=(1| a*b) }. And that *cannot* be solved in the current state of Yacc. The >>problem is that there doesn't seem to be *any* solution that solves both this >>problem and the problem of allowing bitwise or's in default arguments, short of >>renaming the bitwise or, which would be such a compatibility break that it isn't >>worth contemplating. >> >>This is at least my understanding of the problem. > > > Is there any particular reason that we can't use a different parser, > e.g., Coco or something else? Surely there's got to be something > better than Yacc by now. > > -austin I remember matz talking about ANTLR long time ago, AFAIR he said something realted to ANTLR, I think he said that while it could be fast, thread safe and a lot of nice things there were some problems on the programmer side (maybe lack of knowledge, I can't remember well). OTOH I think the people trying to rewrite a ruby parser with COCO had some problems too (think of ParseTree).