I haven't found anything in ECMA that says an Integer expressed in hexadecimal is any different than an Integer expressed in decimal. See section 8.32.30 for semantics of an Integer. But the compiler gives a syntax error for {INTEGER_8} 255 and (correctly in my view) says that the value is too large for INTEGER_8. Surely the same error should be issued for {INTEGER_8} 0xff which is identical to the first expression except that hexadecimal notation is used for the Integer.