code: def parse(self) -> InstanceRoute:
          
          res = InstanceRoute()
          while True:
              self.char("/")
              res.append(MemberName(*self.prefixed_name()))
              try:
                  next = self.peek()
              except EndOfInput:
                  return res
              if next == "[":
                  self.offset += 1
                  self.skip_ws()
                  next = self.peek()
                  if next in "0123456789":
                      ind = self.unsigned_integer() - 1
                      if ind < 0:
                          raise UnexpectedInput(self, "positive index")
                      self.skip_ws()
                      self.char("]")
                      res.append(EntryIndex(ind))
                  elif next == '.':
                      self.offset += 1
                      res.append(EntryValue(self._get_value()))
                  else:
                      res.append(self._key_predicates())
                  if self.at_end():
                      return res
docs: Parse instance identifier.