当前位置: 首页 > 知识库问答 >
问题:

ISO SQL-2003 ANTLR文法的编译

蔚和安
2023-03-14
  1. java-jar antlr-3.3-complete.jar-xmx8g-xwatchconversion sql2003lexer.g
  2. java-jar antlr-3.3-complete.jar-xmx8g-xwatchconversion sql2003parser.g
  3. javac antlrdemo.java

java文件

import org.antlr.runtime.*;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;

public class ANTLRDemo {
   static String readFile(String path) throws IOException 
   {
       byte[] encoded = Files.readAllBytes(Paths.get(path));
       return new String(encoded, "UTF-8");
   }

   public static void main(String[] args) throws Exception {
       ANTLRStringStream in = new ANTLRStringStream( readFile(args[0]) );
       sql2003Lexer lexer = new sql2003Lexer(in);
       CommonTokenStream tokens = new CommonTokenStream(lexer);
       sql2003Parser parser = new sql2003Parser(tokens);
       parser.eval();
   }
}

前两步工作正常,然后在编译主类时,我会遇到许多与Java语法相关的错误,如下所示:

共有1个答案

侯和惬
2023-03-14

您没有做错什么,ANTLR从来没有能够从这些语法文件生成一个工作的Java解析器。

根据道格拉斯·戈弗雷在2011年10月给ANTLR的一篇帖子:

我生成了一个C语法分析器和lexer。它们都在我的机器上成功地生成和编译,并为ANTLR分配了8GB堆。

 类似资料:
  • 我从github获得了一个项目的源代码(一个android应用程序),我正在尝试推出它,这个项目叫做“RTKGPS+”,它是一个使用C++库Rtklib来玩GPS和原始测量的Anroid应用程序。 我的Android环境配置很低, 我无法编译这个项目,我得到了以下错误: null null 我尝试从以下答案添加分级代码:https://stackoverflow.com/a/50707270/63

  • 我有一个原型文件,用协议2语法编写。我正在使用协议3编译器编译这个原型文件。虽然它成功构建,但它在运行时显示以下错误。有人能帮我吗? [libprotobuf FATAL google/protobuf/extension\u set.cc:102]x.y.z.a类型的多个扩展注册,字段号200。在抛出“google::protobuf::FatalException”what():type“x.

  • 将xcode更新到4.5版本后,我遇到了一个错误 命令/Applications/Xcode.app/Contents/Developer/Toolchains/Xcode default。xctoolchain/usr/bin/clang失败,退出代码为1 我在更新后读到这样的错误,但是更改目标的构建设置中的体系结构没有帮助。它是在模拟器上工作,但不在设备上工作。 整个错误 CompileC /

  • 本文向大家介绍c#检测文本文件编码的方法,包括了c#检测文本文件编码的方法的使用技巧和注意事项,需要的朋友参考一下 C#如何检测文本文件的编码,本文为大家分享了示例代码,具体内容如下 使用方法: 以上就是本文的全部内容,希望对大家学习C#程序设计有所帮助。

  • 本文向大家介绍C#实现将javascript文件编译成dll文件的方法,包括了C#实现将javascript文件编译成dll文件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现将javascript文件编译成dll文件的方法。分享给大家供大家参考,具体如下: 第一步:新建项目 添加js文件 写个测试Function (JScript.js) 单击JS文件属性。将 生成操作 改

  • 我得到这个错误,而执行maven试图修复此代码5天非解决方案工作 [ERROR]无法执行目标org.apache.maven.plugins:maven-surefire-plugin:2.19.1:项目com.learn.selenium测试(default-test):目标org.apache.maven.plugins的执行default-test:maven-surefire-plugin