Questions tagged «javacc»

1
为什么019不是JavaScript语法错误?还是为什么019> 020
如果我输入019 > 020JavaScript控制台(在Chrome和Firefox中都经过测试),则会得到答案true。 这是由于020被解释为OctalIntegerLiteral(等于16),而019显然是被解释为DecimalLiteral(等于19)。如19大于16,019 > 020则为true。 让我感到困惑的是为什么019将其解释为DecimalLiteral第一位。这是什么产品?DecimalIntegerLiteral不允许019: DecimalIntegerLiteral :: 0 NonZeroDigit DecimalDigits_opt OctalIntegerLiteral也不允许019(因为9不是八进制数字): OctalIntegerLiteral :: 0 OctalDigit OctalIntegerLiteral OctalDigit OctalDigit :: one of 0 1 2 3 4 5 6 7 因此,从我在规范中看到的内容来看,019实际上应该拒绝它,我不明白为什么将其解释为十进制整数。 我猜这里有某种兼容规则,但是我没有找到正式的定义。可以请任何人帮助我吗? (为什么需要这样做:我正在使用JavaCC开发Java的JavaScript / ECMAScript解析器,因此必须特别注意其规范-及其偏差。)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.