antlr配置

antlr4环境配置


基本认识

高级语言的编译过程可以分为词法分析,语法分析,语义分析等几步。编译的第一步就是词法分析,而antlr4便是一个可用于生成词法分析器的工具。支持Java, Python等语言平台,这里选用Java。

词法分析的目的是由源程序(字符流)生成对应的记号流(tokens),也就是


antlr4生成的词法分析器也不例外,同时,它可以将分析结果直接以语法树的形式表现出来。

配置过程

  • Java配置:安装好JDK&JRE,添加对应的bin目录路径到环境变量中即可。
  • 安装Eclipse Mars,以备将来需要
  • antlr4的jar包下载后,既可以直接放入JRE的ext目录作为一个第三方扩展包使用,也可以直接添加jar包的路径到CLASSPATH,只要让java运行时可以查找到就好了。
  • 配置完后,为了方便使用,windows下通过创建.bat的方式,linux/maxos下可直接用alias来达到给命令起“别名”的效果,之后输入antlr xxx.g4即可代替输入java org.antlr.v4.Tool Expr.g4这一串内容:
    • windows: 创建antlr4.bat,内容java org.antlr.v4.Tool Expr.g4,并把antlr4.bat的路径加入环境变量。
    • linux/maxos: 直接把alias antlr4="java org.antlr.v4.Tool Expr.g4"加入~/.bashrc即可。
    • P.S. windows下的git-bash是一个简单的bash环境,在其下配置别名时也可以使用linux/macos的方法。另外,某些linux发行版默认不加载~/.bashrc而只加载~/.bash_profile,此时对应地把alias加入~/.bash_profile即可。
  • 类似地,给java org.antlr.v4.gui.TestRig也创建别名grun
    • windows: 创建grun.bat,内容java org.antlr.v4.gui.TestRig
    • linux/macos: 把alias grun="java org.antlr.v4.gui.TestRig"加入~/.bashrc

测试

一个带四则运算的计算器文法

vim Expr.g4

grammar Expr;
prog:   (expr NEWLINE)*;
expr:   expr ('*'|'/') expr | expr ('+'|'-') expr | INT | '(' expr ')' ;
NEWLINE :   [\t\r\n]+ ;
INT     :   [0-9]+ ;

编译

antlr4 Expr.g4

javac Expr*.java

运行

vim Expression.txt

100+2*34

grun Expr prog -gui Expression.txt

截图1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值