code: def parse_position_(self):
      assert self.is_cur_keyword_("AS_POSITION")
      location = self.cur_token_location_
      pos_type = self.expect_name_()
      if pos_type not in (
          "ATTACH",
          "ATTACH_CURSIVE",
          "ADJUST_PAIR",
          "ADJUST_SINGLE",
      ):
          raise VoltLibError(
              "Expected ATTACH, ATTACH_CURSIVE, ADJUST_PAIR, ADJUST_SINGLE",
              location,
          )
      if pos_type == "ATTACH":
          position = self.parse_attach_()
      elif pos_type == "ATTACH_CURSIVE":
          position = self.parse_attach_cursive_()
      elif pos_type == "ADJUST_PAIR":
          position = self.parse_adjust_pair_()
      elif pos_type == "ADJUST_SINGLE":
          position = self.parse_adjust_single_()
      self.expect_keyword_("END_POSITION")
      return position
  
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 12 for calling the Parser obj's underlying member method code with example usage: obj.parse_position_() and returns: position