code: def _parse_dictionary(
      lines: Iterable[str], exclude_punctuations: bool
  ) -> List[str]:
      _alt_re = re.compile(r"\([0-9]+\)")
      cmudict: List[Tuple[str, List[str]]] = []
      for line in lines:
          if not line or line.startswith(";;;"):  # ignore comments
              continue
  
          word, phones = line.strip().split("  ")
          if word in _PUNCTUATIONS:
              if exclude_punctuations:
                  continue
              # !EXCLAMATION-POINT -> !
              # --DASH -> --
              # ...ELLIPSIS -> ...
              if word.startswith("..."):
                  word = "..."
              elif word.startswith("--"):
                  word = "--"
              else:
                  word = word[0]
  
          # if a word have multiple pronunciations, there will be (number) appended to it
          # for example, DATAPOINTS and DATAPOINTS(1),
          # the regular expression `_alt_re` removes the '(1)' and change the word DATAPOINTS(1) to DATAPOINTS
          word = re.sub(_alt_re, "", word)
          phones = phones.split(" ")
          cmudict.append((word, phones))
  
      return cmudict
  
file_path: audio/src/torchaudio/datasets/cmudict.py
imports: import os
  import re
  from pathlib import Path
  from typing import Iterable, List, Tuple, Union
  from torch.utils.data import Dataset
  from torchaudio._internal import download_url_to_file
label_desc: Use image node_id 1 for calling a global function with example usage: _parse_dictionary(lines, exclude_punctuations) and returns: cmudict