Thanks, patch pushed! I also removed the redundant line of code pointed out in your follow-up message.

On 05/26/2015 07:53 AM, Gabriel Riba wrote:
Affected: urweb.lex

1. Oversized int literals throw an unhandled Overflow exception in SML Basis Int64.fromString, making the lexer fail.

Documentation: http://sml-family.org/Basis/integer.html#SIG:INTEGER.scan:VAL

Adding

handle Overflow => NONE

solves it.

2. Hexadecimal literals are defined too shortly, and refuse values bigger then 32 bits.

hexconst = 0x[0-9A-F]{1,8};

The actual definition with max. repetitions specifier, causes an oversized literal to be split in two tokens making the error ugly.

It is better to accept the whole token and check for the Overflow when converted, adding the exception handler as with the previous section.

(This bug is from a proposal of mine, so It was my fault)

_______________________________________________
Ur mailing list
[email protected]
http://www.impredicative.com/cgi-bin/mailman/listinfo/ur

Reply via email to