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. 按以下图示步骤安装

    步骤一

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

    步骤二

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

    步骤三

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

    步骤四

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

    步骤五

    antlr v4 使用指南连载2——准备环境-LMLPHP
  3. 重启完成之后,新建java项目-新建文件,然后将Hello.g4的代码复制进去。如下图,即可测试antlr的语法文件。

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

未完待续>>>##

05-11 19:20