Mercurial > projects > dil
changeset 59:3e594725899a
- Issuing error when no digits were found in hex and binary numbers.
author | aziz |
---|---|
date | Fri, 29 Jun 2007 06:01:03 +0000 |
parents | 50bb7fc9db44 |
children | 32cc23bd217b |
files | trunk/src/Lexer.d trunk/src/Messages.d |
diffstat | 2 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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 == '_'));
--- 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.", ];