code: def _make_fontconfig_parser():
      def comma_separated(elem):
          return elem + ZeroOrMore(Suppress(",") + elem)
  
      family = Regex(rf"([^{_family_punc}]|(\\[{_family_punc}]))*")
      size = Regex(r"([0-9]+\.?[0-9]*|\.[0-9]+)")
      name = Regex(r"[a-z]+")
      value = Regex(rf"([^{_value_punc}]|(\\[{_value_punc}]))*")
      # replace trailing `| name` by oneOf(_CONSTANTS) in mpl 3.9.
      prop = Group(
          (name + Suppress("=") + comma_separated(value)) | name
      )
      return (
          Optional(comma_separated(family)("families"))
          + Optional("-" + comma_separated(size)("sizes"))
          + ZeroOrMore(":" + prop("properties*"))
          + StringEnd()
      )
  
imports: from functools import lru_cache, partial
  import re
  from pyparsing import Group, Optional, ParseException, Regex, StringEnd, Suppress, ZeroOrMore
  from matplotlib import _api
label_desc: Use image node_id 1 for calling a global function with example usage: _make_fontconfig_parser() and returns: unknown, unknown