定义
抽象语法树是将无意义的字节流转换成具有代码结构的数据结构定义。通过抽象语法树规则,可以一层一层将字节流识别为有意义的Go语言代码。
基础数据结构
元数据类型-token
token是具有独立含义的最小词法单位,简单理解为可识别的最小元数据标记,不可再拆分。
分类
Go语言中的token被分为四类:特殊类型,基础面值描述、运算符、关键字
特殊类型
特殊类型的token只有三种:
ILLEGAL |
错误,所有不能被识别的Token均被识别为ILLEGAL类型 |
EOF |
文件结束 |
COMMENT |
注释 |
基础面值描述
包括Go语言规范定义的所有基础面值类型(整数、浮点数、负数)。此外,还有字符和字符串以及布尔类型对应的“true”和“false”。
运算符
算术运算法 |
加减乘除 |