code: def parse_enum_body(source, _anon_name, _parent):
      ending = None
      while ending != "}":
          for srcinfo in source:
              m = ENUM_MEMBER_RE.match(srcinfo.text)
              if m:
                  break
          else:
              # We ran out of lines.
              if srcinfo is not None:
                  srcinfo.done()
              return
          remainder = srcinfo.text[m.end() :]
  
          (
              close,
              name,
              init,
              ending,
          ) = m.groups()
          if close:
              ending = "}"
          else:
              data = init
              yield srcinfo.resolve("field", data, name, _parent)
          srcinfo.advance(remainder)
  
imports: import re
  from ._regexes import STRUCT_MEMBER_DECL, ENUM_MEMBER_DECL
  from ._common import log_match, parse_var_decl, set_capture_groups
label_desc: Use image node_id 3 for calling a global function with example usage: parse_enum_body(source, _anon_name, _parent) without return types