code: def parse_context_(self):
      location = self.cur_token_location_
      contexts = []
      while self.next_token_ in ("EXCEPT_CONTEXT", "IN_CONTEXT"):
          side = None
          coverage = None
          ex_or_in = self.expect_name_()
          # side_contexts = [] # XXX
          if self.next_token_ != "END_CONTEXT":
              left = []
              right = []
              while self.next_token_ in ("LEFT", "RIGHT"):
                  side = self.expect_name_()
                  coverage = self.parse_coverage_()
                  if side == "LEFT":
                      left.append(coverage)
                  else:
                      right.append(coverage)
              self.expect_keyword_("END_CONTEXT")
              context = ast.ContextDefinition(
                  ex_or_in, left, right, location=location
              )
              contexts.append(context)
          else:
              self.expect_keyword_("END_CONTEXT")
      return contexts
  
imports: import fontTools.voltLib.ast
  from fontTools.voltLib.lexer import Lexer
  from fontTools.voltLib.error import VoltLibError
  from io import open
label_desc: Use image node_id 10 for calling the Parser obj's underlying member method code with example usage: obj.parse_context_() and returns: contexts