15得票7回答
Intellij无法识别antlr生成的源代码。

我在使用antlr4-maven-plugin生成的源代码时,遇到了Intellij无法识别生成的源代码的问题。所有对生成代码的引用都会出现错误,代码完成等功能也不能正常工作。 我使用maven来管理项目,并使用antlr4-maven-plugin生成代码。在maven下,我的代码可以正常...

20得票2回答
获取所有Antlr解析错误的字符串列表

如何将Antlr的所有解析错误获取为一个字符串列表? 我使用Antlr的方式如下:ANTLRInputStream input = new ANTLRInputStream(System.in); grLexer lexer = new grLexer(input); CommonTok...

7得票1回答
用Antlr4和StringTemplates从AST生成源代码

如果我有一个AST并对其进行修改,我是否可以使用StringTemplates来生成修改后的AST的源代码? 我已经成功地为Antlr4实现了我的语法。它生成源代码的AST,并且我使用访问者类来执行所需的操作。然后我会在AST中进行一些修改,我想为修改后的AST生成源代码(我认为这被称为漂亮...

96得票5回答
ANTLR4中的错误处理

当解析器不知道如何处理时的默认行为是在终端打印消息,例如: 第1行第23个字符缺少'}'的十进制符号 这是一条好信息,但位置不对。我更希望将其作为异常收到。 我尝试使用BailErrorStrategy,但这会抛出一个没有消息的ParseCancellationException...

7得票2回答
“´” 对我来说完全是个意外。

我在为C#设置ANTLR v4时遇到了问题,有没有人愿意帮助我?我正在使用官方网站上引用的构建目标https://github.com/sharwell/antlr4cs 我添加了一个简单的语法Foo.g grammar Foo; r : 'hello' ID ; // ...

9得票1回答
ANTLRInputStream和ANTLRFileStream已被弃用,有什么替代方案?

如果我使用 ANTLRFileStream antlrFileStream = new ANTLRFileStream("myfile.testlang"); 或者 ANTLRInputStream input = new ANTLRInputStream( new FileInpu...

7得票1回答
ANTLR 4比ANTLR 3更快吗?

ANTLR 4会带来哪些改进? 它的解析速度是否比ANTLR 3更快?这里指的是解析速度。同时,代码生成速度也很有趣。 这些改进是出于哪些设计原因?

8得票3回答
ANTLR词法分析器规则中的句法谓词

介绍 观察文档,ANTLR 2 曾经有一种叫做predicated lexing的东西,它有像这个(灵感来自 Pascal)的示例: RANGE_OR_INT : ( INT ".." ) => INT { $setType(INT); } | ( INT ...

18得票5回答
使用Gradle生成带有包声明的ANTLR4语法文件

我尝试使用Gradle Antlr插件,但遇到了一些问题。 我有一个名为wls.g4的语法文件:grammar WlsScript; @header { package hu.pmi.wls.antlr.ws; } program : 'statementList'? EOF...

11得票2回答
ANTLR 4和AST访问者

我将尝试使用ANTLR4的AST,使用以下文件: Builder.java import org.antlr.v4.runtime.ANTLRInputStream; import org.antlr.v4.runtime.CharStream; import org.antlr.v4.r...