# HG changeset patch # User aziz # Date 1183096863 0 # Node ID 3e594725899a747dc4d45ef1c52b3010e17c2a72 # Parent 50bb7fc9db44b1f9ac6602489b28f11c6ab7c342 - Issuing error when no digits were found in hex and binary numbers. diff -r 50bb7fc9db44 -r 3e594725899a trunk/src/Lexer.d --- a/trunk/src/Lexer.d Fri Jun 29 05:47:00 2007 +0000 +++ b/trunk/src/Lexer.d Fri Jun 29 06:01:03 2007 +0000 @@ -999,6 +999,9 @@ ulong_ += *p - 'a' + 10; } + if (digits == 16) + error(MID.NoDigitsInHexNumber); + switch (*p) { case '.': @@ -1034,6 +1037,9 @@ break; } + if (digits == 0) + error(MID.NoDigitsInBinNumber); + if (digits > 64) error(MID.OverflowBinaryNumber); assert((p[-1] == '0' || p[-1] == '1' || p[-1] == '_') && !(*p == '0' || *p == '1' || *p == '_')); diff -r 50bb7fc9db44 -r 3e594725899a trunk/src/Messages.d --- a/trunk/src/Messages.d Fri Jun 29 05:47:00 2007 +0000 +++ b/trunk/src/Messages.d Fri Jun 29 06:01:03 2007 +0000 @@ -42,6 +42,8 @@ OverflowHexNumber, OverflowBinaryNumber, OverflowOctalNumber, + NoDigitsInHexNumber, + NoDigitsInBinNumber, } string[] messages = [ @@ -80,4 +82,6 @@ "overflow in hexadecimal number.", "overflow in binary number.", "overflow in octal number.", + "invalid hex number; at least one hex digit expected.", + "invalid binary number; at least one binary digit expected.", ];