antlr v4 使用指南连载2——准备环境

本文详细介绍了ANTLRv4在Java平台上的开发环境搭建过程,包括文本编辑器、Eclipse及IntelliJ IDEA三种方式,重点推荐使用IntelliJ IDEA进行ANTLR语法文件的编译与测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

antlr v4 开发环境

        从上一篇文章的例子中可以知道,antlr有一套自己的语法来声明目标语言的语法,因此它本身就需要编译或者使用antlr提供的api来读取这些语法规则,并使之可以在目标平台上使用。比如我在用Java写一个SQL语言的解析工具,那么antlr就需要有Java平台的API给我使用。确实也是如此,只不过antlr除了提供这些API外,还会将g4这些语法文件编译成目标平台的类文件(仅对Java而言,其他语言也会编译成对应的文件)。这些编译生成的文件不需要使用者去关注,因为它们是给antlr自身使用的。使用者只需要关注antlr提供的API即可。

        综上所述,antlr有一套自己的编译环境。所以我们在使用antlr之前,需要准备好一些东西。以下是几种可行的方式:

  1. 文本编辑器 + Complete ANTLR 4.4 Java binaries.jar
  2. Eclipse + Complete ANTLR 4.4 Java binaries.jar + eclipse plugin
  3. IntelliJ IDEA + Complete ANTLR 4.4 Java binaries.jar + intellij idea plugin

        个人推荐使用方式3,IntelliJ IDEA确实比Eclipse好用,关键是不会卡;其次是插件系统也比eclipse好太多了。

方式1

在开始之前,需要定制一下编译工具。

Linux版

#antlr4.sh
#Linux
#!/bin/sh
java -cp "/usr/local/lib/antlr4-complete.jar:$CLASSPATH" org.antlr.v4.Tool $*

Windows版

#antlr4.bat
#Windows
java -cp C:\libraries\antlr-4.0-complete.jar;%CLASSPATH% org.antlr.v4.Tool %*

编译antlr语法文件(以上篇文章中的示例代码为例)

antlr4 Hello.g4
javac *.java

这样就会在当前目录下生成几个Java文件。如HelloLexer.java、HelloParser.java等。antlr的编译参数,可根据情况选用。

ANTLR Parser Generator Version 4.0

-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
-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
-Xforce-atn use the ATN simulator for all predictions
-Xlog   dump lots of logging info to antlr-timestamp.log

方式二

eclipse的antlr插件实在不好用,强烈不推荐使用。因此我也不在此说明安装方法了,一定要使用eclipse的同学,可自行google。

方式三

  1. 下载IntelliJ IDEA antlr plugin
  2. 按以下图示步骤安装
    步骤一
    步骤1
    步骤二
    步骤2
    步骤三
    步骤3
    步骤四
    步骤4
    步骤五
    步骤5
  3. 重启完成之后,新建java项目-新建文件,然后将Hello.g4的代码复制进去。如下图,即可测试antlr的语法文件。
    测试Hello.g4

未完待续>>>

转载于:https://www.cnblogs.com/laud/p/antlrv4_2.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值