@meta.rule(Parser, "<STR_LIT>")<EOL>def read_hex_integer(self) -> bool:
if self.read_eof():<EOL><INDENT>return False<EOL><DEDENT>self._stream.save_context()<EOL>c = self._stream.peek_char<EOL>if c.isdigit() or ('<STR_LIT:a>' <= c.lower() and c.lower() <= '<STR_LIT:f>'):<EOL><INDENT>self._stream.incpos()<EOL>while not self.read_eof():<EOL><INDENT>c = self._stream.peek_char<EOL>if not (c.isdigit() or ('<STR_LIT:a>' <= c.lower() and c.lower() <= '<STR_LIT:f>')):<EOL><INDENT>break<EOL><DEDENT>self._stream.incpos()<EOL><DEDENT>return self._stream.validate_context()<EOL><DEDENT>return self._stream.restore_context()<EOL>
read a hexadecimal number
Read the following BNF rule else return False::

    readHexInteger = [
        [ '0'..'9' | 'a'..'f' | 'A'..'F' ]+
    ]