问题标签 [antlr3]

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 回答
450 浏览

antlr - 嵌入评论的 antlr 问题

我正在尝试在 D 中实现嵌套注释。

对我来说,这应该是合乎逻辑的......

有人可以向我解释这些错误消息和修复吗?

谢谢。

0 投票
1 回答
556 浏览

antlr - ANTLR - 树中的隐式 AND 标记

我正在尝试构建一种语法来解释用户输入的文本,搜索引擎风格。它将支持 AND、OR、NOT 和 ANDNOT 布尔运算符。我几乎所有东西都在工作,但我想添加一个规则,将引用字符串之外的两个相邻关键字隐式视为 AND 子句。例如:

奶酪和饼干=奶酪和饼干

(上下)或(左右)=(上下)或(左右)

cat dog “potbelly pig” = cat AND dog AND “potbelly pig”</p>

我在最后一个问题上遇到了麻烦,我希望有人能指出我正确的方向。到目前为止,这是我的 *.g 文件,请注意,我的 ANTLR 体验不到一个工作日:

0 投票
1 回答
1036 浏览

antlr - ^ 和 ! 代表 ANTLR 语法

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

0 投票
2 回答
533 浏览

java - ANTLR 序列化

使抽象语法树可序列化为 XML 文件的最佳策略是什么?

0 投票
1 回答
3203 浏览

antlr - 解决 ANTLR 相互左递归规则

下面的ANTLR语法中的'expr'规则显然是相互左递归的。作为一个 ANTLR 新手,我很难解决这个问题。我已经阅读了 ANTLR 参考书中的“解决非 LL(*) 冲突”,但我仍然没有看到解决方案。任何指针?

0 投票
1 回答
1217 浏览

antlr - 将 ANTLR 语法转换为 Bison / EBNF

是否有将 ANTLR 语法转换为 Bison grmmar 的工具?

0 投票
1 回答
518 浏览

vba - 使用 antlr 删除死变量

我目前正在为旧的 VBA(应用程序的 Visual Basic)应用程序提供服务。我有一个遗留工具,可以分析该应用程序并打印出死变量。由于其中有 2000 多个,我不想手动执行此操作。

因此,我有了根据上述工具将包含死变量的单独代码文件转换为 AST 并以这种方式删除它们的想法。

我的问题:有推荐的方法吗?我不想使用 StringTemplate,因为我需要为所有规则创建模板,如果我对隐藏通道有推荐,它会丢失,对吗?我需要做的就是删除部分代码并在读入时打印出其余部分。

请问有人有什么推荐吗?

0 投票
1 回答
743 浏览

antlr3 - antlr 语法问题(词法)

当我尝试解析“abc”时出现不匹配的设置异常(引号是输入的一部分)

这是(简化的)语法 - Java.g 示例中的几乎一字不差,与其他示例语法基本相同。最新版本有bug吗?在eclipse的上下文中使用3.2。

提前致谢。

语法字符串;

选项{语言= C;}

规则:字面EOF;

文字:CHARLITERAL | 字符串字面量 ;

CHARLITERAL : '\'' ( EscapeSequence | ~( '\'' | '\\' | '\r' | '\n' ) ) '\'' ;

STRINGLITERAL : '"' ( EscapeSequence | ~( '\\' | '"' | '\r' | '\n' )
)* '"' ;

片段 EscapeSequence : '\\' ('b' | 't' | 'n' | 'f' | 'r' | '\"' | '\'' | '\\' |
('0'..' 3') ('0'..'7') ('0'..'7') |
('0'..'7') ('0'..'7') |
('0'. .'7') )
;

0 投票
1 回答
702 浏览

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

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

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

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

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

0 投票
1 回答
2528 浏览

java - 使用 ANTLR 识别 JavaScript 文件中的全局变量声明

我一直在使用 ANTLR 提供的 ECMAScript 语法,目的是识别 JavaScript 全局变量。生成了一个 AST,我现在想知道过滤掉全局变量声明的基础方法是什么。

我有兴趣在我的 AST 中查找所有最外层的“variableDeclaration”标记;但是,实际的操作方法却让我望而却步。到目前为止,这是我的设置代码:

作为 ANTLR 的新手,任何人都可以提供任何指示吗?