java - 编写了语法并使用 ANTLR 创建了所有内容,试图找出如何将其链接到 Java 程序

标签 java parsing antlr antlr4 dsl

所以我在 ANTLR 中创建并编译了一个语法以及 Java 的所有内容。解析器确实工作正常,并且可以验证语法中编写的语句是否正确。现在我正在尝试将解析器链接到Java,以便它可以执行这些功能。

例如,CREATE TABLE Animals (name VARCHAR(20),kind VARCHAR(8),years INTEGER)想要创建一个名为animals.db的文件,其中每个动物都有名称、种类和年龄。我对如何将 Java 方法链接到名为 create 的方法中的“CREATE TABLE”之类的内容感到困惑,该方法接受表的参数(名称和属性)。

最佳答案

@sepp2k 已经提到,您可以使用监听器或访问者作为引用来实现这些目标,您可以浏览下面提供的非常有用的链接--

  1. 如何使用 ANTLR 来处理 Java --> https://theendian.com/blog/antlr-4-lexer-parser-and-listener-with-example-grammar/

  2. 关于听众和访客之间的差异 --> http://jakubdziworski.github.io/java/2016/04/01/antlr_visitor_vs_listener.html

关于java - 编写了语法并使用 ANTLR 创建了所有内容,试图找出如何将其链接到 Java 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52635090/

相关文章:

java - 使用 CPLEX 执行除以变量

c# - 解析自定义二进制平面文件的首选方法?

c++ - boost.org 的 Spirit 解析器生成器框架有哪些缺点?

java - ANTLR:有一个简单的例子吗?

java - 设置 JTextField 在 JRadioButton Click 上可见

java - JAVA中的接口(interface)和类

java - Java中将String格式的日志记录划分为列

compiler-construction - 将抽象语法树转换为字节码

java - Gradle无法识别Antlr插件

java - 如何在最新的 4.x 版本中将简单字符串传递给 cucumber-jvm stepdef