On Mon, Nov 21, 2005 at 12:08:08PM -0800, Larry Wall wrote:
> On Mon, Nov 21, 2005 at 07:57:59PM +0100, Ruud H.G. van Tol wrote:
> : There is a "[[:alpha:][:digit:]" and a "[[:alpha:][:digit]]" on the
> : A5-page.
>
> Hmm, well, thanks--I went to fix it and I see Patrick beat me to
> the fix. But in one of the updates, it says:
>
> +[Update: Actually, that's now written C<< <+alpha+digit> >>, avoiding
> +the mistaken impression entirely.]
I went ahead and added the update while fixing the typos. :-)
> And it occurs to me that we could probably allow <alpha+digit> there
> since there's no ambiguity what <alpha means, and we're already claiming
> the next character after the opening word to decide how to process the
> rest of the text inside angles. Even if someone writes
>
> <alpha + digit>
>
> that would fail under the current policy of treating "+ digit" as rule,
> since you can't start a rule with +.
Somehow I prefer the explicit leading + or -, so that we *know* this
is a rule composition of some sort. It also fits in well with the
convention that the first character after the '<' lets you know
what kind of assertion is being created.
> Unfortunately, though,
>
> <identchar - digit>
>
> would be ambiguous, and/or wrong. Could allow whitespace there if we
> picked an explicit "this is rule" character. Did we remove "this is
> string"?
I didn't recall seeing anything that removed "this is string", so it's
currently implemented in PGE. It's kind of a nice shortcut:
<bracketed: []()>
but it would be no real problem to eliminate it and go
strictly with:
<bracketed('[]()')>
"This is rule" is currently whitespace, whatever follows is taken to be
a pattern.
But let me know what you decide so I can make the appropriate
changes. :-)
Pm