如何使用ANTLR4导入其他java库?

如何使用ANTLR4导入其他java库?,antlr,antlr4,Antlr,Antlr4,我正在寻找一种方法来添加我需要的其他库,以使用我在ANTLR4中使用的代码获得最终结果,但我没有找到正确的方法 例如(简单示例): 解析单词“today”并打印出日期“Date:month-day-year”的代码,比如今天(日期:2017年7月17日),我必须导入import java.util.* 语法经验; _日:“今天”; WS:(“|”\t“|”\n“|”\r')->跳过 是否有直接从文件.g4执行此操作的方法?或者我必须用另一种方法? 谢谢您可以通过将一些代码片段注入lexer或pa

我正在寻找一种方法来添加我需要的其他库,以使用我在ANTLR4中使用的代码获得最终结果,但我没有找到正确的方法

例如(简单示例):

解析单词“today”并打印出日期“Date:month-day-year”的代码,比如今天(日期:2017年7月17日),我必须导入
import java.util.*

语法经验; _日:“今天”; WS:(“|”\t“|”\n“|”\r')->跳过

是否有直接从文件.g4执行此操作的方法?或者我必须用另一种方法?
谢谢

您可以通过将一些代码片段注入lexer或parser头(取决于您需要import语句的位置)来实现这一点

这是通过语法开头的
@lexer::header{…}
@parser::header{…}
代码块完成的。
因此,如果要将库导入解析器类,只需在语法顶部添加以下代码段:

@parser::header {
    import java.util.*;
}