首页 > 电脑教程 > 编程开发 > IDEA中使用ANTLR4附IDEA配置antlr4环境教程

IDEA中使用ANTLR4附IDEA配置antlr4环境教程

小编:动力软件园 时间:2019-01-05 23:12:30

Antlr 简介

ANTLR 语言识别的一个工具 (ANother Tool for Language Recognition ) 是一种语言工具,它提供了一个框架,可以通过包含 Java, C++, 或 C# 动作(action)的语法描述来构造语言识别器,编译器和解释器。 计算机语言的解析已经变成了一种非常普遍的工作,在这方面的理论和工具经过近 40 年的发展已经相当成熟,使用 Antlr 等识别工具来识别,解析,构造编译器比手工编程更加容易,同时开发的程序也更易于维护。

语言识别的工具有很多种,比如大名鼎鼎的 Lex 和 YACC,Linux 中有他们的开源版本,分别是 Flex 和 Bison。在 Java 社区里,除了 Antlr 外,语言识别工具还有 JavaCC 和 SableCC 等。

和大多数语言识别工具一样,Antlr 使用上下文无关文法描述语言。最新的 Antlr 是一个基于 LL(*) 的语言识别器。在 Antlr 中通过解析用户自定义的上下文无关文法,自动生成词法分析器 (Lexer)、语法分析器 (Parser) 和树分析器 (Tree Parser)。




1.安装IDEA.

    2.在File-Settings-Plugins中安装ANTLR v4 grammar plugin插件.

    3.新建一个Maven项目,在pom.xml文件中添加ANTLR4插件和运行库的依赖,注意一定要用最新版的。最后在pom.xml中</project>前添加代码:



  <dependencies>
        <dependency>
            <groupId>org.antlr</groupId>
            <artifactId>antlr4-runtime</artifactId>
            <version>4.7</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.antlr</groupId>
                <artifactId>antlr4</artifactId>
                <version>4.7</version>
                <executions>
                    <execution>
                        <id>antlr</id>
                        <goals>
                            <goal>antlr4</goal>
                        </goals>
                        <phase>none</phase>
                    </execution>
                </executions>
                <configuration>
                    <outputDirectory>src/test/java</outputDirectory>
                    <listener>true</listener>
                    <treatWarningsAsErrors>true</treatWarningsAsErrors>
                </configuration>
            </plugin>
        </plugins>
    </build>


项目流程

1、新建一个g4文件,在里面写入要识别语言的词法规则和语法规则

     .

20190105163504820.png


      2. 写完后,右键prolog.g4,选择Configure ANTLR,配置output路径。


      20190105163504820.png


       20190105163741527.png


      词法分析器和语法分析器会生成在java文件夹下的com.antlr.out包下


     3.右键prolog.g4,选择Generate ANTLR Recognizer生成所有的监听器Java代码。可以看到生成的结果。


      20190105164419893.png


     4.最后编写主函数和转换函数。最后的项目目录如下:


      20190105164801737.png


文法可视化

打开Antlr Preview。

在g4中选中一个语法定义符号,如expr。右键选中的符合,选择Text Rule expr。

在ANTLR Preview中选择input,输入表达式,则能显示出可视化的文法。

     

20190105170046882.png

https://github.com/antlr/grammars-v4 这个GitHub项目上有几乎所有语言的g4文件。



排行榜
易学车老版本

易学车老版本

实用工具 下载
天行健安卓版 v2.35770

天行健安卓版 v2.35770

手游软件 下载
三星PC套件 samsung kies 官方正式版 3.2.15041.2

三星PC套件 samsung kies 官方正式版 3.2.15041.2

手机工具 下载