code: def parse_operand(string, location, tokens):
      
      sizes = {
          "dqword":  128,
          "pointer": 72,
          "qword":   64,
          "pointer": 40,
          "dword":   32,
          "word":    16,
          "byte":    8,
          "bit":     1,
      }
  
      if "immediate" in tokens:
          imm_str = "".join(tokens["immediate"])
          base = 16 if imm_str.startswith("0x") or imm_str.startswith("-0x") else 10
  
          imm = int(imm_str, base)
  
          oprnd = ReilImmediateOperand(imm)
  
      if "register" in tokens:
          if tokens["register"] in ["e", "empty"]:
              oprnd = ReilEmptyOperand()
  
              oprnd.size = 0
          else:
              name = tokens["register"]
  
              oprnd = ReilRegisterOperand(name)
  
      if "size" in tokens:
          oprnd.size = int(sizes[tokens["size"]])
  
      return [oprnd]
docs: Parse instruction operand.