AST(语法树)基本概念

抽象语法树(AST)是将字节流转化为有意义的代码结构的数据结构。在Go语言中,token作为最小的词法单位,分为特殊类型、基础面值描述、运算符和关键字四类。特殊类型包含三种,基础面值描述涵盖各种基础类型,运算符和关键字则构成了Go语言的语法基础。基本编译单元-fileset用于表示多个文件组成的包。
摘要由CSDN通过智能技术生成

定义

抽象语法树是将无意义的字节流转换成具有代码结构的数据结构定义。通过抽象语法树规则,可以一层一层将字节流识别为有意义的Go语言代码。

基础数据结构

元数据类型-token

token是具有独立含义的最小词法单位,简单理解为可识别的最小元数据标记,不可再拆分。

分类

Go语言中的token被分为四类:特殊类型,基础面值描述、运算符、关键字

特殊类型

特殊类型的token只有三种:

ILLEGAL

错误,所有不能被识别的Token均被识别为ILLEGAL类型

EOF

文件结束

COMMENT

注释

基础面值描述

包括Go语言规范定义的所有基础面值类型(整数、浮点数、负数)。此外,还有字符和字符串以及布尔类型对应的“true”和“false”。

运算符

算术运算法

加减乘除

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值