nothing to do with 119 vs 88 discussion.
No, it isn't in any discussion, It's just how I imagine a
tokenizer/clarifier would work.
Any subroutine declaration, for instance
sub Cmp:infix($$){
return uc($_[0]) cmp uc($_[1])
};
implicitly sets up a "catch unknown-keyword:Cmp" routine; that is,
it installs the name of the function in a place the clarifier will know
to look for the definition.
It doesn't convert it to opcodes, doesn't "parse" it yet, just stores
the token string.
Later, while parsing some expression or other, Cmp is encountered.
BAREWORD:Cmp is looked up in the whaddayaknow table, and there it is,
an infix subroutine taking two scalar arguments, so if that makes sense
with what is in front of and behind it, it gets evaluated as such.
it's an exception in that it is not in the short list of functions
I've used very recently, or something like that. This
Nathan Torkington wrote:
>
> David L. Nicol writes:
> > If we use exceptions of some kind to handle
> > syntax, encountering an exception of type "unknown-keyword:Cmp" could
> > result in the subroutine definition getting run to clarify this piece
> > of code.
>
> I'm nervous about this. I'm trying to picture what happens, and
> having trouble. Could you post some hypothetical code that would
> trigger the exception (including the loading of the module that
> defines the exception) so I can better see what you're proposing?
>
> If this was in last week's discussion, please send me a pointer to
> the archives.
>
> Thanks,
>
> Nat
--
David Nicol 816.235.1187 [EMAIL PROTECTED]
safety first: seat-belt wearers for Nader in 2000