def METHOD_NAME(tokens):
  if tokens.number:
    if tokens.number.integer:
      return int(tokens.number.integer)
    if tokens.number.float:
      return float(tokens.number.float)
    if tokens.number.scientific:
      return float(tokens.number.scientific[0])
    raise InputParameterError("unknown numeric type in target evaluator")
  if tokens.string:
    return tokens.string[1:-1]
  if tokens.boolean:
    return tokens.boolean[0] == 'true'
  if tokens.none:
    return None
  if tokens.infinity:
    return float('inf')
  raise InputParameterError("unknown token in target evaluator")