问题标签 [antlrworks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
530 浏览

parsing - 问题 antlrworks 代码太大

在 Antlrworks 中,我收到此错误:

在 Java 项目中使用生成的代码可以正常工作。什么可以有这个问题?

谢谢。

0 投票
2 回答
6077 浏览

c# - 可视化使用 ANTLR 创建的 AST(在 .Net 环境中)

对于一个宠物项目,我开始摆弄 ANTLR。在学习了一些教程之后,我现在尝试为我自己的语言创建语法并生成一个 AST。

现在我主要在 ANTLRWorks 中乱搞,但现在我已经验证了解析树似乎很好,我想(迭代地,因为我仍在学习并且仍然需要就最终结构做出一些决定树)创建AST。antlrworks 似乎无法将其可视化(或者至少不使用“解释器”功能,调试在我的任何机器上都不起作用)。

底线:以手动方式可视化 AST 的唯一方法是遍历/显示它还是以字符串表示形式将树打印到控制台?

我正在寻找的是一种从输入、语法-> 视觉 AST 表示的简单方法,即 ANTLRWorks 的“解释器”功能。有任何想法吗?

0 投票
1 回答
597 浏览

java - 为什么 Antlr 不生成词法分析器 java 文件?

Antlr3 不生成 Mylexer.java。我用 AntlrWorks...

当我有语法开始时

语法 mylexer;

它确实生成 myParser.java

它看起来很简单..我想知道可能是什么原因..以及解决方案...我没有收到错误消息。

0 投票
1 回答
2767 浏览

antlr - ANTLR:ANTLRWorks 向导中的简单示例不起作用

语法:

它是用向导生成的语法;我添加了规则“开始”。

在解释器中输入:

结果在控制台:

截图: http ://habreffect.ru/files/200/4cac2487f/antlr.png

ANTLRWorks v1.4 也在 ANTLR v3.2 的控制台上尝试过,结果相同。

如果我输入“\nabc”而不是“abc”,它工作正常。如果我在 STRING 规则中将 ESC_SEQ 放在右侧,则 "abc" 有效,但 "\nabc" 失败。

0 投票
1 回答
413 浏览

antlr - HTML 子集语法中的 MismatchedTokenException

我正在编写一个 ANTLR 语法来识别纯文本中的 HTML 块级元素。这是一个相关的片段,仅限于div标签:

TEXT标记应该表示任何非块级元素,例如纯文本或内联标记(例如<b><\b>)。当我在嵌套块元素上测试它时,例如:

<div level_0><div level_1></div></div>

它正确解析它们。但是,只要我添加一些随机文本,它就会在消耗第一个TEXT令牌后立即抛出 MismatchedTokenException(0!=0),例如大写T

<div level_0>This is some random text</div>

有什么建议么?我在做一些概念上的错误吗?我正在使用 ANTLR v. 3.2 并使用 ANTLRWorks v. 1.4 进行测试。

谢谢

0 投票
1 回答
1036 浏览

antlr - ^ 和 ! 代表 ANTLR 语法

我很难弄清楚 ^ 和 ! 代表 ANTLR 语法术语。

0 投票
1 回答
170 浏览

antlr - 这个语法有什么问题?(ANTLRWorks 1.4)

我有以下用 ANTLRWorks 1.4 编写的代码

当我使用输入运行它时:

我得到一个 MismatchedTokenException(5 != 15)。

并输入:

我得到一个 NoViableAltException。

虽然它运行良好

我是新手,但似乎有歧义?或者我对 ANTLR 的使用不正确?

0 投票
1 回答
702 浏览

antlr - Antlr AST 产生(可能的)疯狂

以下甚至可能吗?我想“反转”给 antlr 的输入,并使每个令牌成为前一个令牌的子代。

因此,对于输入(假设每个标记由 '.' 字符分隔):

我希望我的语法产生以下 AST:

到目前为止,我已经设法反转节点,但我无法让它们成为彼此的孩子:

0 投票
2 回答
445 浏览

parsing - 是否有可能有一个“关键字”也可以被视为“非关键字”的语法?

我在 ANTLRWorks 1.4 中有以下语法。我正在尝试在文本冒险游戏创建者中实现解析器的想法,用户将在其中为他的游戏指定各种允许的命令。

我只是对所涉及的各种微妙之处有所了解(就像我在这里所做的那样)。

这一次,使用 ANTLR,我想知道是否可以解析输入,例如:

即“木头”和“火场”就是上面的游戏对象。但是,“地方”也是“放置”的同义词。所以这同样有效:

尝试解析最后一个“地点”令牌时,ANTLR 给了我一个 NoViableAltException。我想将“火场”识别为游戏对象。

那么在ANTLR中这种事情可能吗?语法上可以吗?

另一方面,我正在研究一个手动实现,它使用一个奇怪的自定义数据结构,带有一些 NFA、Dictionary 和诸如此类的东西。但我仍然需要更多时间,并且必须牺牲一些脑细胞来设计所需的搜索和插入算法。

但是如果这在 ANTLR 中是可能的,我可以只使用生成的 C# 文件,是吗?

0 投票
1 回答
387 浏览

antlr - DeCaf 中的 ANTLR 歧义 - 教授不确定错误在哪里

我正在为学校开发一个项目,将 BNF 形式的 Decaf 规范转换为上下文无关语法并在 ANTLR 中构建它。我已经为此工作了几个星期,当我陷入困境时,我一直在去找教授,但我终于遇到了他说不应该导致错误的东西。这是我语法的孤立部分, expr 是起点。在我这样做之前,我有一个问题。

如果我的词法分析器规则出现在我的语法中的解析器规则之前,或者它们是否通过我的语法文件间歇性地混合在一起,这是否重要?

丑陋的格式是因为他对调试的部分建议是采用单独的规则并将它们分解到模棱两可的地方,以查看错误的开始位置。在这种情况下,问题出在长 ID 部分,原因是 OPENBRACKET 和 OPENPAR。如果您有任何想法,我非常感激。谢谢,对于我发布的代码的格式有多糟糕,我深表歉意。