java使用Antlr4记录
什么是Antlr
Antlr4是一个语法解析树,既是正则表达式的加强版。
怎么使用
1、新建一个普通java项目即可,首先导入pom依赖
<dependency>
<groupId>org.antlr</groupId>
<artifactId>antlr4-runtime</artifactId>
<version>4.9.2</version>
</dependency>
2、新建文件,以.g4后缀作为结尾,安装IDEA插件【Antlr】,使用antlr4语法编辑g4文件,在鼠标右键选择代码生成。
3、java中调用
首先new三个类(在生成代码中找相应的后缀)
//code为需要解析的字符串
TableBuilderLexer lexer = new TableBuilderLexer(CharStreams.fromString(code));
CommonTokenStream tokens = new CommonTokenStream(lexer);
TableBuilderParser parser = new TableBuilderParser(tokens);
parser.addErrorListener(new TableBuilderErrorListener());
TableBuilderParser.DocumentContext document =parser.document();
解析后返回对象 TableBuilderParser.DocumentContext,该对象为Antlr4中的返回类型,根据业务做相应的取值做下一步的业务处理。
怎么学习
4、g4文件中的语法为重点学习部分,分为词法和语法,具体找相应的官方例子去学习吧。
用途
各种解析,包括但不限于SQL解析,代码解析等各种各种的功能,一款功能强大的语法解析树。