docs: def p_jsonpath_binop(self, p):
          """jsonpath : jsonpath '.' jsonpath 
                      | jsonpath DOUBLEDOT jsonpath
                      | jsonpath WHERE jsonpath
                      | jsonpath '|' jsonpath
                      | jsonpath '&' jsonpath"""
          op = p[2]
  
          if op == '.':
              p[0] = Child(p[1], p[3])
          elif op == '..':
              p[0] = Descendants(p[1], p[3])
          elif op == 'where':
              p[0] = Where(p[1], p[3])
          elif op == '|':
              p[0] = Union(p[1], p[3])
          elif op == '&':
              p[0] = Intersect(p[1], p[3])