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' }