Patrick R. Michaud wrote:

Whitespace in regexes and rules is metasyntactic, in that it is not matched literally. Effectively what the :w (or :words or :skip) option does it to change the metasyntactic meaning of any whitespace found in the regex. Or, another way of thinking
of it -- as S05 currently stands, 'regex' and 'token' cause
the pattern whitespace to be treated as <?null>, while 'rule'
causes the pattern whitespace to become <?ws>.

So what we're really doing with this option--whatever we call it--is to specify what the whitespace _in the pattern_
should match.  Somehow ":skip" and <?skip> don't carry that
meaning for me.

In some sense it seems to me that the correct adverb is
more along the lines of :ws, :white, or :whitespace, in that
it says what to do with the whitespace in the pattern.  It
doesn't have to say anything about whether the pattern's
whitespace is actually matching \s* (although the default
rule for :ws/:white/:whitespace could certainly provide that
semantic).

I can fully see the argument that people will still
confuse :ws and <?ws> with "whitespace in the target", when in reality they specify the meaning of whitespace
in the regex pattern, so :ws might not be the right choice
for the adverb. But I think that something more closely meaning "whitespace in the pattern means /this/" would be a better adverb than :skip.

Technically, true. But understanding that requires a deep understanding of what's happening in the grammar. With 'skip' all the average user needs to understand is "I'm telling the grammar to ignore these things".


As a side note, trying to talk about both whitespace as literal thing that is matched and whitespace as a metasyntactic thing that is ignored requires a great deal of circumlocution, which is often a good trigger for language change to use a different word for one thing or the other.

Allison

Reply via email to