抽象语法树的简单原理

抽象语法树Abstract Syntax TreeAST),或简称语法树Syntax tree),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。

 

 

那么在通常情况下如何生成一颗AST呢?那么就需要用到以下两种工具:

词法分析器lexer)的作用是将字符序列转换为标记token)序列,并将序列作为流输入到语法分析器(parser)中,词法分析器通常不会关心标记之间的关系。

 

语法分析器parser)获取从词法分析器(lexer)获取的单词流,对其进行语法检查、并构建由输入的单词组成的数据结构(一般是语法分析树、抽象语法树等层次化的数据结构)。

 在对parser生成的语法树进行一些信息处理的过程,就能得到一颗语法树啦~在实际情况中我们通常会使用像ANTLR这样的语法解析工具来生成语法树以获取我们想要的信息和代码逻辑关系。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值