Re: is there an implementation of Shape Expressions that correctly handles recursive shapes?

* Peter F. Patel-Schneider <pfpschneider@gmail.com> [2015-03-20 10:46-0700]
> On 03/20/2015 10:25 AM, Eric Prud'hommeaux wrote:
> > * Peter F. Patel-Schneider <pfpschneider@gmail.com> [2015-03-20
> > 09:29-0700]
> >> On 03/20/2015 07:53 AM, Eric Prud'hommeaux wrote:
> >>> * Peter F. Patel-Schneider <pfpschneider@gmail.com> [2015-03-20 
> >>> 06:54-0700]
> 
> [...]
> 
> 
> >> The point of the example is to force the recursion through the
> >> negative branch of the exclusive or, so removing the ex:q triples is a
> >> very different example.
> > 
> > 
> > Hmm, adding { ex:b ex:q ex:z . ex:c ex:q ex:z . } back in causes it to 
> > fail trivially on the XOR:
> > 
> > FAIL { Errors: ☹   expected <http://ex.example/#a> <http://ex.example/#p>
> > <http://ex.example/#c>. to match <http://ex.example/#p> @<T>* FAIL { 
> > Errors: ☹                 no matches of ((<http://ex.example/#q> @<Z>)| 
> > (<http://ex.example/#r> @<T>))[[]] Matches: ex:q @<Z> matched by ex:c
> > ex:q ex:z . PASS {
> > 
> > } ex:r @<T> matched by ex:c ex:r ex:b . PASS {
> > 
> > } }
> 
> Why does ex:b match <T>?  Why does ex:c not match <T>?

It didn't get that far. I suppose it could have another switch to
suppress early return on failure.


> > Narrating that a bit I see that it failed on ex:a ex:p ex:c because it 
> > didn't match the XOR, because it matched both ex:q @<Z> and ex:r @<T>. 
> > I'm not sure that tested what you wanted to test.
> 
> peter

-- 
-ericP

office: +1.617.599.3509
mobile: +33.6.80.80.35.59

(eric@w3.org)
Feel free to forward this message to any list for any purpose other than
email address distribution.

There are subtle nuances encoded in font variation and clever layout
which can only be seen by printing this message on high-clay paper.

Received on Friday, 20 March 2015 18:29:00 UTC