从上一篇文章的例子中可以知道,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. 按以下图示步骤安装
    步骤一
    antlr v4 使用指南连载2——准备环境
    步骤二
    antlr v4 使用指南连载2——准备环境
    步骤三
    antlr v4 使用指南连载2——准备环境
    步骤四
    antlr v4 使用指南连载2——准备环境
    步骤五
    antlr v4 使用指南连载2——准备环境
  3. 重启完成之后,新建java项目-新建文件,然后将Hello.g4的代码复制进去。如下图,即可测试antlr的语法文件。
    antlr v4 使用指南连载2——准备环境

>>>##

相关文章:

  • 2021-06-28
  • 2021-08-16
  • 2022-02-08
  • 2021-09-05
  • 2021-07-03
  • 2022-01-25
  • 2022-12-23
  • 2021-09-05
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-15
  • 2022-12-23
  • 2021-06-05
  • 2022-12-23
  • 2021-08-10
相关资源
相似解决方案