在 2006/7/17 下午 3:41 時,Joshua Hoblitt 寫到:

4th Option: fix flex. ;)

Turns out flex 2.5.30+ has a reentrant mode. However, it also has an incompatible API with earlier flex, even in non-reentrant mode. I've attached a patch under http:// rt.perl.org/rt3//Public/Bug/Display.html?id=34669 (need flex 2.5.30+ to run) that updates imcc.l to deal with "%option reentrancy" and the additional yyscanner parameter.

However, imcc.y currently only allows one additional param to be passed as YYLEX_PARAM, and it's already taken by the Parrot interpreter, so until we put yyscanner into the interp somehow, or change the generated bison
parser, this wouldn't work.

As I'm writing this, I noticed that Allison has ruled that we go with PIR/PGE and eventually C-based libpge instead -- since a lexer refactoring that doesn't affect the IMCC API will somehow throw important projects on Parrot into a "dead stall", and thread safety for PIR compilation is not a 1.0 goal anyway -- I'll abandon working on this, and
focus on helping getting a C-based libpge started instead. :-)

Thanks,
Audrey

Attachment: PGP.sig
Description: This is a digitally signed message part

Reply via email to