我正在使用GWT-RPC调用ANTLR语法。如果语法失败,我将创建一个包含该语法引发的错误/异常的对象,并将其返回给客户端。 当我这样做时,我得到一个例外: com.google.gwt.user.client.rpc.SerializationException: Type 'org.antlr.runtime.NoViableAltException' was not included in the set of types which can be serialized by this Serializati…

2020年11月22日 0条评论 52点热度 阅读全文

我正在尝试运行ParSeMiS。根据文档,它需要ant,prefuse和antlr jar在其lib目录中可用。我已经把所有需要的罐子放进去了。但是,当我尝试运行它时,出现以下错误: Exception in thread "main" java.lang.NoClassDefFoundError: antlr/TokenStreamException at de.parsemis.miner.environment.Settings.parseFileName(Settings.java:198) at de.p…

2020年10月12日 0条评论 65点热度 阅读全文

我使用ANTLR4将一种语言翻译成另一种语言。例如,当我阅读数字文字时,我可以返回Integer或Double。 @Override public Integer visitIntegerValue(Parser.IntegerValueContext ctx) { return Integer.valueOf(ctx.getText()); } @Override public Double visitDoubleValue(Parser.DoubleValueContext ctx) { return Doub…

2020年10月4日 0条评论 37点热度 阅读全文

使用cmd进行编译:javac Test.java。但是编译失败,并说找不到符号parser.prog()。有任何想法吗? import org.antlr.runtime.*; public class TestT { public static void main(String[] args) throws Exception { // Create an TLexer that feeds from that stream //TLexer lexer = new TLexer(new ANTLRInputS…

2020年9月29日 0条评论 38点热度 阅读全文

我正在尝试编写一个输出Java方法的ANTLR语法。即我为以下公式编写了语法: expr("L") + expr("R") 我希望我的语法翻译器在翻译后像下面这样用下面的方法返回一个Java类: public class FormulaExecutor(){ public Double formula1234(FormulaAPI apiReference) { return apiReference.evaluateResult("L") + apiReference.evaluateResult("R") ; …

2020年9月20日 0条评论 46点热度 阅读全文

如果我打电话给: java org.antlr.Tool -o outdir sources/com/example/Java5.g ...使用antlr-3.1.3,解析器和词法分析器代码将在目录 outdir/sources/com/example中生成。但是生成的类没有任何 package语句。我需要它们在 com.example包中活着。 有没有办法指定目标软件包? 解决方案如下: ANTLR提供了一个标头工具,使您可以包括包和导入。您将此包含在您的* .g语法文件中: @header { package …

2020年9月8日 0条评论 35点热度 阅读全文

我是ANTLR的新手。我开始探索ANTLR教程。我看到了为垂直规则定义返回类型的示例(请参见下面的示例)。 我也可以将论点传递给规则吗?我只是脑子里有一点,我想根据提供给它的论据来改变规则状态的行为。 如果可以在ANTLR中通过,请帮助我,或者这样做是个好主意吗? atom returns [int value] : INT { $value = Integer.parseInt($INT.text); } | ID // variable reference { Integer v = (Integer) mem…

2020年7月27日 0条评论 40点热度 阅读全文

如何使Visual Studio Code的Java扩展识别ANTLR4源代码包?我在VSCode中安装了Maven扩展,它可以自行检测Java依赖关系。但这还不够。有像 import org.antlr.v4.parse.ANTLRParser; 扩展程序不接受的内容。软件包也会发生类似的情况。看到: 解决方案如下: 尝试从net安装依赖项,打开您的pom.xml然后添加以下依赖项: <dependency> <groupId>org.antlr</groupId> <a…

2020年7月2日 0条评论 57点热度 阅读全文

我正在尝试解析以下内容: SELECT name-of-key[random text] 这是我正在尝试构建的较大语法的一部分。为了清楚起见,我将其保留。 我想出了以下规则: select : 'select' NAME '[' anything ']' ; anything : (ANYTHING | NAME)+ ; NAME : ('a'..'z' | 'A'..'Z' | '0'..'9' | '-' | '_')+ ; ANYTHING : (~(']' | '['))+ ; WHITESPACE : (…

2020年6月7日 0条评论 39点热度 阅读全文

我正在开发一个创建迷你Java语言编译器的项目,我使用的是intellij我下载了jar文件,并添加了CLASSPATH,并在IDE上添加了插件。在类baseListener()和visitor()上生成ANTLR识别器的过程中,导入org.antlr.v4.runtime。不能申请,我不知道为什么以及何时尝试构建项目模块,但发现了以下错误:构建完成,并在7 s 951 ms中出现100个错误和0个警告错误:(3,32)Java:包org.antlr.v4.runtime.dfa不存在错误:(12、39)Java:…

2020年5月27日 0条评论 47点热度 阅读全文