2 antlr能做什么

2.1、词法分析 Lexical Analysis

 词法分析往往是编译器的首项工作,它的核心工作就是分词,程序是由一个一个单词组成的,这里的单词专业术语称为词法记号,英文就是 Token。在代码中,我们能够识别 if, else, int 等关键字,main, printf, name 这样的标识符,+, -, = 这样的操作符号,还有花括号,圆括号,分号这样的符号,以及数字字面量,字符串字面量等等。这些都是 Token。

2.2、语法分析 Syntactic Analysis

 词法分析结束后,代码(本质上就是字符串)就被分割成Tokens,那么接下来就是进行语法分析,语法分析是在词法分析的基础上识别程序的语法结构,这个结构是一个树状结构,是计算机容易理解和执行的结构。

 

进行语法分析的过程,也就是在构造这一棵树,一个程序就是一棵树,这棵树叫做 抽象语法树AST。树的每一个节点(子树)是一个语法单元,这个单元的构成规则就叫语法,每个节点下面还可以有下级节点。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

独行客-编码爱好者

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

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

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

打赏作者

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

抵扣说明:

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

余额充值