[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: SableCC 4.0 preliminary highlights [Was: building sablecc from CVS]



Quoting Etienne Gagnon <egagnon@xxxxxxxxxxx>:

> Hi Aske,

Hi Etienne!

> There will probably be some minor 3.x release, but as far as I know, 3.2
> has no real bugs in it.  Are you waiting for any specific bug (?) to be
> fixed?

Yes - the tree invariant bugs I told you about some time ago (mail to SableCC
Developers Mailing List on March 20, subject "SableCC 3.2 and the tree
invariant").

Right now my code contains workarounds like

block.setStatements((List<PStm>)block.getStatements().clone());

after I have added a node to a child list, in order to set the parent pointer of
the newly added node correctly. This is both ugly, slow and non-intuitive, and
there doesn't seem to be a similar workaround possible for removing nodes,
since parent pointers are (rightfully) not directly accessible.

As I wrote back then, fixing this bug (and some of the others I mentioned)
requires a special child list implementation, much like the one used in pre-3.2
versions.

I will probably (but no promises) take a shot at fixing these bugs myself
(sometime around the beginning of august, most likely). Just wanted to know if
there were any plans to fix them anyway. I will see if I can send you a patch
by then, but it might be a bit complicated, as we have made a few other changes
to our local SableCC version.

-Aske