docs: def _construct_punctuation_token(self, d: Dict, nlp) -> List[Dict]:
          """
          Construct a shape token
          Args:
              d: Dict
              nlp
  
          Returns: List[Dict]
          """
  
          result = []
          if not d["token"]:
              this_token = {attrs.IS_PUNCT: True}
          elif len(d["token"]) == 1:
              this_token = {attrs.ORTH: d["token"][0]}
          else:
              global FLAG_ID
              punct_set = set(d["token"])
  
              def is_selected_punct(x):
                  return x in punct_set
  
              FLAG_DICT[FLAG_ID] = nlp.vocab.add_flag(is_selected_punct)
              this_token = {FLAG_DICT[FLAG_ID]: True}
              FLAG_ID += 1
          result.append(this_token)
          result = self._add_common_constrain(result, d)
          return result