def _parse_number(self):
t = self._next_token()
if t.type != TokenType.NUMBER:
raise ParseError("Expected number, got '%s'" % (t.value,))
if "." in t.value:
return float(t.value)
elif "e" in t.value.lower():
return float(t.value)
elif t.value.lower().startswith("0x"):
return int(t.value, 16)
elif t.value.lower().startswith("0b"):
return int(t.value, 2)
else:
return int(t.value)
评论列表
文章目录