我正在尝试为我使用的脚本语言创建一个Xtext解析器。该语言非常接近ANSI-C。
我首先将此https://github.com/antlr/examples-v3/blob/master/C/C/C.g语法转换为Xtext并删除我不需要的部分(结构,类型等等)
然而,我遇到了问题,我不知道如何正确调试它们并找到我的错误。 我收到了
error(10): internal error: org.antlr.tool.Grammar.createLookaheadDFA(Grammar.java:1279): could not even do k=1 for decision 39; reason: timed out (>10000ms)
以及OutOfMemoryError
例外。
有人可以提出“调试”语法的方法吗?第39号决定在哪里?我很想找到问题,但我找不到任何东西。
PS:我在这里发布了语法列表,不会使帖子变得杂乱http://pastebin.com/8AYNUbSD
答案 0 :(得分:0)
您可以通过激活workflow.mwe2中的调试模式来生成Antlr语法(.g),添加以下片段:
fragment = org.eclipse.xtext.generator.parser.antlr.DebugAntlrGeneratorFragment {}
然后,您可以使用AntlrWorks IDE调试此调试语法 快速教程here