On Mon, 3 Mar 2003 at 06:02 -0000, hv@crypt.org wrote: > I spent some time on this tonight without getting very far. > > It would help a lot to remove some of the module dependencies in the > script, but I had no luck trying even to get past Inline itself - > I think if the test case could be reduced to use just RecDescent and > Text::Balanced it'd probably be quite straightforward to track down > from there. > > The simplest I had with Inline was: > BEGIN { > require Inline; > Inline->import(qw/ Config DIRECTORY _Inline_test /); > Inline->import('C', 'void true() { }'); > Inline->import('C', 'void true2() { }'); > } > > .. and I'm guessing that it is Inline itself that is requiring the > BEGIN; I don't know whether it is also intrinsic to the bug. Thanks, I've been using this trying different ways to simplify it, but it is interesting that adding BEGIN { $::RD_TRACE = 1; } before trying to parse true and true2 shows that the whole C grammar in Inline::C::ParseRecDescent is processed twice, I would think that it should only be passed to Parse::RecDescent->new once, since it the grammar isn't changed.Thread Previous | Thread Next