由于毕设会使用到ANTLR这个工具来实现一个关于出租车领域指标计算的语言,所以就开始学习ANTR这个工具,使用的是ANTLR4,做一些简单的翻译和体会的记录吧。
ANTLR是一个强大的语法生成器,你可以使用它来阅读,处理,执行或者翻译结构化的文本或者二进制文件。它在研究和工程中被广泛使用,来建立各种语言、工具和框架。
ANTLR自动为你所描述的语言创建语法树,用来展示输入的语句如何与语法匹配,并且自动生成语法树的追踪器用来对树的节点执行特定的代码。
为了实现一门语言,我们需要建立一个可以读句子并且对于输入的符号和短语有正确的反应的应用程序。如果应用程序是计算并执行语句,我们称之为解释器,例如计算器,配置文件读取器,Python解释器。如果我们只是将句子从一种语言转换为另一种语言,我们称之为编译器,例如java到C#的转换器和编译器。为了准确的反应,解释器和编译器必须识别某一特定语言所有合法的句子(sentence),词组(phrase),字词组(subphrase)。识别一个词组(phrase)意味着我们可以定义不同的组分并且加以区别。识别之后,应用程序需要进行正确的操作。
识别语言的程序叫做解析器或者语法分析器。语法是指管理语言的成员的规则,我们通过建立ANTLR的语法文件去指定语言的语法。一个语法文件是规则的集合,每一个规则表示一个词组(phrase)的结构。语法文件本身需要遵循一种语言的语法:ANTLR的元语言。
如果我们把解析分成两个相似但是功能不同的阶段,会变得容易许多。这两个分开的阶段反应了我们大脑阅读文本时的情景。首先是将字符流处理成一个个的单词,这被称为词法分析(lexical a
ANTLR v4学习笔记
最新推荐文章于 2024-05-27 11:04:51 发布
由于毕设会使用到ANTLR这个工具来实现一个关于出租车领域指标计算的语言,所以就开始学习ANTR这个工具,使用的是ANTLR4,做一些简单的翻译和体会的记录吧。 ANTLR是一个强大的语法生成器,你可以使用它来阅读,处理,执行或者翻译结构化的文本或者二进制文件。它在研究和工程中被广泛使用,来建立各种语言、工具和框架。 ANTLR自动为你所描述的语言创建语法树,用来展示输入的语句如何与语法匹配,并
摘要由CSDN通过智能技术生成