Antlr4入门介绍

一、ANTLR概述

ANTLR是一款强大的语法分析器生成工具,可用于读取、处理、执行和翻译结构化的文本或二进制文件。

ANTLR 是用JAVA写的语言识别工具,它用来声明语言的语法,简称为“元语言”。

学习ANTLR书籍: 《ANTLR4权威指南》

一. 术语
语言(language)是由一系列有意义的语句组成,语句(sentence)由词组组成,词组(phrase)是由更小的子词组(subphrase)和词汇符号(vocabulary symbols)组成。

举个例子,英语就是一种语言,“Keep on going never give up.”这句话就是语句,语句是由词组(keep on、give up等)组成,而词组又是由词汇符号(即单词)组成。

解释器(interpreter)是指能够分析计算或者“执行”语句的程序,比如计算器、读取配置文件的程序、python解释器等。

翻译器(translator)是指能够将一门语言的语句转换成另外一门语言的语句的程序,比如普通的编译器和Java到C#的转换器。

现在,想象下我们的大脑是怎么样分析理解 “Keep on going never give up.” 这句话的,答对了,我们并不是一个字符一个字符的去阅读一个句子,而是将句子看作是一系列的单词的集合,我们在识别整个句子的语法结构之前,大脑会先将字符聚集成单词,然后获取每个单词的意义。

将字符聚集成单词或者词汇符号(token)的过程称为词法分析(lexical analysis)或者词法符号化(tokenizing)。把可以将输入文本转换成词法符号(token)的程序称为词法分析器(lexer)。词法符号包含至少两部分信息:词法符号的类型(从而能够通过类型来识别词法结构)和该词法符号对应的文本。

当我们将字符聚集成单词后,大脑就会根据语法规则(比如主谓宾,时态等)去分析语句。

语法(grammar)是一系列规则的集合,每条规则表述出一种词汇结构。而句法(syntax)是指约束语言中的各个组成部分之间关系的规则。能够识别语言的程序称为语法分析器(parser)或者句法分析器(syntax analysis)。而antlr在进行语法分析的时候,还会生成一种名为语法分析树(parse tree)或者句法树(syntax tree)的数据结构,用来记录语法分析器识别出输入语句结构的过程,以及该结构的各组成部分。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

扰扰1994

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值