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文件,在里面写入要识别语言的词法规则和语法规则
.
2. 写完后,右键prolog.g4,选择Configure ANTLR,配置output路径。
词法分析器和语法分析器会生成在java文件夹下的com.antlr.out包下
3.右键prolog.g4,选择Generate ANTLR Recognizer生成所有的监听器Java代码。可以看到生成的结果。
4.最后编写主函数和转换函数。最后的项目目录如下:
文法可视化
打开Antlr Preview。
在g4中选中一个语法定义符号,如expr。右键选中的符合,选择Text Rule expr。
在ANTLR Preview中选择input,输入表达式,则能显示出可视化的文法。
https://github.com/antlr/grammars-v4 这个GitHub项目上有几乎所有语言的g4文件。
热门阅读
-
IDEA中使用ANTLR4附IDEA配置antlr4环境教程
阅读:499
-
python语言中的函数嵌套调用
阅读:95
-
如何用Notepad2替换系统自带的Notepad
阅读:195
-
python编程中if __name__=='__main__如何理解
阅读:145
-
10大开源后台控制面板源码
阅读:171