1. 环境准备
- JAVA版本:openjdk version "18.0.2.1" 2022-08-18
- antlr4 jar下载
- 本地新建文件夹:D:\file\work\mine\antlr
- 下载的 antlr4 的 jar 文件放入该目录
提取 jar 中的 org 目录,放到当前目录
D:\file\work\mine\antlr\org
2. 文件准备
这些文件都放在 D:\file\work\mine\antlr 下
2.1 bat文件
antlr4.bat
java -cp D:\file\work\mine\antlr\antlr-4.12.0-complete.jar org.antlr.v4.Tool %*
grun.bat
java -cp .;D:\file\work\mine\antlr\antlr-4.12.0-complete.jar org.antlr.v4.gui.TestRig %*
Hello.g4
// Define a grammar called Hello grammar Hello; r : 'hello' ID ; // match keyword hello followed by an identifier ID : [a-z]+ ; // match lower-case identifiers WS : [ \t\r\n]+ -> skip ; // skip spaces, tabs, newlines
3. 操作
用 cmd 命令行 cd 到当前目录。
不过我发现一个更好的东西,也是微软出的。新的PowerShell
根据 g4 文件生成 java 代码
> .\antlr4.bat Hello.g4
此时在当前目录会生成java文件
编译
> javac *.java
生成语法tree
#1 PS D:\file\work\mine\antlr> .\grun.bat Hello r -gui #2 #3 D:\file\work\mine\antlr>java -cp .;D:\file\work\mine\antlr\antlr-4.12.0-complete.jar org.antlr.v4.gui.TestRig Hello r -gui #4 hello world #5 ^Z
这里用 # 的形式标记行号,#1 是执行 grun.bat 文件,-gui表示以ui的形式展示语法树(下图)。#3 是输出 grun.bat 执行的全部内容,之后进入待输入状态。此时输入 hello world(对应#4),然后回车,再按 Ctrl + Z,再回车,就会出现下图
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。