ANTLR JavaScript目标

时间:2010-03-29 18:49:33

标签: javascript antlr

我一直在使用ANTLR为Java目标生成标记语言的解析器+树语法,它可以正常工作。现在我试图让JavaScript中的目标在我的Web浏览器中使用它。

但是,我无法找到有关如何执行此操作的任何好文档。我正在使用带有ANTLR IDE的eclipse,当我将语言指定为JavaScript时,我会收到以下错误。

此行有多个标记

  • (10):内部错误:组JavaScript不满足接口ANTLRCore:这些模板上的参数不匹配[treeParser(语法,名称,范围,标记,tokenNames,globalAction,规则,numRules,bitsets,labelType,ASTLabelType) ,superClass,members,filterMode)]

  • (10):内部错误:java.util.NoSuchElementException:没有这样的属性:模板上下文中的filterMode [treeParser]

如果有人可以帮我解决这个问题,或者向我指出一些我可以通过ANTLR阅读有关JavaScript目标的资料,那就太棒了。

谢谢

4 个答案:

答案 0 :(得分:3)

ANTLR4有一个新的JS Lang目标,差不多3个月前发布到GitHub:

antlr/antlr4-javascript

它尚未集成到正式版本中,但您可以将其放入最新的ANTLR4代码库并自行重新编译ANTLR。

答案 1 :(得分:0)

您应该使用最新版本(3.3),在以前的版本中,javascript目标未正确集成。还有一些错误,但你可以看到一个有一些指导和链接的工作示例 http://blog.barvinograd.com/2011/03/online-function-grapher-formula-parser-part-2/

答案 2 :(得分:0)

好像JavaScript目标在3.4版本中再次被破坏了。 3.3虽然对我来说很好。

答案 3 :(得分:0)

我一直在尝试让这个工作,并且只是在阅读完之后成功生成了.js文件:

http://www.antlr3.org/pipermail/antlr-interest/2011-August/042417.html

来自帖子:

以下是如何开始使用ANTLR和JavaScript后端:

  1. 下载ANTLRWorks 1.2.2:< http://antlr.org/download/antlrworks-1.2.2.jar取代。 JavaScript目标 仅在IDE生成词法分析器和解析器代码时才有效(请参阅< http://antlr.1301665.n2.nabble.com/maven-plugin-and-javascript-target-td3647109.html&GT)。 如果您尝试从命令行运行ANTLR v3.1,您将看到错误 消息“错误(10):内部错误:组JavaScript不满足 接口ANTLRCore“。
  2. 下载JS运行时分发: http://antlr.org/download/antlr-javascript-runtime-3.1.zip
  3.   

    从那时起,您可以使用ANTLRWorks 1.2.2生成词法分析器和解析器   代码从“生成”菜单中选择“生成代码”。 ANTLRWorks会   将生成的文件放入文件夹中的output目录中   语法文件驻留。

    请注意,如果生成过程中发生错误,则由于某种原因 “生成代码”操作不再有效。简单地关闭语法和 从“打开最近”菜单重新打开它。