抽象语法树mysql_抽象语法树简介(ZZ)

本文介绍了抽象语法树(AST)的概念,它是源代码的抽象语法结构的树状表示,不依赖于源语言的语法细节。AST在浏览器、智能编辑器和编译器等领域有广泛应用。通过示例展示了四则运算、XML和程序的AST表示,并解释了为何需要AST——因为它为编译器前后端提供清晰统一的接口,且不依赖于特定文法或语言细节,有利于多语言处理和编译器的维护。
摘要由CSDN通过智能技术生成

转载自:

http://www.cnblogs.com/cxihu/p/5836744.html

(一)简介

抽象语法树(abstract syntax code,AST)是源代码的抽象语法结构的树状表示,树上的每个节点都表示源代码中的一种结构,这所以说是抽象的,是因为抽象语法树并不会表示出真实语法出现的每一个细节,比如说,嵌套括号被隐含在树的结构中,并没有以节点的形式呈现。抽象语法树并不依赖于源语言的语法,也就是说语法分析阶段所采用的上下文无文文法,因为在写文法时,经常会对文法进行等价的转换(消除左递归,回溯,二义性等),这样会给文法分析引入一些多余的成分,对后续阶段造成不利影响,甚至会使合个阶段变得混乱。因些,很多编译器经常要独立地构造语法分析树,为前端,后端建立一个清晰的接口。

抽象语法树在很多领域有广泛的应用,比如浏览器,智能编辑器,编译器。

(二)抽象语法树实例

(1)四则运算表达式

表达式: 1+3*(4-1)+2

抽象语法树为:

5b78cf59f903494f4788aa831e4f4b4d.png

(2)xml

代码2.1:

ShiChuang

12478

Nosic

抽象语法树:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值