微信小程序免费开店详细步骤,seo搜索引擎实训心得体会,外贸网站优化推广,wordpress 获取文章时间java-antrl手敲命令的hello world 环境步骤1. 下载ANTLR的jar包2. 新建一个g4文件3. 生成语法对应的java文件4. 编译语法对应的java文件5. 测试语法5.1 打印测试信息5.2 查看语法分析树 6. 注意事项6.1 每一个antlr4版本的jar包都对应java的相应版本#xff0c;要对应。6.2 [1… java-antrl手敲命令的hello world 环境步骤1. 下载ANTLR的jar包2. 新建一个g4文件3. 生成语法对应的java文件4. 编译语法对应的java文件5. 测试语法5.1 打印测试信息5.2 查看语法分析树 6. 注意事项6.1 每一个antlr4版本的jar包都对应java的相应版本要对应。6.2 [1,6:10parrt,ID,1:6]解析6.3 如何调用 环境
windowsjava 19antlr4-4.13.2
步骤
1. 下载ANTLR的jar包
这里下载的是antlr4-4.13.2-complete.jar放入项目根目录的lib目录中它可以通过如下链接下载 https://repo1.maven.org/maven2/org/antlr/antlr4/4.13.2/ 2. 新建一个g4文件
在根目录中新建一个Hello.g4的文件
grammar Hello;
r : hecccc ID;
ID: [a-z] ;
WS: [ \t\r\n] - skip ;3. 生成语法对应的java文件
进入到项目跟目录使用如下命令
java -jar .\lib\antlr4-4.13.1-complete.jar ./src/Hello.g4生成文件如下
D:\源码\kafka-2.1\antlr\Hello.interp
D:\源码\kafka-2.1\antlr\Hello.tokens
D:\源码\kafka-2.1\antlr\HelloBaseListener.java
D:\源码\kafka-2.1\antlr\HelloLexer.interp
D:\源码\kafka-2.1\antlr\HelloLexer.java
D:\源码\kafka-2.1\antlr\HelloLexer.tokens
D:\源码\kafka-2.1\antlr\HelloListener.java
D:\源码\kafka-2.1\antlr\HelloParser.java4. 编译语法对应的java文件
cd到项目的根目录执行如下命令在当前目录生成class字节码文件以便后续java的main方法调用
1.8的java环境命令如下 javac -Djava.ext.dirs./lib/antlr4-4.13.1-complete.jar ./src/*.java -d . 11以上的java环境命令如下 javac -classpath ./lib/antlr4-4.13.1-complete.jar ./src/*.java -d . 最终得到的文件如下
D:\源码\kafka-2.1\antlr\Hello.interp
D:\源码\kafka-2.1\antlr\Hello.tokens
D:\源码\kafka-2.1\antlr\HelloBaseListener.class
D:\源码\kafka-2.1\antlr\HelloBaseListener.java
D:\源码\kafka-2.1\antlr\HelloLexer.class
D:\源码\kafka-2.1\antlr\HelloLexer.interp
D:\源码\kafka-2.1\antlr\HelloLexer.java
D:\源码\kafka-2.1\antlr\HelloLexer.tokens
D:\源码\kafka-2.1\antlr\HelloListener.class
D:\源码\kafka-2.1\antlr\HelloListener.java
D:\源码\kafka-2.1\antlr\HelloParser.class
D:\源码\kafka-2.1\antlr\HelloParser.java5. 测试语法
在保证class字节码文件和Java文件、g4文件在同一目录情况下使用下面的命令这里需要注意的是-cp后面一定要加.;这个两个字符否则会报错Can’t load Hello as lexer or parser。
5.1 打印测试信息
这里执行命令后如果没有报错就输入你要检测的字符这里是hello parrt然后回车然后windows cmd 退出键ctrz最后回车就可以打印信息。 D:\源码\kafka-2.1\antlr java -cp “.;./antlr4-4.13.1-complete.jar” org.antlr.v4.gui.TestRig Hello r -tokens hello parrt ^Z [0,0:4‘hello’,,1:0] [1,6:10‘parrt’,,1:6] [2,13:12‘’,,2:0] line 1:0 missing ‘hecccc’ at ‘hello’ 5.2 查看语法分析树 D:\源码\kafka-2.1\antlr java -cp “.;./antlr4-4.13.1-complete.jar” org.antlr.v4.gui.TestRig Hello r -gui hello parrt ^Z 执行完了以后就会弹出语法书对话框。
6. 注意事项
6.1 每一个antlr4版本的jar包都对应java的相应版本要对应。
如果有报错根据报错信息切换到对应版本就可以了如下就是要55的java版本 more recent version of the java runtime (class file version 55.0), this version of the java runtime only recognizes class file versions up to 52.0 版本对应关系如下 9 Java 5 50 Java 6 51 Java 7 52 Java 8 53 Java 9 54 Java 10 55 Java 11 56 Java 12 57 Java 13 58 Java 14 59 Java 15 60 Java 16 61 Java 17 62 Java 18 63 Java 19 6.2 [1,6:10‘parrt’,,1:6]解析
表示的是位于g4文件的第二行词法6到10的位置包含的字符是parrt词法类型是ID位于输入字符串的第一行、第六个位置。
6.3 如何调用
请参考另外一篇文章 https://blog.csdn.net/m0_60688978/article/details/141893455?csdn_share_tail%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22141893455%22%2C%22source%22%3A%22m0_60688978%22%7D