A couple days ago I wrote about Java syntax for hexadecimal representation of floating point numbers like this:
0x1.fffffeP+127f
token HexLiteral { '0' ['x'|'X'] [ | '.'+ ? ? | + [ | '.' * ? ? | ? ] ] } token HexDigit { [\d|<[a..f]>|<[A..F]>] } token HexExponent { ['p'|'P'] ['+'|'-']? \d+ } token FloatTypeSuffix { 'f'|'F'|'d'|'D' }