antlr中文网站www.antlr.org.cn

xiaoxiao2022-04-29  58

用antlr可以定义新的语言,解析现有的语言和文档。 是开发者的法宝! ANTLR是ANother Tool for Language Recognition的缩写“又一个语言识别工具”。从名字上可以看出在ANTLR出现之前已经存在其它语言识别工具了(如LEX[1],YACC[2])。ANTLR的官方定义为:根据一种可以嵌入如Java, C++或C#等辅助代码段的文法,来构筑出相对该文法的识别器,编译器或翻译器的一种语言工具框架。这个定义说明了ANTLR的功能是根据给定文法自动生成编译器,其过程为先编写相应语言的文法然后生成相应语言编译器。定义提到的语言识别器,编译器和翻译器我们以后统称为语法分析器。事实上ANTLR是生成相应语言编译器的源代码,我们还需要编译它。那么ANTLR可以生成哪些方语言的语法分析器源代码语言的代码呢?这是程序员很关心的问题。幸运的是ANTLR现在已经支持了多种当前流行的开发语言,包括Java、C#、C、C++、Objective-C、Python和 Ruby.1等。你可以根据需要生成其中任何一种语言的语法分析器。 antlr另一个语言识别工具是旧金山计算机科学教授Terence Parr开发的。Terence Parr从1989年至今一直致力于antlr的开发,目的开发一种更好的通用自动化语法分析器。 antlr的功能是根据给出的文法自动生成语法分析器,并可以在文法嵌入代码轻松实现语法分析任务。 antlr的重大意义 antlr的重大意义主要有两点: 一, 软件开发中常常需要编写语法分析程序和分析特定格式的文档,这些功能开发人员自己去实现的难度很大,对于很多不是计算机科班出身的开发人员就更困难,因为编写语法分析程序需要编译原理的知识。有了antlr软件开发人员可以很容易的实现这些功能。 二, 有了antlr软件开发人员可以很容易的定义新的领域专用语言(DSL domain-specific language)。开发软件框架、平台、行业软件和一些工具软件等有时都需要定义自己的一些专用语言。如果没有antlr的帮助将很难实现。 antlr应用的方面: 建模工具:UML建模工具分析java, C# 等语言语法生成图形。 数据库关系图分析SQL生成ER图。 分析统计代码信息。 定义领域专用语言:定义工作流流程语言。         定义新的计算机语言。 定义数据查询语言。(hibernate的HQL是最著名的antlr应用例子) 分析文档:定义自己的文件格式。 分析现有的文档。 计算机语言翻译器:实现计算机语言之间的相互翻译。 计算机教学:计算机编译原理课程教学实践。ANTLR属于编译原理范畴内的软件实例,学习编译原理的学生可以使用ANTLR用一些实践。 相关资源:antlr4权威指南.tar
转载请注明原文地址: https://www.6miu.com/read-4860565.html

最新回复(0)