我一直在使用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目标的资料,那就太棒了。
谢谢
答案 0 :(得分:3)
ANTLR4有一个新的JS Lang目标,差不多3个月前发布到GitHub:
它尚未集成到正式版本中,但您可以将其放入最新的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后端:
从那时起,您可以使用ANTLRWorks 1.2.2生成词法分析器和解析器 代码从“生成”菜单中选择“生成代码”。 ANTLRWorks会 将生成的文件放入文件夹中的
output
目录中 语法文件驻留。
请注意,如果生成过程中发生错误,则由于某种原因 “生成代码”操作不再有效。简单地关闭语法和 从“打开最近”菜单重新打开它。