Antlr系列(配合Python3)文章:https://www.jianshu.com/nb/32570686
Ubuntu安装
安装方法:(来自官网首页,Quick Start)
1 | $ cd /usr/local/lib |
直接运行antlr4
和grun
出现帮助信息就说明成功。
第二步下载的时候如果权限不够,就sudo
下载并且之后sudo chmod 777 antlr-4.7.2-complete.jar
然后为方便使用,在.bashrc
里面添加后三行:
1 | export CLASSPATH=".:/usr/local/lib/antlr-4.7.2-complete.jar:$CLASSPATH" |
一定要注意这里的classpath里面要有.
Windows安装
添加下载的jar文件与.
添加到CLASSPATH中,同时在Path内的路径里面建立两个bat文件:
antlr4.bat
1 | java org.antlr.v4.Tool %* |
grun.bat
1 | java org.antlr.v4.gui.TestRig %* |
要特别注意,.
一定要添加到CLASSPATH中!!!!!!!
使用
(官方GetStarted:https://github.com/antlr/antlr4/blob/master/doc/getting-started.md
创建文件Hello.g4
,如下:
1 | grammar Hello; |
执行antlr4 Hello.g4
和javac Hello*.java
之后grun Hello r -tree
或者grun Hello r -gui
,输入某一个输入串(如hello pjio
)后回车并按下Ctrl-D
(Windows下为Ctrl-Z
),就可以看到解析结果。
这里的r
表示的是第二行的起始符号r
python部分
(官方说明:https://github.com/antlr/antlr4/blob/master/doc/python-target.md
准备python库:
pip install antlr4-python3-runtime
执行antlr4,其中需要声明Dlanguage
:antlr4 -Dlanguage=Python3 Hello.g4
(注意是Python3,P要大写!)
之后在那个执行antlr4的目录下,创建以下程序并运行:
1 | import sys |
还是直接启动后输入hello wjgoiwejgoiw
并且回车,输入Ctrl-D
或者Ctrl-Z
(Windows)