【发布时间】:2013-04-28 15:58:22
【问题描述】:
在EMCA262 version 5.1 中,十六进制整数文字的定义是:(文档第 20 页,PDF 第 32 页)
HexIntegerLiteral ::
0xHexDigit0XHexDigit
HexIntegerLiteral HexDigitHexDigit :: 其中之一
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F
我对 HIL 的理解是这样的:
(HIL(HIL(HIL(HIL(HIL(HIL HD))))))
HIL 可以看起来像 0x0(即 0x 和一个十六进制数字),HD 可以是 0,因此 HIL 可以是 0x00x00x00x00x00
显然没有这样的实现,所以我显然误解了一些东西。我应该如何解释(在我看来)这个递归定义?
【问题讨论】:
-
一般你都知道一定要写成
0x0000? -
是的,我知道十六进制应该是什么样子 n_n;
-
好吧,我不确定 ;-) 所以我不确定你的问题是什么...定义是 HexIntegerLiteral
0x HexDigit或HexIntegerLiteral HexDigit。所以我在那个定义中没有看到任何暗示。 -
是的,在我问之前我接受了我的解释是错误的。我只是不明白为什么会出错。
标签: javascript parsing ecmascript-5 hex ecma262