I'd take the latter approach myself, since in any event it will probably need tweaks that are foreign to whatever tool you choose. In particular, the fact that Perl 6 uses string comparison rather than numeric comparison to do precedence levels is going to give almost any standard tool a hissyfit. (We do that so that the user never has to specify a precedence level--all levels are specified relative to an existing operator's precedence level. And with strings, we can fit as many new precedence levels into the interstices as the user likes without ever running out of numeric precision.)
I think the prudent thing to do there, since we're going to very rarely be adding new operators, is to assign the darned things real precedence numbers which get dynamically set. Add a new operator between two others and everything gets renumbered.
--
Dan
--------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk