In EMCA262 version 5.1 the definition of a hexadecimal integer literal is: (document page 20, PDF page 32)
HexIntegerLiteral ::
0x
HexDigit
0X
HexDigit
HexIntegerLiteral HexDigitHexDigit :: one of
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
The way I understand it an HIL can look like this:
(HIL (HIL (HIL (HIL (HIL (HIL HD))))))
An HIL can look like 0x0
(that is 0x
and a Hex Digit) and an HD can be 0
, so an HIL can be 0x00x00x00x00x00
Obviously no implementation works like this, so I'm clearly misunderstanding something. How should I interpret (in my mind) this recursive definition?