code: def _process_first_group(self, group):
          
          if "-" in group:
              # range
              if len(group.split("-")) == 2:
                  arr = group.split("-")
                  start = self._parse_codepoint(arr[0])
                  end = self._parse_codepoint(arr[1])
          else:
              # single char/U+xxxx
              start = self._parse_codepoint(group)
              end = start
          result = []
          if (start > -1) and (end >= start):
              for index in range(start, end + 1):
                  result.append(gf.safe_unichr(index))
          return result
docs: Process the first group of a rule.