Ubuntu 20.04桌面版 安装Antlr4

近日想用Antlr4实现一个Parser来做点静态分析,需要安装一下。

首先检查一下是否安装了Java:

@ubuntu:~$ java -version
openjdk version "17.0.1" 2021-10-19
OpenJDK Runtime Environment (build 17.0.1+12-Ubuntu-120.04)
OpenJDK 64-Bit Server VM (build 17.0.1+12-Ubuntu-120.04, mixed mode, sharing)

显示版本号即表明安装好了。否则需要先安装java,直接apt install即可(版本号可能有变,也可以安装其他版本的Java,我选择的是openjdk-17-jdk):

@ubuntu:~$ sudo apt install openjdk-17-jdk

现在已经装好Java了,先去官网上下载antlr4的.jar,并且放到系统的lib里面:

@ubuntu:~$ wget https://www.antlr.org/download/antlr-4.9.3-complete.jar
@ubuntu:~$ sudo cp antlr-4.9.3-complete.jar /usr/local/lib/

可能会没有权限把文件拷贝到/usr/local/lib,可以sudo。当然,放在其他目录下也不是不行,只不过在lib里更符合常理。

然后在~/.bashrc中加入如下几行来配置环境变量和创建别名,以便可以方便地从命令行使用antlr4。

export CLASSPATH=".:/usr/local/lib/antlr-4.9.3-complete.jar:$CLASSPATH"
alias antlr4='java -jar /usr/local/lib/antlr-4.9.3-complete.jar'
alias grun='java org.antlr.v4.gui.TestRig'

如果上一步没有放在/usr/local/lib而是别的目录,需要做相应的修改。不要忘了source一下,来让修改立即生效:

@ubuntu:~$ source ~/.bashrc

 现在应该已经安装好了,尝试一下:

@ubuntu:~$ antlr4 
ANTLR Parser Generator  Version 4.9.3
 -o ___              specify output directory where all output is generated
 -lib ___            specify location of grammars, tokens files
 -atn                generate rule augmented transition network diagrams
 -encoding ___       specify grammar file encoding; e.g., euc-jp
 -message-format ___ specify output style for messages in antlr, gnu, vs2005
 -long-messages      show exception details when available for errors and warnings
 -listener           generate parse tree listener (default)
 -no-listener        don't generate parse tree listener
 -visitor            generate parse tree visitor
 -no-visitor         don't generate parse tree visitor (default)
 -package ___        specify a package/namespace for the generated code
 -depend             generate file dependencies
 -D<option>=value    set/override a grammar-level option
 -Werror             treat warnings as errors
 -XdbgST             launch StringTemplate visualizer on generated code
 -XdbgSTWait         wait for STViz to close before continuing
 -Xforce-atn         use the ATN simulator for all predictions
 -Xlog               dump lots of logging info to antlr-timestamp.log
 -Xexact-output-dir  all output goes into -o dir regardless of paths/package

大功告成! 

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值