I'm trying to build tools for a file format with lots of 64-bit little-endian unsigned integers as constants. Even when they're correctly represented in an on-disk .grammar file, when that file is loaded, many of the constants take on the specific value "0x7FFFFFFFFFFFFFFF".
It looks like perhaps 0x8000000000000000 is the largest constant value which is correctly managed?