Javascript ECMAScript的EBNF?
我试图找到ECMAScript的一个好的EBNF描述,但到目前为止我还没有找到任何完整的描述 有什么想法吗?你觉得这个怎么样? 按定义完成:-} 编辑:如果需要现有语法,请尝试使用语法生成器工具网站之一。 对于ANTLR,以下是 .Javascript ECMAScript的EBNF?,javascript,bnf,ebnf,ecma262,javacc,Javascript,Bnf,Ebnf,Ecma262,Javacc,我试图找到ECMAScript的一个好的EBNF描述,但到目前为止我还没有找到任何完整的描述 有什么想法吗?你觉得这个怎么样? 按定义完成:-} 编辑:如果需要现有语法,请尝试使用语法生成器工具网站之一。 对于ANTLR,以下是 . 我对它的质量一无所知,但是如果语法构建得很小心,ANTLR可以生成好的解析器。您可能会发现语法也与一堆ANTLR内容交织在一起,因此从您的角度来看,它可能会遇到一些与标准相同的问题。至少你可以删除所有这些内容。Crockford的JavaScript第2章:好的部分
我对它的质量一无所知,但是如果语法构建得很小心,ANTLR可以生成好的解析器。您可能会发现语法也与一堆ANTLR内容交织在一起,因此从您的角度来看,它可能会遇到一些与标准相同的问题。至少你可以删除所有这些内容。Crockford的JavaScript第2章:好的部分图表(你猜到了)好的部分 下面是BNF for JavaScript的几个尝试:
- 正则表达式文字与除法(您无法在lexer级别区分它们)
- 自动分号插入(ASI)
另外,我刚刚注意到这个问题是从09年开始的,所以我的邀请可能太迟了 也许是精确的,但它是一种PDF格式,在整个文档中传播语法片段,并使用粗体作为文字标记-这意味着(自动或手动)从中提取完整的EBNF将是一种冗长的痛苦。是的,由于ANTLR实际上是一个语法,我应该能够创建一个脚本来转换它。稍后我会尝试一下,看看我能做到什么。(与ANTLR本身相处得不太好,所以我正在尝试各种其他工具,看看我更喜欢什么)。嘿,所以只要测试ANTLR脚本以确保其工作,我就会得到
171警告/28错误/BUILD FAIL
:/第一个错误是突出显示选项中显然微不足道的词汇表,因此不确定上面有什么:(我真的希望我不会为了手动编译一个工作语法而被迫翻阅近两百个PDF页面。欢迎使用开源。你到底想做什么?答案中的脚本链接已经死了(2014年3月)-新链接是Tom Copeland一个不完整(没有令牌或终端)-它是从一个JavaCC脚本生成的,即使我尝试使用原始脚本,我也会不断出错。对于另一个dherman/ClassicJavascript链接,我不知道它是关于什么的:SYeah。我只是认为没有人对脚本语言的EBNF非常感兴趣。动态语言不适合递归下降编译。What good是一个传统的编译器,当你可以动态地用字符串构建函数时?加速JS是关于FORT的,比如TIL、公共路径的运行时分析、标记化等等。我确实对如何处理动态内容有一些模糊的想法,但到目前为止我还没有做到这一点!你能提供一些解释吗(或提供链接)“TIL”是什么-搜索太多,无法返回任何内容。:(线程解释语言(如Forth等语言)。你应该准备好Python编译器。问题是你带来了多少运行时间。Microsoft DLR也很有趣。链接已断开:404确实如此。谷歌搜索表明它现在在github上。编辑链接“ps。我刚刚注意到问题来自09,所以我的邀请可能太晚了。”没有-我想要这个项目已经搁置了很长一段时间,虽然不幸的是我现在没有时间重新启动它,但我仍然有模糊的计划在某个时候这样做。我已经为你的项目添加了书签,以备下次有机会时使用。谢谢。)