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


    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:librariesantlr-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
Copyright © 2020-2023  润新知