- From: John Lumley <john@saxonica.com>
- Date: Wed, 8 Oct 2025 11:03:20 +0100
- To: Norm Tovey-Walsh <norm@saxonica.com>, Sheila Thomson <discuss@bluegumtree.com>
- Cc: public-ixml@w3.org
Received on Wednesday, 8 October 2025 10:03:27 UTC
On 08/10/2025 07:41, Norm Tovey-Walsh wrote: > The more general case “not this nonterminal” is more difficult. > There have been a few discussions around subtraction or exception operators. Seehttps://github.com/invisiblexml/ixml/issues/249 for example, but nothing really solid has developed so far. My workbench https://johnlumley.github.io/jwiXML.xhtml supports an experimental subtraction operator (¬). So with a grammar: ixml version "1.1". S: (["a"-"z"]+) ¬ ("cat";"dog"). the inputs "ca", "catch", "do" and "dodge" all match and parse, but "cat" and "dog" don't. The semantics effectively are that the left-hand operand matches provided the right hand *doesn't* match over the same character range of the input. Seems to work on simple cases, but null-matching edge cases are very dodgy. But as Norm and others point out, this is an area much under discussion and the appropriate robust semantics are far from clear -- *John Lumley* MA PhD CEng FIEE john@saxonica.com
Received on Wednesday, 8 October 2025 10:03:27 UTC