我试图找到一份好的ECMAScript的EBNF描述,但迄今为止我还没有找到完整的东西。
有什么想法吗?
我试图找到一份好的ECMAScript的EBNF描述,但迄今为止我还没有找到完整的东西。
有什么想法吗?
关于ECMAScript标准,它是否完全符合定义呢? :-}
编辑:如果你需要一个现有的语法,可以尝试其中一个语法生成器工具网站。 对于ANTLR,这里是ECMAScript语法。我不了解它的质量,但如果语法构建得当,ANTLR可以生成良好的解析器。你可能还会发现语法与一堆ANTLR内容交织在一起,因此从你的角度来看,它可能会遭受与标准相同的问题。至少你可以把所有这些东西都删除掉。
Crockford的《JavaScript: The Good Parts》第2章节展示了(你猜对了)好的部分。
这里提供了几个JavaScript的BNF范例:
来自早期的SO问题:
我正在为ECMAScript开发基于javacc的解析器。这是目前我的语法:
参见 Tom Copeland 的 EcmaScript BNF:
除了“另一个JavaScript解释器”:
除了Dojo Toolkit的语法(可能基于YAJI): 从我的角度来看,YAJI或Dojo Toolkit是最好的、最完整的(据我所知)。我正在以它们为基础进行工作,但希望使其更加完整(5.1/6)和符合标准,同时又实用。请尝试此链接ecmascriptA3,其中包含ECMAScript的BNF。