PathExpr is broken if any of the contained steps uses an ANCESTOR_OP (//).
Consider for example the following pattern:
"foo/bar//baz"
We first need to check if the 'baz' part matches, then we need to walk up the
tree until we find a node that matches 'bar'. If the next node up the tree is
not an 'foo' we need to continue looking for another 'bar' to see if that has
a 'foo' parent.