def parse_number(self):
value = self.current_token.value<EOL>suffix = value[-<NUM_LIT:1>].lower()<EOL>try:<EOL><INDENT>if suffix in NUMBER_SUFFIXES:<EOL><INDENT>return NUMBER_SUFFIXES[suffix](value[:-<NUM_LIT:1>])<EOL><DEDENT>return Double(value) if '<STR_LIT:.>' in value else Int(value)<EOL><DEDENT>except (OutOfRange, ValueError):<EOL><INDENT>return String(value)<EOL><DEDENT>
Parse a number from the token stream.